class EcsCmd::TaskDefinition

Public Class Methods

new(task_definition, region) click to toggle source
# File lib/ecs_cmd/task_definition.rb, line 7
def initialize(task_definition, region)
  @client = Aws::ECS::Client.new(region: region)
  @task_def = @client.describe_task_definition(task_definition: task_definition)[0]
end

Public Instance Methods

container_definitions() click to toggle source
# File lib/ecs_cmd/task_definition.rb, line 13
def container_definitions
  @task_def['container_definitions']
end
execution_role_arn() click to toggle source
# File lib/ecs_cmd/task_definition.rb, line 47
def execution_role_arn
  @task_def['execution_role_arn'] || ''
end
family() click to toggle source
# File lib/ecs_cmd/task_definition.rb, line 23
def family
  @task_def['family']
end
hash() click to toggle source
# File lib/ecs_cmd/task_definition.rb, line 35
def hash
  @task_def.to_hash
end
images() click to toggle source
# File lib/ecs_cmd/task_definition.rb, line 17
def images
  self.container_definitions.each do |e|
    puts e['image']
  end
end
json() click to toggle source
# File lib/ecs_cmd/task_definition.rb, line 39
def json
  hash.to_json
end
print_json() click to toggle source
register_task_definition(family, container_definitions, volumes, task_role_arn) click to toggle source
# File lib/ecs_cmd/task_definition.rb, line 64
def register_task_definition(family, container_definitions, volumes, task_role_arn)
  @client.register_task_definition(family: family, container_definitions: container_definitions, volumes: volumes,
                                   task_role_arn: task_role_arn, execution_role_arn: execution_role_arn)
end
revision() click to toggle source
# File lib/ecs_cmd/task_definition.rb, line 27
def revision
  @task_def['revision']
end
task_role_arn() click to toggle source
# File lib/ecs_cmd/task_definition.rb, line 43
def task_role_arn
  @task_def['task_role_arn']
end
update_image(image) click to toggle source
# File lib/ecs_cmd/task_definition.rb, line 51
def update_image(image)
  @new_task_def = @task_def.to_hash
  @new_task_def[:container_definitions].each do |e, i=image|
    if Utils.parse_image_name(e[:image]) == Utils.parse_image_name(i)
      e[:image] = image
    end
  end
  @new_task_def
  resp = register_task_definition(@new_task_def[:family], @new_task_def[:container_definitions],
                                  @new_task_def[:volumes], @new_task_def[:task_role_arn])
  resp.task_definition.task_definition_arn
end
volumes() click to toggle source
# File lib/ecs_cmd/task_definition.rb, line 31
def volumes
  @task_def['volumes']
end