class EcsDeployCli::DSL::Task

Public Class Methods

new(name, config) click to toggle source
# File lib/ecs_deploy_cli/dsl/task.rb, line 10
def initialize(name, config)
  @config = config
  _options[:family] = name.to_s
end

Public Instance Methods

as_definition(containers) click to toggle source
# File lib/ecs_deploy_cli/dsl/task.rb, line 39
def as_definition(containers)
  {
    container_definitions: containers.values_at(*@containers),
    execution_role_arn: "arn:aws:iam::#{@config[:aws_profile_id]}:role/ecsTaskExecutionRole",
    requires_compatibilities: ['EC2'],
    placement_constraints: [],
    cpu: @cpu,
    memory: @memory,
    volumes: [],
    network_mode: nil
  }.merge(_options)
end
containers(*containers) click to toggle source
# File lib/ecs_deploy_cli/dsl/task.rb, line 15
def containers(*containers)
  @containers = containers
end
cpu(value) click to toggle source
# File lib/ecs_deploy_cli/dsl/task.rb, line 19
def cpu(value)
  @cpu = value.to_s
end
execution_role(name) click to toggle source
# File lib/ecs_deploy_cli/dsl/task.rb, line 35
def execution_role(name)
  _options[:execution_role_arn] = "arn:aws:iam::#{@config[:aws_profile_id]}:role/#{name}"
end
memory(value) click to toggle source
# File lib/ecs_deploy_cli/dsl/task.rb, line 23
def memory(value)
  @memory = value.to_s
end
tag(key, value) click to toggle source
# File lib/ecs_deploy_cli/dsl/task.rb, line 27
def tag(key, value)
  (_options[:tags] ||= []) << { key: key, value: value }
end
volume(value) click to toggle source
# File lib/ecs_deploy_cli/dsl/task.rb, line 31
def volume(value)
  (_options[:volumes] ||= []) << value
end