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