class Mikoshi::Plan::TaskDefinition

Public Class Methods

new(yaml_path: nil, client: nil) click to toggle source
Calls superclass method Mikoshi::Plan::Base::new
# File lib/mikoshi/plan/task_definition.rb, line 8
def initialize(yaml_path: nil, client: nil)
  super
end

Public Instance Methods

register_task_definition() click to toggle source
# File lib/mikoshi/plan/task_definition.rb, line 12
def register_task_definition
  invoke_before_register_hooks

  resp = @client.register_task_definition(@data[:task_definition])
  ENV['TASK_DEF_REVISION'] = resp.task_definition.revision.to_s

  invoke_after_register_hooks

  resp
rescue StandardError => e
  invoke_failed_hooks
  raise e
end
runtask(cluster: nil) click to toggle source
# File lib/mikoshi/plan/task_definition.rb, line 26
def runtask(cluster: nil)
  raise ArgumentError, 'cluster name is required.' if cluster.nil?

  resp = @client.register_task_definition(@data[:task_definition])
  @client.run_task(task_definition: resp[:task_definition][:task_definition_arn], cluster: cluster)
end

Private Instance Methods

invoke_failed_hooks() click to toggle source
# File lib/mikoshi/plan/task_definition.rb, line 40
def invoke_failed_hooks
  invoke_hooks(@data[:hooks][:failed]) unless @data.dig(:hooks, :failed).nil?
end