Class: Jets::Resource::Iam::FunctionRole

Inherits:
Base
  • Object
show all
Includes:
BaseRoleDefinition
Defined in:
lib/jets/resource/iam/function_role.rb

Instance Method Summary collapse

Methods included from BaseRoleDefinition

#definition, #managed_policy_arns, #policy_document

Methods inherited from Base

#resource

Constructor Details

#initialize(task) ⇒ FunctionRole

Returns a new instance of FunctionRole.



5
6
7
8
9
# File 'lib/jets/resource/iam/function_role.rb', line 5

def initialize(task)
  @task = task
  @policy_definitions = task.iam_policy || [] # iam_policy contains policy definitions
  @managed_policy_definitions = task.managed_iam_policy || [] # managed_iam_policy contains policy definitions
end

Instance Method Details

#replacementsObject



20
21
22
23
24
# File 'lib/jets/resource/iam/function_role.rb', line 20

def replacements
  {
    namespace: "#{@task.class_name.gsub('::','')}#{@task.meth.to_s.camelize}", # camelized because can be used as value
  }
end

#role_logical_idObject



11
12
13
# File 'lib/jets/resource/iam/function_role.rb', line 11

def role_logical_id
  "{namespace}_iam_role".underscore
end

#role_nameObject



15
16
17
18
# File 'lib/jets/resource/iam/function_role.rb', line 15

def role_name
  funcion_namespace = replacements[:namespace].underscore.dasherize
  "#{Jets.config.project_namespace}-#{funcion_namespace}-role" # camelized because used as template value
end