aws-sdk-ecs 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 266de5e3fe89f5db3957994be0b33f4945ae1d3d
4
- data.tar.gz: c44eee17f8cfbd131875112d3c4f75b60b52f3a6
3
+ metadata.gz: a5b990642861292ca61daa4caeec47a6fcc0056f
4
+ data.tar.gz: 104105c04fa2101379ebff3340da38329691b74a
5
5
  SHA512:
6
- metadata.gz: e186a2bf1333bdfe35d76e6d578d0ce81776db83b46b7d60369aa6a5c1467175ae72e1f9bd7bca48a6b62ec92d8eb9cd9f85ea2227220e58ca6effd34ba170da
7
- data.tar.gz: b578e6361b4a69a61262a92025e18e009ebd899bf7917014d872ebf0ab0f423f77d6d533cd427131eaa98a14fef4c5edc12a2f0580a4a4f2c01e93279ff90931
6
+ metadata.gz: c2fd09cfef3b5c6981643eb2241cbbd0689cd8500fbe914c654be7d4ee7288aacfba8f144ee0cb90530e78b1616901d5a8e8c761ce38b1a2a49de6a024842fbf
7
+ data.tar.gz: 2c530010d562f9b5bcd772d1a134097b19a9e39e0cdf5e6c5d6a2ed7972b12aa2ce221d1e566a61343d4b138cd90814815501f0df5ed3496cc58a25a70f4e2a8
@@ -43,6 +43,6 @@ require_relative 'aws-sdk-ecs/customizations'
43
43
  # @service
44
44
  module Aws::ECS
45
45
 
46
- GEM_VERSION = '1.3.0'
46
+ GEM_VERSION = '1.4.0'
47
47
 
48
48
  end
@@ -160,6 +160,20 @@ module Aws::ECS
160
160
  # However, you can create your own cluster with a unique name with the
161
161
  # `CreateCluster` action.
162
162
  #
163
+ # <note markdown="1"> When you call the CreateCluster API operation, Amazon ECS attempts to
164
+ # create the service-linked role for your account so that required
165
+ # resources in other AWS services can be managed on your behalf.
166
+ # However, if the IAM user that makes the call does not have permissions
167
+ # to create the service-linked role, it is not created. For more
168
+ # information, see [Using Service-Linked Roles for Amazon ECS][1] in the
169
+ # *Amazon EC2 Container Service Developer Guide*.
170
+ #
171
+ # </note>
172
+ #
173
+ #
174
+ #
175
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguideusing-service-linked-roles.html
176
+ #
163
177
  # @option params [String] :cluster_name
164
178
  # The name of your cluster. If you do not specify a name for your
165
179
  # cluster, you create a cluster named `default`. Up to 255 letters
@@ -334,20 +348,30 @@ module Aws::ECS
334
348
  # @option params [String] :role
335
349
  # The name or full Amazon Resource Name (ARN) of the IAM role that
336
350
  # allows Amazon ECS to make calls to your load balancer on your behalf.
337
- # This parameter is required if you are using a load balancer with your
338
- # service. If you specify the `role` parameter, you must also specify a
339
- # load balancer object with the `loadBalancers` parameter.
351
+ # This parameter is only permitted if you are using a load balancer with
352
+ # your service and your task definition does not use the `awsvpc`
353
+ # network mode. If you specify the `role` parameter, you must also
354
+ # specify a load balancer object with the `loadBalancers` parameter.
355
+ #
356
+ # If your account has already created the Amazon ECS service-linked
357
+ # role, that role is used by default for your service unless you specify
358
+ # a role here. The service-linked role is required if your task
359
+ # definition uses the `awsvpc` network mode, in which case you should
360
+ # not specify a role here. For more information, see [Using
361
+ # Service-Linked Roles for Amazon ECS][1] in the *Amazon EC2 Container
362
+ # Service Developer Guide*.
340
363
  #
341
364
  # If your specified role has a path other than `/`, then you must either
342
365
  # specify the full role ARN (this is recommended) or prefix the role
343
366
  # name with the path. For example, if a role with the name `bar` has a
344
367
  # path of `/foo/` then you would specify `/foo/bar` as the role name.
345
- # For more information, see [Friendly Names and Paths][1] in the *IAM
368
+ # For more information, see [Friendly Names and Paths][2] in the *IAM
346
369
  # User Guide*.
347
370
  #
348
371
  #
349
372
  #
350
- # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names
373
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguideusing-service-linked-roles.html
374
+ # [2]: http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names
351
375
  #
352
376
  # @option params [Types::DeploymentConfiguration] :deployment_configuration
353
377
  # Optional deployment parameters that control how many tasks run during
@@ -363,6 +387,17 @@ module Aws::ECS
363
387
  # The placement strategy objects to use for tasks in your service. You
364
388
  # can specify a maximum of 5 strategy rules per service.
365
389
  #
390
+ # @option params [Types::NetworkConfiguration] :network_configuration
391
+ # The network configuration for the service. This parameter is required
392
+ # for task definitions that use the `awsvpc` network mode to receive
393
+ # their own Elastic Network Interface, and it is not supported for other
394
+ # network modes. For more information, see [Task Networking][1] in the
395
+ # *Amazon EC2 Container Service Developer Guide*.
396
+ #
397
+ #
398
+ #
399
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguidetask-networking.html
400
+ #
366
401
  # @return [Types::CreateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
367
402
  #
368
403
  # * {Types::CreateServiceResponse#service #service} => Types::Service
@@ -518,6 +553,12 @@ module Aws::ECS
518
553
  # field: "String",
519
554
  # },
520
555
  # ],
556
+ # network_configuration: {
557
+ # awsvpc_configuration: {
558
+ # subnets: ["String"], # required
559
+ # security_groups: ["String"],
560
+ # },
561
+ # },
521
562
  # })
522
563
  #
523
564
  # @example Response structure
@@ -546,6 +587,10 @@ module Aws::ECS
546
587
  # resp.service.deployments[0].running_count #=> Integer
547
588
  # resp.service.deployments[0].created_at #=> Time
548
589
  # resp.service.deployments[0].updated_at #=> Time
590
+ # resp.service.deployments[0].network_configuration.awsvpc_configuration.subnets #=> Array
591
+ # resp.service.deployments[0].network_configuration.awsvpc_configuration.subnets[0] #=> String
592
+ # resp.service.deployments[0].network_configuration.awsvpc_configuration.security_groups #=> Array
593
+ # resp.service.deployments[0].network_configuration.awsvpc_configuration.security_groups[0] #=> String
549
594
  # resp.service.role_arn #=> String
550
595
  # resp.service.events #=> Array
551
596
  # resp.service.events[0].id #=> String
@@ -558,6 +603,10 @@ module Aws::ECS
558
603
  # resp.service.placement_strategy #=> Array
559
604
  # resp.service.placement_strategy[0].type #=> String, one of "random", "spread", "binpack"
560
605
  # resp.service.placement_strategy[0].field #=> String
606
+ # resp.service.network_configuration.awsvpc_configuration.subnets #=> Array
607
+ # resp.service.network_configuration.awsvpc_configuration.subnets[0] #=> String
608
+ # resp.service.network_configuration.awsvpc_configuration.security_groups #=> Array
609
+ # resp.service.network_configuration.awsvpc_configuration.security_groups[0] #=> String
561
610
  #
562
611
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService AWS API Documentation
563
612
  #
@@ -754,6 +803,10 @@ module Aws::ECS
754
803
  # resp.service.deployments[0].running_count #=> Integer
755
804
  # resp.service.deployments[0].created_at #=> Time
756
805
  # resp.service.deployments[0].updated_at #=> Time
806
+ # resp.service.deployments[0].network_configuration.awsvpc_configuration.subnets #=> Array
807
+ # resp.service.deployments[0].network_configuration.awsvpc_configuration.subnets[0] #=> String
808
+ # resp.service.deployments[0].network_configuration.awsvpc_configuration.security_groups #=> Array
809
+ # resp.service.deployments[0].network_configuration.awsvpc_configuration.security_groups[0] #=> String
757
810
  # resp.service.role_arn #=> String
758
811
  # resp.service.events #=> Array
759
812
  # resp.service.events[0].id #=> String
@@ -766,6 +819,10 @@ module Aws::ECS
766
819
  # resp.service.placement_strategy #=> Array
767
820
  # resp.service.placement_strategy[0].type #=> String, one of "random", "spread", "binpack"
768
821
  # resp.service.placement_strategy[0].field #=> String
822
+ # resp.service.network_configuration.awsvpc_configuration.subnets #=> Array
823
+ # resp.service.network_configuration.awsvpc_configuration.subnets[0] #=> String
824
+ # resp.service.network_configuration.awsvpc_configuration.security_groups #=> Array
825
+ # resp.service.network_configuration.awsvpc_configuration.security_groups[0] #=> String
769
826
  #
770
827
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService AWS API Documentation
771
828
  #
@@ -888,6 +945,13 @@ module Aws::ECS
888
945
  # resp.container_instance.attributes[0].target_type #=> String, one of "container-instance"
889
946
  # resp.container_instance.attributes[0].target_id #=> String
890
947
  # resp.container_instance.registered_at #=> Time
948
+ # resp.container_instance.attachments #=> Array
949
+ # resp.container_instance.attachments[0].id #=> String
950
+ # resp.container_instance.attachments[0].type #=> String
951
+ # resp.container_instance.attachments[0].status #=> String
952
+ # resp.container_instance.attachments[0].details #=> Array
953
+ # resp.container_instance.attachments[0].details[0].name #=> String
954
+ # resp.container_instance.attachments[0].details[0].value #=> String
891
955
  #
892
956
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance AWS API Documentation
893
957
  #
@@ -999,7 +1063,7 @@ module Aws::ECS
999
1063
  # resp.task_definition.container_definitions[0].log_configuration.options["String"] #=> String
1000
1064
  # resp.task_definition.family #=> String
1001
1065
  # resp.task_definition.task_role_arn #=> String
1002
- # resp.task_definition.network_mode #=> String, one of "bridge", "host", "none"
1066
+ # resp.task_definition.network_mode #=> String, one of "bridge", "host", "awsvpc", "none"
1003
1067
  # resp.task_definition.revision #=> Integer
1004
1068
  # resp.task_definition.volumes #=> Array
1005
1069
  # resp.task_definition.volumes[0].name #=> String
@@ -1237,6 +1301,13 @@ module Aws::ECS
1237
1301
  # resp.container_instances[0].attributes[0].target_type #=> String, one of "container-instance"
1238
1302
  # resp.container_instances[0].attributes[0].target_id #=> String
1239
1303
  # resp.container_instances[0].registered_at #=> Time
1304
+ # resp.container_instances[0].attachments #=> Array
1305
+ # resp.container_instances[0].attachments[0].id #=> String
1306
+ # resp.container_instances[0].attachments[0].type #=> String
1307
+ # resp.container_instances[0].attachments[0].status #=> String
1308
+ # resp.container_instances[0].attachments[0].details #=> Array
1309
+ # resp.container_instances[0].attachments[0].details[0].name #=> String
1310
+ # resp.container_instances[0].attachments[0].details[0].value #=> String
1240
1311
  # resp.failures #=> Array
1241
1312
  # resp.failures[0].arn #=> String
1242
1313
  # resp.failures[0].reason #=> String
@@ -1355,6 +1426,10 @@ module Aws::ECS
1355
1426
  # resp.services[0].deployments[0].running_count #=> Integer
1356
1427
  # resp.services[0].deployments[0].created_at #=> Time
1357
1428
  # resp.services[0].deployments[0].updated_at #=> Time
1429
+ # resp.services[0].deployments[0].network_configuration.awsvpc_configuration.subnets #=> Array
1430
+ # resp.services[0].deployments[0].network_configuration.awsvpc_configuration.subnets[0] #=> String
1431
+ # resp.services[0].deployments[0].network_configuration.awsvpc_configuration.security_groups #=> Array
1432
+ # resp.services[0].deployments[0].network_configuration.awsvpc_configuration.security_groups[0] #=> String
1358
1433
  # resp.services[0].role_arn #=> String
1359
1434
  # resp.services[0].events #=> Array
1360
1435
  # resp.services[0].events[0].id #=> String
@@ -1367,6 +1442,10 @@ module Aws::ECS
1367
1442
  # resp.services[0].placement_strategy #=> Array
1368
1443
  # resp.services[0].placement_strategy[0].type #=> String, one of "random", "spread", "binpack"
1369
1444
  # resp.services[0].placement_strategy[0].field #=> String
1445
+ # resp.services[0].network_configuration.awsvpc_configuration.subnets #=> Array
1446
+ # resp.services[0].network_configuration.awsvpc_configuration.subnets[0] #=> String
1447
+ # resp.services[0].network_configuration.awsvpc_configuration.security_groups #=> Array
1448
+ # resp.services[0].network_configuration.awsvpc_configuration.security_groups[0] #=> String
1370
1449
  # resp.failures #=> Array
1371
1450
  # resp.failures[0].arn #=> String
1372
1451
  # resp.failures[0].reason #=> String
@@ -1534,7 +1613,7 @@ module Aws::ECS
1534
1613
  # resp.task_definition.container_definitions[0].log_configuration.options["String"] #=> String
1535
1614
  # resp.task_definition.family #=> String
1536
1615
  # resp.task_definition.task_role_arn #=> String
1537
- # resp.task_definition.network_mode #=> String, one of "bridge", "host", "none"
1616
+ # resp.task_definition.network_mode #=> String, one of "bridge", "host", "awsvpc", "none"
1538
1617
  # resp.task_definition.revision #=> Integer
1539
1618
  # resp.task_definition.volumes #=> Array
1540
1619
  # resp.task_definition.volumes[0].name #=> String
@@ -1663,6 +1742,10 @@ module Aws::ECS
1663
1742
  # resp.tasks[0].containers[0].network_bindings[0].container_port #=> Integer
1664
1743
  # resp.tasks[0].containers[0].network_bindings[0].host_port #=> Integer
1665
1744
  # resp.tasks[0].containers[0].network_bindings[0].protocol #=> String, one of "tcp", "udp"
1745
+ # resp.tasks[0].containers[0].network_interfaces #=> Array
1746
+ # resp.tasks[0].containers[0].network_interfaces[0].attachment_id #=> String
1747
+ # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String
1748
+ # resp.tasks[0].containers[0].network_interfaces[0].ipv6_address #=> String
1666
1749
  # resp.tasks[0].started_by #=> String
1667
1750
  # resp.tasks[0].version #=> Integer
1668
1751
  # resp.tasks[0].stopped_reason #=> String
@@ -1670,6 +1753,13 @@ module Aws::ECS
1670
1753
  # resp.tasks[0].started_at #=> Time
1671
1754
  # resp.tasks[0].stopped_at #=> Time
1672
1755
  # resp.tasks[0].group #=> String
1756
+ # resp.tasks[0].attachments #=> Array
1757
+ # resp.tasks[0].attachments[0].id #=> String
1758
+ # resp.tasks[0].attachments[0].type #=> String
1759
+ # resp.tasks[0].attachments[0].status #=> String
1760
+ # resp.tasks[0].attachments[0].details #=> Array
1761
+ # resp.tasks[0].attachments[0].details[0].name #=> String
1762
+ # resp.tasks[0].attachments[0].details[0].value #=> String
1673
1763
  # resp.failures #=> Array
1674
1764
  # resp.failures[0].arn #=> String
1675
1765
  # resp.failures[0].reason #=> String
@@ -2593,6 +2683,13 @@ module Aws::ECS
2593
2683
  # resp.container_instance.attributes[0].target_type #=> String, one of "container-instance"
2594
2684
  # resp.container_instance.attributes[0].target_id #=> String
2595
2685
  # resp.container_instance.registered_at #=> Time
2686
+ # resp.container_instance.attachments #=> Array
2687
+ # resp.container_instance.attachments[0].id #=> String
2688
+ # resp.container_instance.attachments[0].type #=> String
2689
+ # resp.container_instance.attachments[0].status #=> String
2690
+ # resp.container_instance.attachments[0].details #=> Array
2691
+ # resp.container_instance.attachments[0].details[0].name #=> String
2692
+ # resp.container_instance.attachments[0].details[0].value #=> String
2596
2693
  #
2597
2694
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance AWS API Documentation
2598
2695
  #
@@ -2646,25 +2743,36 @@ module Aws::ECS
2646
2743
  #
2647
2744
  # @option params [String] :network_mode
2648
2745
  # The Docker networking mode to use for the containers in the task. The
2649
- # valid values are `none`, `bridge`, and `host`.
2650
- #
2651
- # The default Docker network mode is `bridge`. If the network mode is
2652
- # set to `none`, you cannot specify port mappings in your container
2653
- # definitions, and the task's containers do not have external
2654
- # connectivity. The `host` network mode offers the highest networking
2655
- # performance for containers because they use the host network stack
2656
- # instead of the virtualized network stack provided by the `bridge`
2657
- # mode; however, exposed container ports are mapped directly to the
2658
- # corresponding host port, so you cannot take advantage of dynamic host
2659
- # port mappings or run multiple instantiations of the same task on a
2660
- # single container instance if port mappings are used.
2661
- #
2662
- # For more information, see [Network settings][1] in the *Docker run
2746
+ # valid values are `none`, `bridge`, `awsvpc`, and `host`. The default
2747
+ # Docker network mode is `bridge`. If the network mode is set to `none`,
2748
+ # you cannot specify port mappings in your container definitions, and
2749
+ # the task's containers do not have external connectivity. The `host`
2750
+ # and `awsvpc` network modes offer the highest networking performance
2751
+ # for containers because they use the EC2 network stack instead of the
2752
+ # virtualized network stack provided by the `bridge` mode.
2753
+ #
2754
+ # With the `host` and `awsvpc` network modes, exposed container ports
2755
+ # are mapped directly to the corresponding host port (for the `host`
2756
+ # network mode) or the attached ENI port (for the `awsvpc` network
2757
+ # mode), so you cannot take advantage of dynamic host port mappings.
2758
+ #
2759
+ # If the network mode is `awsvpc`, the task is allocated an Elastic
2760
+ # Network Interface, and you must specify a NetworkConfiguration when
2761
+ # you create a service or run a task with the task definition. For more
2762
+ # information, see [Task Networking][1] in the *Amazon EC2 Container
2763
+ # Service Developer Guide*.
2764
+ #
2765
+ # If the network mode is `host`, you can not run multiple instantiations
2766
+ # of the same task on a single container instance when port mappings are
2767
+ # used.
2768
+ #
2769
+ # For more information, see [Network settings][2] in the *Docker run
2663
2770
  # reference*.
2664
2771
  #
2665
2772
  #
2666
2773
  #
2667
- # [1]: https://docs.docker.com/engine/reference/run/#network-settings
2774
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguidetask-networking.html
2775
+ # [2]: https://docs.docker.com/engine/reference/run/#network-settings
2668
2776
  #
2669
2777
  # @option params [required, Array<Types::ContainerDefinition>] :container_definitions
2670
2778
  # A list of container definitions in JSON format that describe the
@@ -2745,7 +2853,7 @@ module Aws::ECS
2745
2853
  # resp = client.register_task_definition({
2746
2854
  # family: "String", # required
2747
2855
  # task_role_arn: "String",
2748
- # network_mode: "bridge", # accepts bridge, host, none
2856
+ # network_mode: "bridge", # accepts bridge, host, awsvpc, none
2749
2857
  # container_definitions: [ # required
2750
2858
  # {
2751
2859
  # name: "String",
@@ -2912,7 +3020,7 @@ module Aws::ECS
2912
3020
  # resp.task_definition.container_definitions[0].log_configuration.options["String"] #=> String
2913
3021
  # resp.task_definition.family #=> String
2914
3022
  # resp.task_definition.task_role_arn #=> String
2915
- # resp.task_definition.network_mode #=> String, one of "bridge", "host", "none"
3023
+ # resp.task_definition.network_mode #=> String, one of "bridge", "host", "awsvpc", "none"
2916
3024
  # resp.task_definition.revision #=> Integer
2917
3025
  # resp.task_definition.volumes #=> Array
2918
3026
  # resp.task_definition.volumes[0].name #=> String
@@ -3005,6 +3113,17 @@ module Aws::ECS
3005
3113
  # The placement strategy objects to use for the task. You can specify a
3006
3114
  # maximum of 5 strategy rules per task.
3007
3115
  #
3116
+ # @option params [Types::NetworkConfiguration] :network_configuration
3117
+ # The network configuration for the task. This parameter is required for
3118
+ # task definitions that use the `awsvpc` network mode to receive their
3119
+ # own Elastic Network Interface, and it is not supported for other
3120
+ # network modes. For more information, see [Task Networking][1] in the
3121
+ # *Amazon EC2 Container Service Developer Guide*.
3122
+ #
3123
+ #
3124
+ #
3125
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguidetask-networking.html
3126
+ #
3008
3127
  # @return [Types::RunTaskResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3009
3128
  #
3010
3129
  # * {Types::RunTaskResponse#tasks #tasks} => Array&lt;Types::Task&gt;
@@ -3086,6 +3205,12 @@ module Aws::ECS
3086
3205
  # field: "String",
3087
3206
  # },
3088
3207
  # ],
3208
+ # network_configuration: {
3209
+ # awsvpc_configuration: {
3210
+ # subnets: ["String"], # required
3211
+ # security_groups: ["String"],
3212
+ # },
3213
+ # },
3089
3214
  # })
3090
3215
  #
3091
3216
  # @example Response structure
@@ -3120,6 +3245,10 @@ module Aws::ECS
3120
3245
  # resp.tasks[0].containers[0].network_bindings[0].container_port #=> Integer
3121
3246
  # resp.tasks[0].containers[0].network_bindings[0].host_port #=> Integer
3122
3247
  # resp.tasks[0].containers[0].network_bindings[0].protocol #=> String, one of "tcp", "udp"
3248
+ # resp.tasks[0].containers[0].network_interfaces #=> Array
3249
+ # resp.tasks[0].containers[0].network_interfaces[0].attachment_id #=> String
3250
+ # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String
3251
+ # resp.tasks[0].containers[0].network_interfaces[0].ipv6_address #=> String
3123
3252
  # resp.tasks[0].started_by #=> String
3124
3253
  # resp.tasks[0].version #=> Integer
3125
3254
  # resp.tasks[0].stopped_reason #=> String
@@ -3127,6 +3256,13 @@ module Aws::ECS
3127
3256
  # resp.tasks[0].started_at #=> Time
3128
3257
  # resp.tasks[0].stopped_at #=> Time
3129
3258
  # resp.tasks[0].group #=> String
3259
+ # resp.tasks[0].attachments #=> Array
3260
+ # resp.tasks[0].attachments[0].id #=> String
3261
+ # resp.tasks[0].attachments[0].type #=> String
3262
+ # resp.tasks[0].attachments[0].status #=> String
3263
+ # resp.tasks[0].attachments[0].details #=> Array
3264
+ # resp.tasks[0].attachments[0].details[0].name #=> String
3265
+ # resp.tasks[0].attachments[0].details[0].value #=> String
3130
3266
  # resp.failures #=> Array
3131
3267
  # resp.failures[0].arn #=> String
3132
3268
  # resp.failures[0].reason #=> String
@@ -3198,6 +3334,11 @@ module Aws::ECS
3198
3334
  # value is the family name of the task definition (for example,
3199
3335
  # family:my-family-name).
3200
3336
  #
3337
+ # @option params [Types::NetworkConfiguration] :network_configuration
3338
+ # The VPC subnet and security group configuration for tasks that receive
3339
+ # their own Elastic Network Interface by using the `awsvpc` networking
3340
+ # mode.
3341
+ #
3201
3342
  # @return [Types::StartTaskResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3202
3343
  #
3203
3344
  # * {Types::StartTaskResponse#tasks #tasks} => Array&lt;Types::Task&gt;
@@ -3229,6 +3370,12 @@ module Aws::ECS
3229
3370
  # container_instances: ["String"], # required
3230
3371
  # started_by: "String",
3231
3372
  # group: "String",
3373
+ # network_configuration: {
3374
+ # awsvpc_configuration: {
3375
+ # subnets: ["String"], # required
3376
+ # security_groups: ["String"],
3377
+ # },
3378
+ # },
3232
3379
  # })
3233
3380
  #
3234
3381
  # @example Response structure
@@ -3263,6 +3410,10 @@ module Aws::ECS
3263
3410
  # resp.tasks[0].containers[0].network_bindings[0].container_port #=> Integer
3264
3411
  # resp.tasks[0].containers[0].network_bindings[0].host_port #=> Integer
3265
3412
  # resp.tasks[0].containers[0].network_bindings[0].protocol #=> String, one of "tcp", "udp"
3413
+ # resp.tasks[0].containers[0].network_interfaces #=> Array
3414
+ # resp.tasks[0].containers[0].network_interfaces[0].attachment_id #=> String
3415
+ # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String
3416
+ # resp.tasks[0].containers[0].network_interfaces[0].ipv6_address #=> String
3266
3417
  # resp.tasks[0].started_by #=> String
3267
3418
  # resp.tasks[0].version #=> Integer
3268
3419
  # resp.tasks[0].stopped_reason #=> String
@@ -3270,6 +3421,13 @@ module Aws::ECS
3270
3421
  # resp.tasks[0].started_at #=> Time
3271
3422
  # resp.tasks[0].stopped_at #=> Time
3272
3423
  # resp.tasks[0].group #=> String
3424
+ # resp.tasks[0].attachments #=> Array
3425
+ # resp.tasks[0].attachments[0].id #=> String
3426
+ # resp.tasks[0].attachments[0].type #=> String
3427
+ # resp.tasks[0].attachments[0].status #=> String
3428
+ # resp.tasks[0].attachments[0].details #=> Array
3429
+ # resp.tasks[0].attachments[0].details[0].name #=> String
3430
+ # resp.tasks[0].attachments[0].details[0].value #=> String
3273
3431
  # resp.failures #=> Array
3274
3432
  # resp.failures[0].arn #=> String
3275
3433
  # resp.failures[0].reason #=> String
@@ -3362,6 +3520,10 @@ module Aws::ECS
3362
3520
  # resp.task.containers[0].network_bindings[0].container_port #=> Integer
3363
3521
  # resp.task.containers[0].network_bindings[0].host_port #=> Integer
3364
3522
  # resp.task.containers[0].network_bindings[0].protocol #=> String, one of "tcp", "udp"
3523
+ # resp.task.containers[0].network_interfaces #=> Array
3524
+ # resp.task.containers[0].network_interfaces[0].attachment_id #=> String
3525
+ # resp.task.containers[0].network_interfaces[0].private_ipv_4_address #=> String
3526
+ # resp.task.containers[0].network_interfaces[0].ipv6_address #=> String
3365
3527
  # resp.task.started_by #=> String
3366
3528
  # resp.task.version #=> Integer
3367
3529
  # resp.task.stopped_reason #=> String
@@ -3369,6 +3531,13 @@ module Aws::ECS
3369
3531
  # resp.task.started_at #=> Time
3370
3532
  # resp.task.stopped_at #=> Time
3371
3533
  # resp.task.group #=> String
3534
+ # resp.task.attachments #=> Array
3535
+ # resp.task.attachments[0].id #=> String
3536
+ # resp.task.attachments[0].type #=> String
3537
+ # resp.task.attachments[0].status #=> String
3538
+ # resp.task.attachments[0].details #=> Array
3539
+ # resp.task.attachments[0].details[0].name #=> String
3540
+ # resp.task.attachments[0].details[0].value #=> String
3372
3541
  #
3373
3542
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask AWS API Documentation
3374
3543
  #
@@ -3466,6 +3635,12 @@ module Aws::ECS
3466
3635
  # @option params [String] :reason
3467
3636
  # The reason for the state change request.
3468
3637
  #
3638
+ # @option params [Array<Types::ContainerStateChange>] :containers
3639
+ # Any containers associated with the state change request.
3640
+ #
3641
+ # @option params [Array<Types::AttachmentStateChange>] :attachments
3642
+ # Any attachments associated with the state change request.
3643
+ #
3469
3644
  # @return [Types::SubmitTaskStateChangeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3470
3645
  #
3471
3646
  # * {Types::SubmitTaskStateChangeResponse#acknowledgment #acknowledgment} => String
@@ -3477,6 +3652,28 @@ module Aws::ECS
3477
3652
  # task: "String",
3478
3653
  # status: "String",
3479
3654
  # reason: "String",
3655
+ # containers: [
3656
+ # {
3657
+ # container_name: "String",
3658
+ # exit_code: 1,
3659
+ # network_bindings: [
3660
+ # {
3661
+ # bind_ip: "String",
3662
+ # container_port: 1,
3663
+ # host_port: 1,
3664
+ # protocol: "tcp", # accepts tcp, udp
3665
+ # },
3666
+ # ],
3667
+ # reason: "String",
3668
+ # status: "String",
3669
+ # },
3670
+ # ],
3671
+ # attachments: [
3672
+ # {
3673
+ # attachment_arn: "String", # required
3674
+ # status: "String", # required
3675
+ # },
3676
+ # ],
3480
3677
  # })
3481
3678
  #
3482
3679
  # @example Response structure
@@ -3565,6 +3762,13 @@ module Aws::ECS
3565
3762
  # resp.container_instance.attributes[0].target_type #=> String, one of "container-instance"
3566
3763
  # resp.container_instance.attributes[0].target_id #=> String
3567
3764
  # resp.container_instance.registered_at #=> Time
3765
+ # resp.container_instance.attachments #=> Array
3766
+ # resp.container_instance.attachments[0].id #=> String
3767
+ # resp.container_instance.attachments[0].type #=> String
3768
+ # resp.container_instance.attachments[0].status #=> String
3769
+ # resp.container_instance.attachments[0].details #=> Array
3770
+ # resp.container_instance.attachments[0].details[0].name #=> String
3771
+ # resp.container_instance.attachments[0].details[0].value #=> String
3568
3772
  #
3569
3773
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent AWS API Documentation
3570
3774
  #
@@ -3687,6 +3891,13 @@ module Aws::ECS
3687
3891
  # resp.container_instances[0].attributes[0].target_type #=> String, one of "container-instance"
3688
3892
  # resp.container_instances[0].attributes[0].target_id #=> String
3689
3893
  # resp.container_instances[0].registered_at #=> Time
3894
+ # resp.container_instances[0].attachments #=> Array
3895
+ # resp.container_instances[0].attachments[0].id #=> String
3896
+ # resp.container_instances[0].attachments[0].type #=> String
3897
+ # resp.container_instances[0].attachments[0].status #=> String
3898
+ # resp.container_instances[0].attachments[0].details #=> Array
3899
+ # resp.container_instances[0].attachments[0].details[0].name #=> String
3900
+ # resp.container_instances[0].attachments[0].details[0].value #=> String
3690
3901
  # resp.failures #=> Array
3691
3902
  # resp.failures[0].arn #=> String
3692
3903
  # resp.failures[0].reason #=> String
@@ -3700,8 +3911,8 @@ module Aws::ECS
3700
3911
  req.send_request(options)
3701
3912
  end
3702
3913
 
3703
- # Modifies the desired count, deployment configuration, or task
3704
- # definition used in a service.
3914
+ # Modifies the desired count, deployment configuration, network
3915
+ # configuration, or task definition used in a service.
3705
3916
  #
3706
3917
  # You can add to or subtract from the number of instantiations of a task
3707
3918
  # definition in a service by specifying the cluster that the service is
@@ -3800,6 +4011,25 @@ module Aws::ECS
3800
4011
  # Optional deployment parameters that control how many tasks run during
3801
4012
  # the deployment and the ordering of stopping and starting tasks.
3802
4013
  #
4014
+ # @option params [Types::NetworkConfiguration] :network_configuration
4015
+ # The network configuration for the service. This parameter is required
4016
+ # for task definitions that use the `awsvpc` network mode to receive
4017
+ # their own Elastic Network Interface, and it is not supported for other
4018
+ # network modes. For more information, see [Task Networking][1] in the
4019
+ # *Amazon EC2 Container Service Developer Guide*.
4020
+ #
4021
+ # <note markdown="1"> Updating a service to add a subnet to a list of existing subnets does
4022
+ # not trigger a service deployment. For example, if your network
4023
+ # configuration change is to keep the existing subnets and simply add
4024
+ # another subnet to the network configuration, this does not trigger a
4025
+ # new service deployment.
4026
+ #
4027
+ # </note>
4028
+ #
4029
+ #
4030
+ #
4031
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguidetask-networking.html
4032
+ #
3803
4033
  # @return [Types::UpdateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3804
4034
  #
3805
4035
  # * {Types::UpdateServiceResponse#service #service} => Types::Service
@@ -3842,6 +4072,12 @@ module Aws::ECS
3842
4072
  # maximum_percent: 1,
3843
4073
  # minimum_healthy_percent: 1,
3844
4074
  # },
4075
+ # network_configuration: {
4076
+ # awsvpc_configuration: {
4077
+ # subnets: ["String"], # required
4078
+ # security_groups: ["String"],
4079
+ # },
4080
+ # },
3845
4081
  # })
3846
4082
  #
3847
4083
  # @example Response structure
@@ -3870,6 +4106,10 @@ module Aws::ECS
3870
4106
  # resp.service.deployments[0].running_count #=> Integer
3871
4107
  # resp.service.deployments[0].created_at #=> Time
3872
4108
  # resp.service.deployments[0].updated_at #=> Time
4109
+ # resp.service.deployments[0].network_configuration.awsvpc_configuration.subnets #=> Array
4110
+ # resp.service.deployments[0].network_configuration.awsvpc_configuration.subnets[0] #=> String
4111
+ # resp.service.deployments[0].network_configuration.awsvpc_configuration.security_groups #=> Array
4112
+ # resp.service.deployments[0].network_configuration.awsvpc_configuration.security_groups[0] #=> String
3873
4113
  # resp.service.role_arn #=> String
3874
4114
  # resp.service.events #=> Array
3875
4115
  # resp.service.events[0].id #=> String
@@ -3882,6 +4122,10 @@ module Aws::ECS
3882
4122
  # resp.service.placement_strategy #=> Array
3883
4123
  # resp.service.placement_strategy[0].type #=> String, one of "random", "spread", "binpack"
3884
4124
  # resp.service.placement_strategy[0].field #=> String
4125
+ # resp.service.network_configuration.awsvpc_configuration.subnets #=> Array
4126
+ # resp.service.network_configuration.awsvpc_configuration.subnets[0] #=> String
4127
+ # resp.service.network_configuration.awsvpc_configuration.security_groups #=> Array
4128
+ # resp.service.network_configuration.awsvpc_configuration.security_groups[0] #=> String
3885
4129
  #
3886
4130
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService AWS API Documentation
3887
4131
  #
@@ -3905,7 +4149,7 @@ module Aws::ECS
3905
4149
  params: params,
3906
4150
  config: config)
3907
4151
  context[:gem_name] = 'aws-sdk-ecs'
3908
- context[:gem_version] = '1.3.0'
4152
+ context[:gem_version] = '1.4.0'
3909
4153
  Seahorse::Client::Request.new(handlers, context)
3910
4154
  end
3911
4155