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