Class: EcsCmd::TaskDefinition
- Inherits:
-
Object
- Object
- EcsCmd::TaskDefinition
- Defined in:
- lib/ecs_cmd/task_definition.rb
Instance Method Summary collapse
- #container_definitions ⇒ Object
- #execution_role_arn ⇒ Object
- #family ⇒ Object
- #hash ⇒ Object
- #images ⇒ Object
-
#initialize(task_definition, region) ⇒ TaskDefinition
constructor
A new instance of TaskDefinition.
- #json ⇒ Object
- #print_json ⇒ Object
- #register_task_definition(family, container_definitions, volumes, task_role_arn) ⇒ Object
- #revision ⇒ Object
- #task_role_arn ⇒ Object
- #update_image(image) ⇒ Object
- #volumes ⇒ Object
Constructor Details
#initialize(task_definition, region) ⇒ TaskDefinition
Returns a new instance of TaskDefinition.
7 8 9 10 |
# 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 |
Instance Method Details
#container_definitions ⇒ Object
13 14 15 |
# File 'lib/ecs_cmd/task_definition.rb', line 13 def container_definitions @task_def['container_definitions'] end |
#execution_role_arn ⇒ Object
47 48 49 |
# File 'lib/ecs_cmd/task_definition.rb', line 47 def execution_role_arn @task_def['execution_role_arn'] || '' end |
#family ⇒ Object
23 24 25 |
# File 'lib/ecs_cmd/task_definition.rb', line 23 def family @task_def['family'] end |
#hash ⇒ Object
35 36 37 |
# File 'lib/ecs_cmd/task_definition.rb', line 35 def hash @task_def.to_hash end |
#images ⇒ Object
17 18 19 20 21 |
# File 'lib/ecs_cmd/task_definition.rb', line 17 def images self.container_definitions.each do |e| puts e['image'] end end |
#json ⇒ Object
39 40 41 |
# File 'lib/ecs_cmd/task_definition.rb', line 39 def json hash.to_json end |
#print_json ⇒ Object
69 70 71 |
# File 'lib/ecs_cmd/task_definition.rb', line 69 def print_json puts JSON.pretty_generate(JSON[json]) end |
#register_task_definition(family, container_definitions, volumes, task_role_arn) ⇒ Object
64 65 66 67 |
# 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 ⇒ Object
27 28 29 |
# File 'lib/ecs_cmd/task_definition.rb', line 27 def revision @task_def['revision'] end |
#task_role_arn ⇒ Object
43 44 45 |
# File 'lib/ecs_cmd/task_definition.rb', line 43 def task_role_arn @task_def['task_role_arn'] end |
#update_image(image) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 |
# 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 ⇒ Object
31 32 33 |
# File 'lib/ecs_cmd/task_definition.rb', line 31 def volumes @task_def['volumes'] end |