lib/miam/dsl/context/role.rb in miam-0.2.1.beta vs lib/miam/dsl/context/role.rb in miam-0.2.1.beta2

- old
+ new

@@ -1,9 +1,9 @@ class Miam::DSL::Context::Role def initialize(name, &block) @role_name = name - @result = {:instance_profiles => [], :policies => {}} + @result = {:instance_profiles => [], :policies => {}, :attached_managed_policies => []} instance_eval(&block) end def result unless @result[:assume_role_policy_document] @@ -14,11 +14,11 @@ end private def instance_profiles(*profiles) - @result[:instance_profiles].concat(profiles.map {|i| i.to_s }) + @result[:instance_profiles].concat(profiles.map(&:to_s)) end def assume_role_policy_document if @result[:assume_role_policy_document] raise "Role `#{@role_name}` > AssumeRolePolicyDocument: already defined" @@ -45,7 +45,11 @@ unless policy_document.kind_of?(Hash) raise "Role `#{@role_name}` > Policy `#{name}`: wrong argument type #{policy_document.class} (expected Hash)" end @result[:policies][name] = policy_document + end + + def attached_managed_policies(*policies) + @result[:attached_managed_policies].concat(policies.map(&:to_s)) end end