Puppet::Type.newtype(:rabbitmq_exchange) do
- desc <<-DESC
-Native type for managing rabbitmq exchanges
-
-@example Create a rabbitmq_exchange
- rabbitmq_exchange { 'myexchange@myvhost':
- user => 'dan',
- password => 'bar',
- type => 'topic',
- ensure => present,
- internal => false,
- auto_delete => false,
- durable => true,
- arguments => {
- hash-header => 'message-distribution-hash'
- }
- }
-DESC
+ desc 'Native type for managing rabbitmq exchanges'
ensurable do
defaultto(:present)
end
end
- newparam(:name, namevar: true) do
+ newparam(:name, :namevar => true) do
desc 'Name of exchange'
- newvalues(%r{^\S*@\S+$})
+ newvalues(/^\S*@\S+$/)
end
newparam(:type) do
desc 'Exchange type to be set *on creation*'
- newvalues(%r{^\S+$})
+ newvalues(/^\S+$/)
end
newparam(:durable) do
desc 'Exchange durability to be set *on creation*'
- newvalues(%r{^\S+$})
- defaultto 'false'
+ newvalues(/^\S+$/)
end
newparam(:auto_delete) do
desc 'Exchange auto delete option to be set *on creation*'
- newvalues(%r{^\S+$})
- defaultto 'false'
+ newvalues(/^\S+$/)
end
newparam(:internal) do
desc 'Exchange internal option to be set *on creation*'
- newvalues(%r{^\S+$})
- defaultto 'false'
+ newvalues(/^\S+$/)
end
newparam(:arguments) do
newparam(:user) do
desc 'The user to use to connect to rabbitmq'
defaultto('guest')
- newvalues(%r{^\S+$})
+ newvalues(/^\S+$/)
end
newparam(:password) do
desc 'The password to use to connect to rabbitmq'
defaultto('guest')
- newvalues(%r{\S+})
+ newvalues(/\S+/)
end
validate do
- if self[:ensure] == :present && self[:type].nil?
+ if self[:ensure] == :present and self[:type].nil?
raise ArgumentError, "must set type when creating exchange for #{self[:name]} whose type is #{self[:type]}"
end
end
autorequire(:rabbitmq_user_permissions) do
["#{self[:user]}@#{self[:name].split('@')[1]}"]
end
+
end