Class: Jets::Cfn::TemplateMappers::IamPolicy::BasePolicyMapper

Inherits:
Object
  • Object
show all
Extended by:
Memoist
Defined in:
lib/jets/cfn/template_mappers/iam_policy/base_policy_mapper.rb

Instance Method Summary collapse

Instance Method Details

#classify_name(text) ⇒ Object

Need to underscore and then classify again for this case:

Jets::PreheatJob_policy => JetsPreheatJobPolicy

Or else you we get this:

Jets::PreheatJob_policy => JetsPreheatjobPolicy


45
46
47
# File 'lib/jets/cfn/template_mappers/iam_policy/base_policy_mapper.rb', line 45

def classify_name(text)
  text.gsub('::','_').underscore.classify
end

#namespaceObject



37
38
39
# File 'lib/jets/cfn/template_mappers/iam_policy/base_policy_mapper.rb', line 37

def namespace
  Jets.config.project_namespace.underscore
end

#propertiesObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/jets/cfn/template_mappers/iam_policy/base_policy_mapper.rb', line 13

def properties
  properties = {
    AssumeRolePolicyDocument: {
      Version: "2012-10-17",
      Statement: [{
        Effect: "Allow",
        Principal: {Service: ["lambda.amazonaws.com"]},
        Action: ["sts:AssumeRole"]}
      ]},
    Path: "/"
  }

  properties[:Policies] = [
    PolicyName: iam_policy.policy_name,
    PolicyDocument: iam_policy.policy_document,
  ] if iam_policy

  properties[:ManagedPolicyArns] = managed_iam_policy.arns if managed_iam_policy

  properties[:RoleName] = role_name
  properties.deep_stringify_keys!
  properties
end