summaryrefslogtreecommitdiff
path: root/manifests/record.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/record.pp')
-rw-r--r--manifests/record.pp35
1 files changed, 35 insertions, 0 deletions
diff --git a/manifests/record.pp b/manifests/record.pp
new file mode 100644
index 0000000..d551d60
--- /dev/null
+++ b/manifests/record.pp
@@ -0,0 +1,35 @@
+/*
+
+= Definition: bind::record
+Helper to create any record you want (but NOT MX, please refer to Bind::Mx)
+
+Arguments:
+ *$zone*: Bind::Zone name
+ *$owner*: owner of the Resource Record
+ *$host*: target of the Resource Record
+ *$record_type°: resource record type
+ *$record_class*: resource record class. Default "IN".
+ *$ttl*: Time to Live for the Resource Record. Optional.
+
+*/
+define bind::record($ensure=present,
+ $zone,
+ $owner=false,
+ $host,
+ $record_type,
+ $record_class='IN',
+ $ttl=false) {
+
+ if $owner {
+ $_owner = $owner
+ } else {
+ $_owner = $name
+ }
+
+ common::concatfilepart {"${zone}.${record_type}.${name}":
+ ensure => $ensure,
+ file => "/etc/bind/pri/${zone}.conf",
+ content => template("bind/default-record.erb"),
+ notify => Service["bind9"],
+ }
+}