lib/miam/dsl/context.rb in miam-0.2.2 vs lib/miam/dsl/context.rb in miam-0.2.3.beta

- old
+ new

@@ -10,11 +10,11 @@ attr_reader :result def initialize(path, options = {}, &block) @path = path @options = options - @result = {:users => {}, :groups => {}, :roles => {}, :instance_profiles => {}} + @result = {:users => {}, :groups => {}, :roles => {}, :instance_profiles => {}, :policies => {}} @context = Hashie::Mash.new( :path => path, :options => options, :templates => {} @@ -80,7 +80,18 @@ if @result[:instance_profiles][name] raise "instance_profile `#{name}` is already defined" end @result[:instance_profiles][name] = instance_profile_options + end + + def managed_policy(name, policy_options = {}, &block) + name = name.to_s + + if @result[:policies][name] + raise "ManagedPolicy `#{name}` is already defined" + end + + attrs = Miam::DSL::Context::ManagedPolicy.new(@context, name, &block).result + @result[:policies][name] = policy_options.merge(attrs) end end