Module: Jets::Resource::Iam::BaseRoleDefinition
- Included in:
- ApplicationRole, ClassRole, FunctionRole
- Defined in:
- lib/jets/resource/iam/base_role_definition.rb
Instance Attribute Summary collapse
-
#managed_policy_definitions ⇒ Object
readonly
Returns the value of attribute managed_policy_definitions.
-
#policy_definitions ⇒ Object
readonly
Returns the value of attribute policy_definitions.
Instance Method Summary collapse
Instance Attribute Details
#managed_policy_definitions ⇒ Object (readonly)
Returns the value of attribute managed_policy_definitions.
3 4 5 |
# File 'lib/jets/resource/iam/base_role_definition.rb', line 3 def managed_policy_definitions @managed_policy_definitions end |
#policy_definitions ⇒ Object (readonly)
Returns the value of attribute policy_definitions.
3 4 5 |
# File 'lib/jets/resource/iam/base_role_definition.rb', line 3 def policy_definitions @policy_definitions end |
Instance Method Details
#definition ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/jets/resource/iam/base_role_definition.rb', line 5 def definition logical_id = role_logical_id definition = { logical_id => { type: "AWS::IAM::Role", properties: { role_name: role_name, path: "/", assume_role_policy_document: { version: "2012-10-17", statement: [{ effect: "Allow", principal: {service: ["lambda.amazonaws.com"]}, action: ["sts:AssumeRole"]} ] } } } } definition[logical_id][:properties][:policies] = [ policy_name: "#{role_name}-policy", policy_document: policy_document, ] unless policy_document['Statement'].empty? unless managed_policy_arns.empty? definition[logical_id][:properties][:managed_policy_arns] = managed_policy_arns end definition end |
#managed_policy_arns ⇒ Object
42 43 44 |
# File 'lib/jets/resource/iam/base_role_definition.rb', line 42 def managed_policy_arns ManagedPolicy.new(@managed_policy_definitions.flatten.uniq).arns end |
#policy_document ⇒ Object
38 39 40 |
# File 'lib/jets/resource/iam/base_role_definition.rb', line 38 def policy_document PolicyDocument.new(@policy_definitions.flatten.uniq).policy_document end |