Class: EcsDeployer::Commander

Inherits:
Object
  • Object
show all
Defined in:
lib/ecs_deployer/commander.rb

Instance Method Summary collapse

Constructor Details

#initialize(cluster_name, options = {}) ⇒ Object

Returns EcsDeployer::Commander.

Parameters:

  • cluster_name (String)
  • options (Hash) (defaults to: {})


9
10
11
12
13
# File 'lib/ecs_deployer/commander.rb', line 9

def initialize(cluster_name, options = {})
  @runtime = RuntimeCommand::Builder.new
  @options = options
  @cluster_name = cluster_name
end

Instance Method Details

#describe_services(service_name) ⇒ Hash

Parameters:

  • service_name (String)

Returns:

  • (Hash)


61
62
63
64
65
66
67
# File 'lib/ecs_deployer/commander.rb', line 61

def describe_services(service_name)
  args = {
    'cluster': @cluster_name,
    'services': service_name
  }
  exec('describe-services', args)
end

#describe_task_definition(task_definition) ⇒ Hash

Parameters:

  • task_definition (String)

Returns:

  • (Hash)


52
53
54
55
56
57
# File 'lib/ecs_deployer/commander.rb', line 52

def describe_task_definition(task_definition)
  args = {
    'task-definition': task_definition
  }
  exec('describe-task-definition', args)
end

#describe_tasks(tasks) ⇒ Hash

Parameters:

  • tasks (Array)

Returns:

  • (Hash)


42
43
44
45
46
47
48
# File 'lib/ecs_deployer/commander.rb', line 42

def describe_tasks(tasks)
  args = {
    'cluster': @cluster_name,
    'tasks': tasks.join(' ')
  }
  exec('describe-tasks', args)
end

#list_tasks(service_name) ⇒ Hash

Parameters:

  • service_name (String)

Returns:

  • (Hash)


31
32
33
34
35
36
37
38
# File 'lib/ecs_deployer/commander.rb', line 31

def list_tasks(service_name)
  args = {
    'cluster': @cluster_name,
    'service-name': service_name,
    'desired-status': 'RUNNING'
  }
  exec('list-tasks', args)
end

#register_task_definition(family_name, container_definitions) ⇒ Hash

Parameters:

  • family_name (String)
  • container_definitions (Hash)

Returns:

  • (Hash)


72
73
74
75
76
77
78
# File 'lib/ecs_deployer/commander.rb', line 72

def register_task_definition(family_name, container_definitions)
  args = {
    'family': family_name,
    'container-definitions': '"' + Oj.dump(container_definitions).gsub('"', '\\"') + '"'
  }
  exec('register-task-definition', args)
end

#update_service(service_name, family_name, revision) ⇒ Hash

Parameters:

  • service_name (String)
  • family_name (String)
  • revision (Fixnum)

Returns:

  • (Hash)


19
20
21
22
23
24
25
26
27
# File 'lib/ecs_deployer/commander.rb', line 19

def update_service(service_name, family_name, revision)
  args = {
    'cluster': @cluster_name,
    'service':  service_name,
    'task-definition': family_name + ':' + revision.to_s
  }

  exec('update-service', args)
end