Class: Jets::Cfn::TemplateMappers::IamPolicy::ApplicationPolicyMapper

Inherits:
BasePolicyMapper
  • Object
show all
Defined in:
lib/jets/cfn/template_mappers/iam_policy/application_policy_mapper.rb

Instance Method Summary collapse

Methods inherited from BasePolicyMapper

#classify_name, #namespace, #properties

Constructor Details

#initializeApplicationPolicyMapper

does nothing



11
# File 'lib/jets/cfn/template_mappers/iam_policy/application_policy_mapper.rb', line 11

def initialize; end

Instance Method Details

#iam_policyObject

Assume we always have at least some baseline iam policy permissions.



14
15
16
# File 'lib/jets/cfn/template_mappers/iam_policy/application_policy_mapper.rb', line 14

def iam_policy
  Jets::Cfn::TemplateBuilders::IamPolicy::ApplicationPolicy.new
end

#logical_idObject

Example: PostsControllerLambdaFunction Note there are is no “Show” action in the name



28
29
30
# File 'lib/jets/cfn/template_mappers/iam_policy/application_policy_mapper.rb', line 28

def logical_id
  "IamRole" # very simple logical ideal for the application-wide logical id
end

#managed_iam_policyObject



19
20
21
22
23
# File 'lib/jets/cfn/template_mappers/iam_policy/application_policy_mapper.rb', line 19

def managed_iam_policy
  return unless Jets.config.managed_iam_policy

  Jets::Cfn::TemplateBuilders::ManagedIamPolicy::ApplicationPolicy.new
end

#role_nameObject

There should be namespace in the role_name.



33
34
35
# File 'lib/jets/cfn/template_mappers/iam_policy/application_policy_mapper.rb', line 33

def role_name
  "#{namespace}_application_iam_role".underscore.dasherize
end