Puppet::Type.newtype(:dns_record) do @doc = %q{ } # concat/lib/puppet/type/concat_file.rb ensurable newparam(:zone) do desc "Zone which this record belongs to" isrequired end newparam(:name, :namevar => true) do desc "Hello" end #newparam(:refresh) do # desc "Refreshes" #end newproperty(:type) do desc "DNS Record type, such as A, or TXT" newvalues(:A, :AAAA, :CNAME, :NS) isrequired end newproperty(:key) do desc "DNS Name" isrequired end newproperty(:value) do desc "Record contents, valid value depend on type" isrequired end newproperty(:ttl) do desc "Optional TTL for record" end autonotify(:dns_zone) { parameter(:zone).value } autobefore(:dns_zone) { parameter(:zone).value } autorequire(:dns_zone) { parameter(:zone).value } end