Class: Wrapbox::Runner::Ecs::Cli

Inherits:
Thor
  • Object
show all
Defined in:
lib/wrapbox/runner/ecs.rb

Instance Method Summary collapse

Instance Method Details

#run_cmd(*args) ⇒ Object



514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
# File 'lib/wrapbox/runner/ecs.rb', line 514

def run_cmd(*args)
  Wrapbox.load_config(options[:config])
  config = Wrapbox.configs[options[:config_name]]
  environments = options[:environments].to_s.split(/,\s*/).map { |kv| kv.split("=") }.map do |k, v|
    {name: k, value: v}
  end
  run_options = {
    cluster: options[:cluster],
    task_role_arn: options[:task_role_arn],
    timeout: options[:timeout],
    launch_type: options[:launch_type],
    launch_timeout: options[:launch_timeout],
    launch_retry: options[:launch_retry],
    execution_retry: options[:execution_retry],
    max_retry_interval: options[:max_retry_interval],
    ignore_signal: options[:ignore_signal],
  }.reject { |_, v| v.nil? }
  if options[:cpu] || options[:memory]
    container_definition_overrides = {cpu: options[:cpu], memory: options[:memory]}.reject { |_, v| v.nil? }
  else
    container_definition_overrides = {}
  end
  unless config.run_cmd(args, runner: "ecs", environments: environments, container_definition_overrides: container_definition_overrides, **run_options)
    exit 1
  end
end