Class: Ufo::Stack::Builder::Resources::Roles::Base

Inherits:
Base
  • Object
show all
Defined in:
lib/ufo/stack/builder/resources/roles/base.rb

Direct Known Subclasses

ExecutionRole, TaskRole

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

build, #copy_instance_variables, #initialize, #managed_security_group, #managed_security_groups?, #security_groups

Methods included from Ufo::Settings

#cfn, #network, #settings

Constructor Details

This class inherits a constructor from Ufo::Stack::Builder::Base

Class Method Details

.build?Boolean

Returns:

  • (Boolean)


14
15
16
17
18
19
# File 'lib/ufo/stack/builder/resources/roles/base.rb', line 14

def build?
  path = "#{Ufo.root}/.ufo/iam_roles/#{role_type}.rb"
  return unless File.exist?(path)
  Ufo::Role::DSL.new(path).evaluate # runs the role.rb and registers items
  Ufo::Role::Builder.new(role_type).build?
end

.role_typeObject



10
11
12
# File 'lib/ufo/stack/builder/resources/roles/base.rb', line 10

def role_type
  self.name.to_s.split("::").last.underscore
end

Instance Method Details

#buildObject



3
4
5
6
# File 'lib/ufo/stack/builder/resources/roles/base.rb', line 3

def build
  return unless self.class.build? # important because it runs DSL#evaluate
  Ufo::Role::Builder.new(self.class.role_type).build
end