aws-sdk-ecs 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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