Class: Bora

Inherits:
Object
  • Object
show all
Defined in:
lib/bora.rb,
lib/bora/cli.rb,
lib/bora/stack.rb,
lib/bora/tasks.rb,
lib/bora/version.rb,
lib/bora/template.rb,
lib/bora/cfn/event.rb,
lib/bora/cfn/stack.rb,
lib/bora/cfn/output.rb,
lib/bora/cfn/status.rb,
lib/bora/stack_tasks.rb,
lib/bora/resolver/cfn.rb,
lib/bora/cfn/stack_status.rb,
lib/bora/parameter_resolver.rb,
lib/bora/resolver/credstash.rb,
lib/bora/resolver/hostedzone.rb,
lib/bora/parameter_resolver_loader.rb

Defined Under Namespace

Modules: Cfn, Resolver Classes: Cli, ParameterResolver, ParameterResolverLoader, Stack, StackTasks, Tasks, Template

Constant Summary collapse

DEFAULT_CONFIG_FILE =
"bora.yml"
INHERITABLE_PROPERTIES =
["default_region"]
VERSION =
"1.1.0"

Instance Method Summary collapse

Constructor Details

#initialize(config_file_or_hash: DEFAULT_CONFIG_FILE, override_config: {}, colorize: true) ⇒ Bora

Returns a new instance of Bora.



11
12
13
14
15
16
17
18
19
20
# File 'lib/bora.rb', line 11

def initialize(config_file_or_hash: DEFAULT_CONFIG_FILE, override_config: {}, colorize: true)
  @templates = {}
  config = load_config(config_file_or_hash)
  String.disable_colorization = !colorize
  raise "No templates defined" if !config['templates']
  config['templates'].each do |template_name, template_config|
    resolved_config = resolve_template_config(config, template_config, override_config)
    @templates[template_name] = Template.new(template_name, resolved_config, override_config)
  end
end

Instance Method Details

#rake_tasksObject



35
36
37
# File 'lib/bora.rb', line 35

def rake_tasks
  @templates.each { |_, t| t.rake_tasks }
end

#stack(stack_name) ⇒ Object



30
31
32
33
# File 'lib/bora.rb', line 30

def stack(stack_name)
  t = @templates.find { |_, template| template.stack(stack_name) != nil }
  t ? t[1].stack(stack_name) : nil
end

#template(name) ⇒ Object



22
23
24
# File 'lib/bora.rb', line 22

def template(name)
  @templates[name]
end

#templatesObject



26
27
28
# File 'lib/bora.rb', line 26

def templates
  @templates.values
end