aws-sdk-ecs 1.72.0 → 1.77.0

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE.txt ADDED
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.77.0
data/lib/aws-sdk-ecs.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -49,6 +49,6 @@ require_relative 'aws-sdk-ecs/customizations'
49
49
  # @!group service
50
50
  module Aws::ECS
51
51
 
52
- GEM_VERSION = '1.72.0'
52
+ GEM_VERSION = '1.77.0'
53
53
 
54
54
  end
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -499,14 +499,20 @@ module Aws::ECS
499
499
  # specified, it will override the `containerInsights` value set with
500
500
  # PutAccountSetting or PutAccountSettingDefault.
501
501
  #
502
+ # @option params [Types::ClusterConfiguration] :configuration
503
+ # The execute command configuration for the cluster.
504
+ #
502
505
  # @option params [Array<String>] :capacity_providers
503
506
  # The short name of one or more capacity providers to associate with the
504
- # cluster.
507
+ # cluster. A capacity provider must be associated with a cluster before
508
+ # it can be included as part of the default capacity provider strategy
509
+ # of the cluster or used in a capacity provider strategy when calling
510
+ # the CreateService or RunTask actions.
505
511
  #
506
512
  # If specifying a capacity provider that uses an Auto Scaling group, the
507
513
  # capacity provider must already be created and not already associated
508
- # with another cluster. New capacity providers can be created with the
509
- # CreateCapacityProvider API operation.
514
+ # with another cluster. New Auto Scaling group capacity providers can be
515
+ # created with the CreateCapacityProvider API operation.
510
516
  #
511
517
  # To use a AWS Fargate capacity provider, specify either the `FARGATE`
512
518
  # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
@@ -518,27 +524,11 @@ module Aws::ECS
518
524
  # is created.
519
525
  #
520
526
  # @option params [Array<Types::CapacityProviderStrategyItem>] :default_capacity_provider_strategy
521
- # The capacity provider strategy to use by default for the cluster.
522
- #
523
- # When creating a service or running a task on a cluster, if no capacity
524
- # provider or launch type is specified then the default capacity
525
- # provider strategy for the cluster is used.
526
- #
527
- # A capacity provider strategy consists of one or more capacity
528
- # providers along with the `base` and `weight` to assign to them. A
529
- # capacity provider must be associated with the cluster to be used in a
530
- # capacity provider strategy. The PutClusterCapacityProviders API is
531
- # used to associate a capacity provider with a cluster. Only capacity
532
- # providers with an `ACTIVE` or `UPDATING` status can be used.
533
- #
534
- # If specifying a capacity provider that uses an Auto Scaling group, the
535
- # capacity provider must already be created. New capacity providers can
536
- # be created with the CreateCapacityProvider API operation.
537
- #
538
- # To use a AWS Fargate capacity provider, specify either the `FARGATE`
539
- # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
540
- # providers are available to all accounts and only need to be associated
541
- # with a cluster to be used.
527
+ # The capacity provider strategy to set as the default for the cluster.
528
+ # When a default capacity provider strategy is set for a cluster, when
529
+ # calling the RunTask or CreateService APIs wtih no capacity provider
530
+ # strategy or launch type specified, the default capacity provider
531
+ # strategy for the cluster is used.
542
532
  #
543
533
  # If a default capacity provider strategy is not defined for a cluster
544
534
  # during creation, it can be defined later with the
@@ -586,6 +576,19 @@ module Aws::ECS
586
576
  # value: "String",
587
577
  # },
588
578
  # ],
579
+ # configuration: {
580
+ # execute_command_configuration: {
581
+ # kms_key_id: "String",
582
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
583
+ # log_configuration: {
584
+ # cloud_watch_log_group_name: "String",
585
+ # cloud_watch_encryption_enabled: false,
586
+ # s3_bucket_name: "String",
587
+ # s3_encryption_enabled: false,
588
+ # s3_key_prefix: "String",
589
+ # },
590
+ # },
591
+ # },
589
592
  # capacity_providers: ["String"],
590
593
  # default_capacity_provider_strategy: [
591
594
  # {
@@ -600,6 +603,13 @@ module Aws::ECS
600
603
  #
601
604
  # resp.cluster.cluster_arn #=> String
602
605
  # resp.cluster.cluster_name #=> String
606
+ # resp.cluster.configuration.execute_command_configuration.kms_key_id #=> String
607
+ # resp.cluster.configuration.execute_command_configuration.logging #=> String, one of "NONE", "DEFAULT", "OVERRIDE"
608
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_log_group_name #=> String
609
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_encryption_enabled #=> Boolean
610
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_bucket_name #=> String
611
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_encryption_enabled #=> Boolean
612
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_key_prefix #=> String
603
613
  # resp.cluster.status #=> String
604
614
  # resp.cluster.registered_container_instances_count #=> Integer
605
615
  # resp.cluster.running_tasks_count #=> Integer
@@ -790,7 +800,7 @@ module Aws::ECS
790
800
  # Load Balancer, you must specify one or more target group ARNs to
791
801
  # attach to the service. The service-linked role is required for
792
802
  # services that make use of multiple target groups. For more
793
- # information, see [Using Service-Linked Roles for Amazon ECS][2] in the
803
+ # information, see [Using service-linked roles for Amazon ECS][2] in the
794
804
  # *Amazon Elastic Container Service Developer Guide*.
795
805
  #
796
806
  # If the service is using the `CODE_DEPLOY` deployment controller, the
@@ -840,19 +850,17 @@ module Aws::ECS
840
850
  # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html
841
851
  #
842
852
  # @option params [Array<Types::ServiceRegistry>] :service_registries
843
- # The details of the service discovery registries to assign to this
844
- # service. For more information, see [Service Discovery][1].
853
+ # The details of the service discovery registry to associate with this
854
+ # service. For more information, see [Service discovery][1].
845
855
  #
846
- # <note markdown="1"> Service discovery is supported for Fargate tasks if you are using
847
- # platform version v1.1.0 or later. For more information, see [AWS
848
- # Fargate Platform Versions][2].
856
+ # <note markdown="1"> Each service may be associated with one service registry. Multiple
857
+ # service registries per service isn't supported.
849
858
  #
850
859
  # </note>
851
860
  #
852
861
  #
853
862
  #
854
863
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html
855
- # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html
856
864
  #
857
865
  # @option params [Integer] :desired_count
858
866
  # The number of instantiations of the specified task definition to place
@@ -867,9 +875,16 @@ module Aws::ECS
867
875
  # idempotency of the request. Up to 32 ASCII characters are allowed.
868
876
  #
869
877
  # @option params [String] :launch_type
870
- # The launch type on which to run your service. For more information,
871
- # see [Amazon ECS Launch Types][1] in the *Amazon Elastic Container
872
- # Service Developer Guide*.
878
+ # The launch type on which to run your service. The accepted values are
879
+ # `FARGATE` and `EC2`. For more information, see [Amazon ECS launch
880
+ # types][1] in the *Amazon Elastic Container Service Developer Guide*.
881
+ #
882
+ # When a value of `FARGATE` is specified, your tasks are launched on AWS
883
+ # Fargate On-Demand infrastructure. To use Fargate Spot, you must use a
884
+ # capacity provider strategy with the `FARGATE_SPOT` capacity provider.
885
+ #
886
+ # When a value of `EC2` is specified, your tasks are launched on Amazon
887
+ # EC2 instances registered to your cluster.
873
888
  #
874
889
  # If a `launchType` is specified, the `capacityProviderStrategy`
875
890
  # parameter must be omitted.
@@ -881,37 +896,17 @@ module Aws::ECS
881
896
  # @option params [Array<Types::CapacityProviderStrategyItem>] :capacity_provider_strategy
882
897
  # The capacity provider strategy to use for the service.
883
898
  #
884
- # A capacity provider strategy consists of one or more capacity
885
- # providers along with the `base` and `weight` to assign to them. A
886
- # capacity provider must be associated with the cluster to be used in a
887
- # capacity provider strategy. The PutClusterCapacityProviders API is
888
- # used to associate a capacity provider with a cluster. Only capacity
889
- # providers with an `ACTIVE` or `UPDATING` status can be used.
890
- #
891
899
  # If a `capacityProviderStrategy` is specified, the `launchType`
892
900
  # parameter must be omitted. If no `capacityProviderStrategy` or
893
901
  # `launchType` is specified, the `defaultCapacityProviderStrategy` for
894
902
  # the cluster is used.
895
903
  #
896
- # If specifying a capacity provider that uses an Auto Scaling group, the
897
- # capacity provider must already be created. New capacity providers can
898
- # be created with the CreateCapacityProvider API operation.
899
- #
900
- # To use a AWS Fargate capacity provider, specify either the `FARGATE`
901
- # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
902
- # providers are available to all accounts and only need to be associated
903
- # with a cluster to be used.
904
- #
905
- # The PutClusterCapacityProviders API operation is used to update the
906
- # list of available capacity providers for a cluster after the cluster
907
- # is created.
908
- #
909
904
  # @option params [String] :platform_version
910
905
  # The platform version that your tasks in the service are running on. A
911
906
  # platform version is specified only for tasks using the Fargate launch
912
907
  # type. If one isn't specified, the `LATEST` platform version is used
913
- # by default. For more information, see [AWS Fargate Platform
914
- # Versions][1] in the *Amazon Elastic Container Service Developer
908
+ # by default. For more information, see [AWS Fargate platform
909
+ # versions][1] in the *Amazon Elastic Container Service Developer
915
910
  # Guide*.
916
911
  #
917
912
  #
@@ -933,14 +928,14 @@ module Aws::ECS
933
928
  # configured to use service discovery, an external deployment
934
929
  # controller, multiple target groups, or Elastic Inference accelerators
935
930
  # in which case you should not specify a role here. For more
936
- # information, see [Using Service-Linked Roles for Amazon ECS][1] in the
931
+ # information, see [Using service-linked roles for Amazon ECS][1] in the
937
932
  # *Amazon Elastic Container Service Developer Guide*.
938
933
  #
939
934
  # If your specified role has a path other than `/`, then you must either
940
935
  # specify the full role ARN (this is recommended) or prefix the role
941
936
  # name with the path. For example, if a role with the name `bar` has a
942
937
  # path of `/foo/` then you would specify `/foo/bar` as the role name.
943
- # For more information, see [Friendly Names and Paths][2] in the *IAM
938
+ # For more information, see [Friendly names and paths][2] in the *IAM
944
939
  # User Guide*.
945
940
  #
946
941
  #
@@ -966,7 +961,7 @@ module Aws::ECS
966
961
  # The network configuration for the service. This parameter is required
967
962
  # for task definitions that use the `awsvpc` network mode to receive
968
963
  # their own elastic network interface, and it is not supported for other
969
- # network modes. For more information, see [Task Networking][1] in the
964
+ # network modes. For more information, see [Task networking][1] in the
970
965
  # *Amazon Elastic Container Service Developer Guide*.
971
966
  #
972
967
  #
@@ -1021,7 +1016,8 @@ module Aws::ECS
1021
1016
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html
1022
1017
  #
1023
1018
  # @option params [Types::DeploymentController] :deployment_controller
1024
- # The deployment controller to use for the service.
1019
+ # The deployment controller to use for the service. If no deployment
1020
+ # controller is specified, the default value of `ECS` is used.
1025
1021
  #
1026
1022
  # @option params [Array<Types::Tag>] :tags
1027
1023
  # The metadata that you apply to the service to help you categorize and
@@ -1071,6 +1067,11 @@ module Aws::ECS
1071
1067
  # within the service during service creation. To add tags to a task
1072
1068
  # after service creation, use the TagResource API action.
1073
1069
  #
1070
+ # @option params [Boolean] :enable_execute_command
1071
+ # Whether or not the execute command functionality is enabled for the
1072
+ # service. If `true`, this enables execute command functionality on all
1073
+ # containers in the service tasks.
1074
+ #
1074
1075
  # @return [Types::CreateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1075
1076
  #
1076
1077
  # * {Types::CreateServiceResponse#service #service} => Types::Service
@@ -1267,6 +1268,7 @@ module Aws::ECS
1267
1268
  # ],
1268
1269
  # enable_ecs_managed_tags: false,
1269
1270
  # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
1271
+ # enable_execute_command: false,
1270
1272
  # })
1271
1273
  #
1272
1274
  # @example Response structure
@@ -1390,6 +1392,7 @@ module Aws::ECS
1390
1392
  # resp.service.created_by #=> String
1391
1393
  # resp.service.enable_ecs_managed_tags #=> Boolean
1392
1394
  # resp.service.propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
1395
+ # resp.service.enable_execute_command #=> Boolean
1393
1396
  #
1394
1397
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService AWS API Documentation
1395
1398
  #
@@ -1428,8 +1431,7 @@ module Aws::ECS
1428
1431
  # The task definition for the tasks in the task set to use.
1429
1432
  #
1430
1433
  # @option params [Types::NetworkConfiguration] :network_configuration
1431
- # An object representing the network configuration for a task or
1432
- # service.
1434
+ # An object representing the network configuration for a task set.
1433
1435
  #
1434
1436
  # @option params [Array<Types::LoadBalancer>] :load_balancers
1435
1437
  # A load balancer object representing the load balancer to use with the
@@ -1881,6 +1883,13 @@ module Aws::ECS
1881
1883
  #
1882
1884
  # resp.cluster.cluster_arn #=> String
1883
1885
  # resp.cluster.cluster_name #=> String
1886
+ # resp.cluster.configuration.execute_command_configuration.kms_key_id #=> String
1887
+ # resp.cluster.configuration.execute_command_configuration.logging #=> String, one of "NONE", "DEFAULT", "OVERRIDE"
1888
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_log_group_name #=> String
1889
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_encryption_enabled #=> Boolean
1890
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_bucket_name #=> String
1891
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_encryption_enabled #=> Boolean
1892
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_key_prefix #=> String
1884
1893
  # resp.cluster.status #=> String
1885
1894
  # resp.cluster.registered_container_instances_count #=> Integer
1886
1895
  # resp.cluster.running_tasks_count #=> Integer
@@ -2102,6 +2111,7 @@ module Aws::ECS
2102
2111
  # resp.service.created_by #=> String
2103
2112
  # resp.service.enable_ecs_managed_tags #=> Boolean
2104
2113
  # resp.service.propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
2114
+ # resp.service.enable_execute_command #=> Boolean
2105
2115
  #
2106
2116
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService AWS API Documentation
2107
2117
  #
@@ -2525,6 +2535,10 @@ module Aws::ECS
2525
2535
  # resp.task_definition.proxy_configuration.properties #=> Array
2526
2536
  # resp.task_definition.proxy_configuration.properties[0].name #=> String
2527
2537
  # resp.task_definition.proxy_configuration.properties[0].value #=> String
2538
+ # resp.task_definition.registered_at #=> Time
2539
+ # resp.task_definition.deregistered_at #=> Time
2540
+ # resp.task_definition.registered_by #=> String
2541
+ # resp.task_definition.ephemeral_storage.size_in_gi_b #=> Integer
2528
2542
  #
2529
2543
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition AWS API Documentation
2530
2544
  #
@@ -2692,7 +2706,7 @@ module Aws::ECS
2692
2706
  #
2693
2707
  # resp = client.describe_clusters({
2694
2708
  # clusters: ["String"],
2695
- # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, SETTINGS, STATISTICS, TAGS
2709
+ # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, CONFIGURATIONS, SETTINGS, STATISTICS, TAGS
2696
2710
  # })
2697
2711
  #
2698
2712
  # @example Response structure
@@ -2700,6 +2714,13 @@ module Aws::ECS
2700
2714
  # resp.clusters #=> Array
2701
2715
  # resp.clusters[0].cluster_arn #=> String
2702
2716
  # resp.clusters[0].cluster_name #=> String
2717
+ # resp.clusters[0].configuration.execute_command_configuration.kms_key_id #=> String
2718
+ # resp.clusters[0].configuration.execute_command_configuration.logging #=> String, one of "NONE", "DEFAULT", "OVERRIDE"
2719
+ # resp.clusters[0].configuration.execute_command_configuration.log_configuration.cloud_watch_log_group_name #=> String
2720
+ # resp.clusters[0].configuration.execute_command_configuration.log_configuration.cloud_watch_encryption_enabled #=> Boolean
2721
+ # resp.clusters[0].configuration.execute_command_configuration.log_configuration.s3_bucket_name #=> String
2722
+ # resp.clusters[0].configuration.execute_command_configuration.log_configuration.s3_encryption_enabled #=> Boolean
2723
+ # resp.clusters[0].configuration.execute_command_configuration.log_configuration.s3_key_prefix #=> String
2703
2724
  # resp.clusters[0].status #=> String
2704
2725
  # resp.clusters[0].registered_container_instances_count #=> Integer
2705
2726
  # resp.clusters[0].running_tasks_count #=> Integer
@@ -3134,6 +3155,7 @@ module Aws::ECS
3134
3155
  # resp.services[0].created_by #=> String
3135
3156
  # resp.services[0].enable_ecs_managed_tags #=> Boolean
3136
3157
  # resp.services[0].propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
3158
+ # resp.services[0].enable_execute_command #=> Boolean
3137
3159
  # resp.failures #=> Array
3138
3160
  # resp.failures[0].arn #=> String
3139
3161
  # resp.failures[0].reason #=> String
@@ -3403,6 +3425,10 @@ module Aws::ECS
3403
3425
  # resp.task_definition.proxy_configuration.properties #=> Array
3404
3426
  # resp.task_definition.proxy_configuration.properties[0].name #=> String
3405
3427
  # resp.task_definition.proxy_configuration.properties[0].value #=> String
3428
+ # resp.task_definition.registered_at #=> Time
3429
+ # resp.task_definition.deregistered_at #=> Time
3430
+ # resp.task_definition.registered_by #=> String
3431
+ # resp.task_definition.ephemeral_storage.size_in_gi_b #=> Integer
3406
3432
  # resp.tags #=> Array
3407
3433
  # resp.tags[0].key #=> String
3408
3434
  # resp.tags[0].value #=> String
@@ -3634,6 +3660,11 @@ module Aws::ECS
3634
3660
  # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String
3635
3661
  # resp.tasks[0].containers[0].network_interfaces[0].ipv6_address #=> String
3636
3662
  # resp.tasks[0].containers[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
3663
+ # resp.tasks[0].containers[0].managed_agents #=> Array
3664
+ # resp.tasks[0].containers[0].managed_agents[0].last_started_at #=> Time
3665
+ # resp.tasks[0].containers[0].managed_agents[0].name #=> String, one of "ExecuteCommandAgent"
3666
+ # resp.tasks[0].containers[0].managed_agents[0].reason #=> String
3667
+ # resp.tasks[0].containers[0].managed_agents[0].last_status #=> String
3637
3668
  # resp.tasks[0].containers[0].cpu #=> String
3638
3669
  # resp.tasks[0].containers[0].memory #=> String
3639
3670
  # resp.tasks[0].containers[0].memory_reservation #=> String
@@ -3642,6 +3673,7 @@ module Aws::ECS
3642
3673
  # resp.tasks[0].cpu #=> String
3643
3674
  # resp.tasks[0].created_at #=> Time
3644
3675
  # resp.tasks[0].desired_status #=> String
3676
+ # resp.tasks[0].enable_execute_command #=> Boolean
3645
3677
  # resp.tasks[0].execution_stopped_at #=> Time
3646
3678
  # resp.tasks[0].group #=> String
3647
3679
  # resp.tasks[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
@@ -3674,6 +3706,7 @@ module Aws::ECS
3674
3706
  # resp.tasks[0].overrides.execution_role_arn #=> String
3675
3707
  # resp.tasks[0].overrides.memory #=> String
3676
3708
  # resp.tasks[0].overrides.task_role_arn #=> String
3709
+ # resp.tasks[0].overrides.ephemeral_storage.size_in_gi_b #=> Integer
3677
3710
  # resp.tasks[0].platform_version #=> String
3678
3711
  # resp.tasks[0].pull_started_at #=> Time
3679
3712
  # resp.tasks[0].pull_stopped_at #=> Time
@@ -3689,6 +3722,7 @@ module Aws::ECS
3689
3722
  # resp.tasks[0].task_arn #=> String
3690
3723
  # resp.tasks[0].task_definition_arn #=> String
3691
3724
  # resp.tasks[0].version #=> Integer
3725
+ # resp.tasks[0].ephemeral_storage.size_in_gi_b #=> Integer
3692
3726
  # resp.failures #=> Array
3693
3727
  # resp.failures[0].arn #=> String
3694
3728
  # resp.failures[0].reason #=> String
@@ -3754,6 +3788,66 @@ module Aws::ECS
3754
3788
  req.send_request(options)
3755
3789
  end
3756
3790
 
3791
+ # Runs a command remotely on a container within a task.
3792
+ #
3793
+ # @option params [String] :cluster
3794
+ # The Amazon Resource Name (ARN) or short name of the cluster the task
3795
+ # is running in. If you do not specify a cluster, the default cluster is
3796
+ # assumed.
3797
+ #
3798
+ # @option params [String] :container
3799
+ # The name of the container to execute the command on. A container name
3800
+ # only needs to be specified for tasks containing multiple containers.
3801
+ #
3802
+ # @option params [required, String] :command
3803
+ # The command to run on the container.
3804
+ #
3805
+ # @option params [required, Boolean] :interactive
3806
+ # Use this flag to run your command in interactive mode.
3807
+ #
3808
+ # @option params [required, String] :task
3809
+ # The Amazon Resource Name (ARN) or ID of the task the container is part
3810
+ # of.
3811
+ #
3812
+ # @return [Types::ExecuteCommandResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3813
+ #
3814
+ # * {Types::ExecuteCommandResponse#cluster_arn #cluster_arn} => String
3815
+ # * {Types::ExecuteCommandResponse#container_arn #container_arn} => String
3816
+ # * {Types::ExecuteCommandResponse#container_name #container_name} => String
3817
+ # * {Types::ExecuteCommandResponse#interactive #interactive} => Boolean
3818
+ # * {Types::ExecuteCommandResponse#session #session} => Types::Session
3819
+ # * {Types::ExecuteCommandResponse#task_arn #task_arn} => String
3820
+ #
3821
+ # @example Request syntax with placeholder values
3822
+ #
3823
+ # resp = client.execute_command({
3824
+ # cluster: "String",
3825
+ # container: "String",
3826
+ # command: "String", # required
3827
+ # interactive: false, # required
3828
+ # task: "String", # required
3829
+ # })
3830
+ #
3831
+ # @example Response structure
3832
+ #
3833
+ # resp.cluster_arn #=> String
3834
+ # resp.container_arn #=> String
3835
+ # resp.container_name #=> String
3836
+ # resp.interactive #=> Boolean
3837
+ # resp.session.session_id #=> String
3838
+ # resp.session.stream_url #=> String
3839
+ # resp.session.token_value #=> String
3840
+ # resp.task_arn #=> String
3841
+ #
3842
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommand AWS API Documentation
3843
+ #
3844
+ # @overload execute_command(params = {})
3845
+ # @param [Hash] params ({})
3846
+ def execute_command(params = {}, options = {})
3847
+ req = build_request(:execute_command, params)
3848
+ req.send_request(options)
3849
+ end
3850
+
3757
3851
  # Lists the account settings for a specified principal.
3758
3852
  #
3759
3853
  # @option params [String] :name
@@ -3768,6 +3862,11 @@ module Aws::ECS
3768
3862
  # root user. If this field is omitted, the account settings are listed
3769
3863
  # only for the authenticated user.
3770
3864
  #
3865
+ # <note markdown="1"> Federated users assume the account setting of the root user and can't
3866
+ # have explicit account settings set for them.
3867
+ #
3868
+ # </note>
3869
+ #
3771
3870
  # @option params [Boolean] :effective_settings
3772
3871
  # Specifies whether to return the effective settings. If `true`, the
3773
3872
  # account settings for the root user or the default setting for the
@@ -4726,6 +4825,11 @@ module Aws::ECS
4726
4825
  # this field is omitted, the setting is changed only for the
4727
4826
  # authenticated user.
4728
4827
  #
4828
+ # <note markdown="1"> Federated users assume the account setting of the root user and can't
4829
+ # have explicit account settings set for them.
4830
+ #
4831
+ # </note>
4832
+ #
4729
4833
  # @return [Types::PutAccountSettingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4730
4834
  #
4731
4835
  # * {Types::PutAccountSettingResponse#setting #setting} => Types::Setting
@@ -4999,6 +5103,13 @@ module Aws::ECS
4999
5103
  #
5000
5104
  # resp.cluster.cluster_arn #=> String
5001
5105
  # resp.cluster.cluster_name #=> String
5106
+ # resp.cluster.configuration.execute_command_configuration.kms_key_id #=> String
5107
+ # resp.cluster.configuration.execute_command_configuration.logging #=> String, one of "NONE", "DEFAULT", "OVERRIDE"
5108
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_log_group_name #=> String
5109
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_encryption_enabled #=> Boolean
5110
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_bucket_name #=> String
5111
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_encryption_enabled #=> Boolean
5112
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_key_prefix #=> String
5002
5113
  # resp.cluster.status #=> String
5003
5114
  # resp.cluster.registered_container_instances_count #=> Integer
5004
5115
  # resp.cluster.running_tasks_count #=> Integer
@@ -5344,9 +5455,9 @@ module Aws::ECS
5344
5455
  #
5345
5456
  # @option params [Array<String>] :requires_compatibilities
5346
5457
  # The task launch type that Amazon ECS should validate the task
5347
- # definition against. This ensures that the task definition parameters
5348
- # are compatible with the specified launch type. If no value is
5349
- # specified, it defaults to `EC2`.
5458
+ # definition against. A client exception is returned if the task
5459
+ # definition doesn't validate against the compatibilities specified. If
5460
+ # no value is specified, the parameter is omitted from the response.
5350
5461
  #
5351
5462
  # @option params [String] :cpu
5352
5463
  # The number of CPU units used by the task. It can be expressed as an
@@ -5462,8 +5573,8 @@ module Aws::ECS
5462
5573
  # risk of undesired process namespace expose. For more information, see
5463
5574
  # [Docker security][2].
5464
5575
  #
5465
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks using
5466
- # the Fargate launch type.
5576
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run on
5577
+ # AWS Fargate.
5467
5578
  #
5468
5579
  # </note>
5469
5580
  #
@@ -5501,8 +5612,8 @@ module Aws::ECS
5501
5612
  # * For tasks that use the `task` IPC mode, IPC namespace related
5502
5613
  # `systemControls` will apply to all containers within a task.
5503
5614
  #
5504
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks using
5505
- # the Fargate launch type.
5615
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run on
5616
+ # AWS Fargate.
5506
5617
  #
5507
5618
  # </note>
5508
5619
  #
@@ -5515,22 +5626,39 @@ module Aws::ECS
5515
5626
  # @option params [Types::ProxyConfiguration] :proxy_configuration
5516
5627
  # The configuration details for the App Mesh proxy.
5517
5628
  #
5518
- # For tasks using the EC2 launch type, the container instances require
5519
- # at least version 1.26.0 of the container agent and at least version
5520
- # 1.26.0-1 of the `ecs-init` package to enable a proxy configuration. If
5521
- # your container instances are launched from the Amazon ECS-optimized
5522
- # AMI version `20190301` or later, then they contain the required
5523
- # versions of the container agent and `ecs-init`. For more information,
5524
- # see [Amazon ECS-optimized Linux AMI][1]
5629
+ # For tasks hosted on Amazon EC2 instances, the container instances
5630
+ # require at least version `1.26.0` of the container agent and at least
5631
+ # version `1.26.0-1` of the `ecs-init` package to enable a proxy
5632
+ # configuration. If your container instances are launched from the
5633
+ # Amazon ECS-optimized AMI version `20190301` or later, then they
5634
+ # contain the required versions of the container agent and `ecs-init`.
5635
+ # For more information, see [Amazon ECS-optimized AMI versions][1] in
5636
+ # the *Amazon Elastic Container Service Developer Guide*.
5525
5637
  #
5526
5638
  #
5527
5639
  #
5528
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
5640
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-ami-versions.html
5529
5641
  #
5530
5642
  # @option params [Array<Types::InferenceAccelerator>] :inference_accelerators
5531
5643
  # The Elastic Inference accelerators to use for the containers in the
5532
5644
  # task.
5533
5645
  #
5646
+ # @option params [Types::EphemeralStorage] :ephemeral_storage
5647
+ # The amount of ephemeral storage to allocate for the task. This
5648
+ # parameter is used to expand the total amount of ephemeral storage
5649
+ # available, beyond the default amount, for tasks hosted on AWS Fargate.
5650
+ # For more information, see [Fargate task storage][1] in the *Amazon ECS
5651
+ # User Guide for AWS Fargate*.
5652
+ #
5653
+ # <note markdown="1"> This parameter is only supported for tasks hosted on AWS Fargate using
5654
+ # platform version `1.4.0` or later.
5655
+ #
5656
+ # </note>
5657
+ #
5658
+ #
5659
+ #
5660
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html
5661
+ #
5534
5662
  # @return [Types::RegisterTaskDefinitionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5535
5663
  #
5536
5664
  # * {Types::RegisterTaskDefinitionResponse#task_definition #task_definition} => Types::TaskDefinition
@@ -5820,6 +5948,9 @@ module Aws::ECS
5820
5948
  # device_type: "String", # required
5821
5949
  # },
5822
5950
  # ],
5951
+ # ephemeral_storage: {
5952
+ # size_in_gi_b: 1, # required
5953
+ # },
5823
5954
  # })
5824
5955
  #
5825
5956
  # @example Response structure
@@ -5976,6 +6107,10 @@ module Aws::ECS
5976
6107
  # resp.task_definition.proxy_configuration.properties #=> Array
5977
6108
  # resp.task_definition.proxy_configuration.properties[0].name #=> String
5978
6109
  # resp.task_definition.proxy_configuration.properties[0].value #=> String
6110
+ # resp.task_definition.registered_at #=> Time
6111
+ # resp.task_definition.deregistered_at #=> Time
6112
+ # resp.task_definition.registered_by #=> String
6113
+ # resp.task_definition.ephemeral_storage.size_in_gi_b #=> Integer
5979
6114
  # resp.tags #=> Array
5980
6115
  # resp.tags[0].key #=> String
5981
6116
  # resp.tags[0].value #=> String
@@ -6028,31 +6163,11 @@ module Aws::ECS
6028
6163
  # @option params [Array<Types::CapacityProviderStrategyItem>] :capacity_provider_strategy
6029
6164
  # The capacity provider strategy to use for the task.
6030
6165
  #
6031
- # A capacity provider strategy consists of one or more capacity
6032
- # providers along with the `base` and `weight` to assign to them. A
6033
- # capacity provider must be associated with the cluster to be used in a
6034
- # capacity provider strategy. The PutClusterCapacityProviders API is
6035
- # used to associate a capacity provider with a cluster. Only capacity
6036
- # providers with an `ACTIVE` or `UPDATING` status can be used.
6037
- #
6038
6166
  # If a `capacityProviderStrategy` is specified, the `launchType`
6039
6167
  # parameter must be omitted. If no `capacityProviderStrategy` or
6040
6168
  # `launchType` is specified, the `defaultCapacityProviderStrategy` for
6041
6169
  # the cluster is used.
6042
6170
  #
6043
- # If specifying a capacity provider that uses an Auto Scaling group, the
6044
- # capacity provider must already be created. New capacity providers can
6045
- # be created with the CreateCapacityProvider API operation.
6046
- #
6047
- # To use a AWS Fargate capacity provider, specify either the `FARGATE`
6048
- # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
6049
- # providers are available to all accounts and only need to be associated
6050
- # with a cluster to be used.
6051
- #
6052
- # The PutClusterCapacityProviders API operation is used to update the
6053
- # list of available capacity providers for a cluster after the cluster
6054
- # is created.
6055
- #
6056
6171
  # @option params [String] :cluster
6057
6172
  # The short name or full Amazon Resource Name (ARN) of the cluster on
6058
6173
  # which to run your task. If you do not specify a cluster, the default
@@ -6071,15 +6186,27 @@ module Aws::ECS
6071
6186
  #
6072
6187
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
6073
6188
  #
6189
+ # @option params [Boolean] :enable_execute_command
6190
+ # Whether or not to enable the execute command functionality for the
6191
+ # containers in this task. If `true`, this enables execute command
6192
+ # functionality on all containers in the task.
6193
+ #
6074
6194
  # @option params [String] :group
6075
6195
  # The name of the task group to associate with the task. The default
6076
6196
  # value is the family name of the task definition (for example,
6077
6197
  # family:my-family-name).
6078
6198
  #
6079
6199
  # @option params [String] :launch_type
6080
- # The launch type on which to run your task. For more information, see
6081
- # [Amazon ECS Launch Types][1] in the *Amazon Elastic Container Service
6082
- # Developer Guide*.
6200
+ # The launch type on which to run your task. The accepted values are
6201
+ # `FARGATE` and `EC2`. For more information, see [Amazon ECS Launch
6202
+ # Types][1] in the *Amazon Elastic Container Service Developer Guide*.
6203
+ #
6204
+ # When a value of `FARGATE` is specified, your tasks are launched on AWS
6205
+ # Fargate On-Demand infrastructure. To use Fargate Spot, you must use a
6206
+ # capacity provider strategy with the `FARGATE_SPOT` capacity provider.
6207
+ #
6208
+ # When a value of `EC2` is specified, your tasks are launched on Amazon
6209
+ # EC2 instances registered to your cluster.
6083
6210
  #
6084
6211
  # If a `launchType` is specified, the `capacityProviderStrategy`
6085
6212
  # parameter must be omitted.
@@ -6251,6 +6378,7 @@ module Aws::ECS
6251
6378
  # cluster: "String",
6252
6379
  # count: 1,
6253
6380
  # enable_ecs_managed_tags: false,
6381
+ # enable_execute_command: false,
6254
6382
  # group: "String",
6255
6383
  # launch_type: "EC2", # accepts EC2, FARGATE
6256
6384
  # network_configuration: {
@@ -6298,6 +6426,9 @@ module Aws::ECS
6298
6426
  # execution_role_arn: "String",
6299
6427
  # memory: "String",
6300
6428
  # task_role_arn: "String",
6429
+ # ephemeral_storage: {
6430
+ # size_in_gi_b: 1, # required
6431
+ # },
6301
6432
  # },
6302
6433
  # placement_constraints: [
6303
6434
  # {
@@ -6365,6 +6496,11 @@ module Aws::ECS
6365
6496
  # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String
6366
6497
  # resp.tasks[0].containers[0].network_interfaces[0].ipv6_address #=> String
6367
6498
  # resp.tasks[0].containers[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
6499
+ # resp.tasks[0].containers[0].managed_agents #=> Array
6500
+ # resp.tasks[0].containers[0].managed_agents[0].last_started_at #=> Time
6501
+ # resp.tasks[0].containers[0].managed_agents[0].name #=> String, one of "ExecuteCommandAgent"
6502
+ # resp.tasks[0].containers[0].managed_agents[0].reason #=> String
6503
+ # resp.tasks[0].containers[0].managed_agents[0].last_status #=> String
6368
6504
  # resp.tasks[0].containers[0].cpu #=> String
6369
6505
  # resp.tasks[0].containers[0].memory #=> String
6370
6506
  # resp.tasks[0].containers[0].memory_reservation #=> String
@@ -6373,6 +6509,7 @@ module Aws::ECS
6373
6509
  # resp.tasks[0].cpu #=> String
6374
6510
  # resp.tasks[0].created_at #=> Time
6375
6511
  # resp.tasks[0].desired_status #=> String
6512
+ # resp.tasks[0].enable_execute_command #=> Boolean
6376
6513
  # resp.tasks[0].execution_stopped_at #=> Time
6377
6514
  # resp.tasks[0].group #=> String
6378
6515
  # resp.tasks[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
@@ -6405,6 +6542,7 @@ module Aws::ECS
6405
6542
  # resp.tasks[0].overrides.execution_role_arn #=> String
6406
6543
  # resp.tasks[0].overrides.memory #=> String
6407
6544
  # resp.tasks[0].overrides.task_role_arn #=> String
6545
+ # resp.tasks[0].overrides.ephemeral_storage.size_in_gi_b #=> Integer
6408
6546
  # resp.tasks[0].platform_version #=> String
6409
6547
  # resp.tasks[0].pull_started_at #=> Time
6410
6548
  # resp.tasks[0].pull_stopped_at #=> Time
@@ -6420,6 +6558,7 @@ module Aws::ECS
6420
6558
  # resp.tasks[0].task_arn #=> String
6421
6559
  # resp.tasks[0].task_definition_arn #=> String
6422
6560
  # resp.tasks[0].version #=> Integer
6561
+ # resp.tasks[0].ephemeral_storage.size_in_gi_b #=> Integer
6423
6562
  # resp.failures #=> Array
6424
6563
  # resp.failures[0].arn #=> String
6425
6564
  # resp.failures[0].reason #=> String
@@ -6464,6 +6603,11 @@ module Aws::ECS
6464
6603
  #
6465
6604
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
6466
6605
  #
6606
+ # @option params [Boolean] :enable_execute_command
6607
+ # Whether or not the execute command functionality is enabled for the
6608
+ # task. If `true`, this enables execute command functionality on all
6609
+ # containers in the task.
6610
+ #
6467
6611
  # @option params [String] :group
6468
6612
  # The name of the task group to associate with the task. The default
6469
6613
  # value is the family name of the task definition (for example,
@@ -6555,6 +6699,7 @@ module Aws::ECS
6555
6699
  # cluster: "String",
6556
6700
  # container_instances: ["String"], # required
6557
6701
  # enable_ecs_managed_tags: false,
6702
+ # enable_execute_command: false,
6558
6703
  # group: "String",
6559
6704
  # network_configuration: {
6560
6705
  # awsvpc_configuration: {
@@ -6601,6 +6746,9 @@ module Aws::ECS
6601
6746
  # execution_role_arn: "String",
6602
6747
  # memory: "String",
6603
6748
  # task_role_arn: "String",
6749
+ # ephemeral_storage: {
6750
+ # size_in_gi_b: 1, # required
6751
+ # },
6604
6752
  # },
6605
6753
  # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
6606
6754
  # reference_id: "String",
@@ -6655,6 +6803,11 @@ module Aws::ECS
6655
6803
  # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String
6656
6804
  # resp.tasks[0].containers[0].network_interfaces[0].ipv6_address #=> String
6657
6805
  # resp.tasks[0].containers[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
6806
+ # resp.tasks[0].containers[0].managed_agents #=> Array
6807
+ # resp.tasks[0].containers[0].managed_agents[0].last_started_at #=> Time
6808
+ # resp.tasks[0].containers[0].managed_agents[0].name #=> String, one of "ExecuteCommandAgent"
6809
+ # resp.tasks[0].containers[0].managed_agents[0].reason #=> String
6810
+ # resp.tasks[0].containers[0].managed_agents[0].last_status #=> String
6658
6811
  # resp.tasks[0].containers[0].cpu #=> String
6659
6812
  # resp.tasks[0].containers[0].memory #=> String
6660
6813
  # resp.tasks[0].containers[0].memory_reservation #=> String
@@ -6663,6 +6816,7 @@ module Aws::ECS
6663
6816
  # resp.tasks[0].cpu #=> String
6664
6817
  # resp.tasks[0].created_at #=> Time
6665
6818
  # resp.tasks[0].desired_status #=> String
6819
+ # resp.tasks[0].enable_execute_command #=> Boolean
6666
6820
  # resp.tasks[0].execution_stopped_at #=> Time
6667
6821
  # resp.tasks[0].group #=> String
6668
6822
  # resp.tasks[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
@@ -6695,6 +6849,7 @@ module Aws::ECS
6695
6849
  # resp.tasks[0].overrides.execution_role_arn #=> String
6696
6850
  # resp.tasks[0].overrides.memory #=> String
6697
6851
  # resp.tasks[0].overrides.task_role_arn #=> String
6852
+ # resp.tasks[0].overrides.ephemeral_storage.size_in_gi_b #=> Integer
6698
6853
  # resp.tasks[0].platform_version #=> String
6699
6854
  # resp.tasks[0].pull_started_at #=> Time
6700
6855
  # resp.tasks[0].pull_stopped_at #=> Time
@@ -6710,6 +6865,7 @@ module Aws::ECS
6710
6865
  # resp.tasks[0].task_arn #=> String
6711
6866
  # resp.tasks[0].task_definition_arn #=> String
6712
6867
  # resp.tasks[0].version #=> Integer
6868
+ # resp.tasks[0].ephemeral_storage.size_in_gi_b #=> Integer
6713
6869
  # resp.failures #=> Array
6714
6870
  # resp.failures[0].arn #=> String
6715
6871
  # resp.failures[0].reason #=> String
@@ -6812,6 +6968,11 @@ module Aws::ECS
6812
6968
  # resp.task.containers[0].network_interfaces[0].private_ipv_4_address #=> String
6813
6969
  # resp.task.containers[0].network_interfaces[0].ipv6_address #=> String
6814
6970
  # resp.task.containers[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
6971
+ # resp.task.containers[0].managed_agents #=> Array
6972
+ # resp.task.containers[0].managed_agents[0].last_started_at #=> Time
6973
+ # resp.task.containers[0].managed_agents[0].name #=> String, one of "ExecuteCommandAgent"
6974
+ # resp.task.containers[0].managed_agents[0].reason #=> String
6975
+ # resp.task.containers[0].managed_agents[0].last_status #=> String
6815
6976
  # resp.task.containers[0].cpu #=> String
6816
6977
  # resp.task.containers[0].memory #=> String
6817
6978
  # resp.task.containers[0].memory_reservation #=> String
@@ -6820,6 +6981,7 @@ module Aws::ECS
6820
6981
  # resp.task.cpu #=> String
6821
6982
  # resp.task.created_at #=> Time
6822
6983
  # resp.task.desired_status #=> String
6984
+ # resp.task.enable_execute_command #=> Boolean
6823
6985
  # resp.task.execution_stopped_at #=> Time
6824
6986
  # resp.task.group #=> String
6825
6987
  # resp.task.health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
@@ -6852,6 +7014,7 @@ module Aws::ECS
6852
7014
  # resp.task.overrides.execution_role_arn #=> String
6853
7015
  # resp.task.overrides.memory #=> String
6854
7016
  # resp.task.overrides.task_role_arn #=> String
7017
+ # resp.task.overrides.ephemeral_storage.size_in_gi_b #=> Integer
6855
7018
  # resp.task.platform_version #=> String
6856
7019
  # resp.task.pull_started_at #=> Time
6857
7020
  # resp.task.pull_stopped_at #=> Time
@@ -6867,6 +7030,7 @@ module Aws::ECS
6867
7030
  # resp.task.task_arn #=> String
6868
7031
  # resp.task.task_definition_arn #=> String
6869
7032
  # resp.task.version #=> Integer
7033
+ # resp.task.ephemeral_storage.size_in_gi_b #=> Integer
6870
7034
  #
6871
7035
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask AWS API Documentation
6872
7036
  #
@@ -7015,6 +7179,9 @@ module Aws::ECS
7015
7179
  # @option params [Array<Types::AttachmentStateChange>] :attachments
7016
7180
  # Any attachments associated with the state change request.
7017
7181
  #
7182
+ # @option params [Array<Types::ManagedAgentStateChange>] :managed_agents
7183
+ # The details for the managed agent associated with the task.
7184
+ #
7018
7185
  # @option params [Time,DateTime,Date,Integer,String] :pull_started_at
7019
7186
  # The Unix timestamp for when the container image pull began.
7020
7187
  #
@@ -7059,6 +7226,14 @@ module Aws::ECS
7059
7226
  # status: "String", # required
7060
7227
  # },
7061
7228
  # ],
7229
+ # managed_agents: [
7230
+ # {
7231
+ # container_name: "String", # required
7232
+ # managed_agent_name: "ExecuteCommandAgent", # required, accepts ExecuteCommandAgent
7233
+ # status: "String", # required
7234
+ # reason: "String",
7235
+ # },
7236
+ # ],
7062
7237
  # pull_started_at: Time.now,
7063
7238
  # pull_stopped_at: Time.now,
7064
7239
  # execution_stopped_at: Time.now,
@@ -7205,11 +7380,11 @@ module Aws::ECS
7205
7380
  # Modifies the parameters for a capacity provider.
7206
7381
  #
7207
7382
  # @option params [required, String] :name
7208
- # An object representing the parameters to update for the Auto Scaling
7209
- # group capacity provider.
7383
+ # The name of the capacity provider to update.
7210
7384
  #
7211
7385
  # @option params [required, Types::AutoScalingGroupProviderUpdate] :auto_scaling_group_provider
7212
- # The name of the capacity provider to update.
7386
+ # An object representing the parameters to update for the Auto Scaling
7387
+ # group capacity provider.
7213
7388
  #
7214
7389
  # @return [Types::UpdateCapacityProviderResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7215
7390
  #
@@ -7258,6 +7433,95 @@ module Aws::ECS
7258
7433
  req.send_request(options)
7259
7434
  end
7260
7435
 
7436
+ # Updates the cluster.
7437
+ #
7438
+ # @option params [required, String] :cluster
7439
+ # The name of the cluster to modify the settings for.
7440
+ #
7441
+ # @option params [Array<Types::ClusterSetting>] :settings
7442
+ # The cluster settings for your cluster.
7443
+ #
7444
+ # @option params [Types::ClusterConfiguration] :configuration
7445
+ # The execute command configuration for the cluster.
7446
+ #
7447
+ # @return [Types::UpdateClusterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7448
+ #
7449
+ # * {Types::UpdateClusterResponse#cluster #cluster} => Types::Cluster
7450
+ #
7451
+ # @example Request syntax with placeholder values
7452
+ #
7453
+ # resp = client.update_cluster({
7454
+ # cluster: "String", # required
7455
+ # settings: [
7456
+ # {
7457
+ # name: "containerInsights", # accepts containerInsights
7458
+ # value: "String",
7459
+ # },
7460
+ # ],
7461
+ # configuration: {
7462
+ # execute_command_configuration: {
7463
+ # kms_key_id: "String",
7464
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
7465
+ # log_configuration: {
7466
+ # cloud_watch_log_group_name: "String",
7467
+ # cloud_watch_encryption_enabled: false,
7468
+ # s3_bucket_name: "String",
7469
+ # s3_encryption_enabled: false,
7470
+ # s3_key_prefix: "String",
7471
+ # },
7472
+ # },
7473
+ # },
7474
+ # })
7475
+ #
7476
+ # @example Response structure
7477
+ #
7478
+ # resp.cluster.cluster_arn #=> String
7479
+ # resp.cluster.cluster_name #=> String
7480
+ # resp.cluster.configuration.execute_command_configuration.kms_key_id #=> String
7481
+ # resp.cluster.configuration.execute_command_configuration.logging #=> String, one of "NONE", "DEFAULT", "OVERRIDE"
7482
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_log_group_name #=> String
7483
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_encryption_enabled #=> Boolean
7484
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_bucket_name #=> String
7485
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_encryption_enabled #=> Boolean
7486
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_key_prefix #=> String
7487
+ # resp.cluster.status #=> String
7488
+ # resp.cluster.registered_container_instances_count #=> Integer
7489
+ # resp.cluster.running_tasks_count #=> Integer
7490
+ # resp.cluster.pending_tasks_count #=> Integer
7491
+ # resp.cluster.active_services_count #=> Integer
7492
+ # resp.cluster.statistics #=> Array
7493
+ # resp.cluster.statistics[0].name #=> String
7494
+ # resp.cluster.statistics[0].value #=> String
7495
+ # resp.cluster.tags #=> Array
7496
+ # resp.cluster.tags[0].key #=> String
7497
+ # resp.cluster.tags[0].value #=> String
7498
+ # resp.cluster.settings #=> Array
7499
+ # resp.cluster.settings[0].name #=> String, one of "containerInsights"
7500
+ # resp.cluster.settings[0].value #=> String
7501
+ # resp.cluster.capacity_providers #=> Array
7502
+ # resp.cluster.capacity_providers[0] #=> String
7503
+ # resp.cluster.default_capacity_provider_strategy #=> Array
7504
+ # resp.cluster.default_capacity_provider_strategy[0].capacity_provider #=> String
7505
+ # resp.cluster.default_capacity_provider_strategy[0].weight #=> Integer
7506
+ # resp.cluster.default_capacity_provider_strategy[0].base #=> Integer
7507
+ # resp.cluster.attachments #=> Array
7508
+ # resp.cluster.attachments[0].id #=> String
7509
+ # resp.cluster.attachments[0].type #=> String
7510
+ # resp.cluster.attachments[0].status #=> String
7511
+ # resp.cluster.attachments[0].details #=> Array
7512
+ # resp.cluster.attachments[0].details[0].name #=> String
7513
+ # resp.cluster.attachments[0].details[0].value #=> String
7514
+ # resp.cluster.attachments_status #=> String
7515
+ #
7516
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCluster AWS API Documentation
7517
+ #
7518
+ # @overload update_cluster(params = {})
7519
+ # @param [Hash] params ({})
7520
+ def update_cluster(params = {}, options = {})
7521
+ req = build_request(:update_cluster, params)
7522
+ req.send_request(options)
7523
+ end
7524
+
7261
7525
  # Modifies the settings to use for a cluster.
7262
7526
  #
7263
7527
  # @option params [required, String] :cluster
@@ -7289,6 +7553,13 @@ module Aws::ECS
7289
7553
  #
7290
7554
  # resp.cluster.cluster_arn #=> String
7291
7555
  # resp.cluster.cluster_name #=> String
7556
+ # resp.cluster.configuration.execute_command_configuration.kms_key_id #=> String
7557
+ # resp.cluster.configuration.execute_command_configuration.logging #=> String, one of "NONE", "DEFAULT", "OVERRIDE"
7558
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_log_group_name #=> String
7559
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_encryption_enabled #=> Boolean
7560
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_bucket_name #=> String
7561
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_encryption_enabled #=> Boolean
7562
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_key_prefix #=> String
7292
7563
  # resp.cluster.status #=> String
7293
7564
  # resp.cluster.registered_container_instances_count #=> Integer
7294
7565
  # resp.cluster.running_tasks_count #=> Integer
@@ -7334,15 +7605,25 @@ module Aws::ECS
7334
7605
  # instance was launched with the Amazon ECS-optimized AMI or another
7335
7606
  # operating system.
7336
7607
  #
7337
- # `UpdateContainerAgent` requires the Amazon ECS-optimized AMI or Amazon
7338
- # Linux with the `ecs-init` service installed and running. For help
7339
- # updating the Amazon ECS container agent on other operating systems,
7340
- # see [Manually Updating the Amazon ECS Container Agent][1] in the
7341
- # *Amazon Elastic Container Service Developer Guide*.
7608
+ # <note markdown="1"> The `UpdateContainerAgent` API isn't supported for container
7609
+ # instances using the Amazon ECS-optimized Amazon Linux 2 (arm64) AMI.
7610
+ # To update the container agent, you can update the `ecs-init` package
7611
+ # which will update the agent. For more information, see [Updating the
7612
+ # Amazon ECS container agent][1] in the *Amazon Elastic Container
7613
+ # Service Developer Guide*.
7342
7614
  #
7615
+ # </note>
7616
+ #
7617
+ # The `UpdateContainerAgent` API requires an Amazon ECS-optimized AMI or
7618
+ # Amazon Linux AMI with the `ecs-init` service installed and running.
7619
+ # For help updating the Amazon ECS container agent on other operating
7620
+ # systems, see [Manually updating the Amazon ECS container agent][2] in
7621
+ # the *Amazon Elastic Container Service Developer Guide*.
7343
7622
  #
7344
7623
  #
7345
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent
7624
+ #
7625
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/agent-update-ecs-ami.html
7626
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent
7346
7627
  #
7347
7628
  # @option params [String] :cluster
7348
7629
  # The short name or full Amazon Resource Name (ARN) of the cluster that
@@ -7743,8 +8024,7 @@ module Aws::ECS
7743
8024
  # the deployment and the ordering of stopping and starting tasks.
7744
8025
  #
7745
8026
  # @option params [Types::NetworkConfiguration] :network_configuration
7746
- # An object representing the network configuration for a task or
7747
- # service.
8027
+ # An object representing the network configuration for the service.
7748
8028
  #
7749
8029
  # @option params [Array<Types::PlacementConstraint>] :placement_constraints
7750
8030
  # An array of task placement constraint objects to update the service to
@@ -7798,6 +8078,13 @@ module Aws::ECS
7798
8078
  # prevent the ECS service scheduler from marking tasks as unhealthy and
7799
8079
  # stopping them before they have time to come up.
7800
8080
  #
8081
+ # @option params [Boolean] :enable_execute_command
8082
+ # If `true`, this enables execute command functionality on all task
8083
+ # containers.
8084
+ #
8085
+ # If you do not want to override the value that was set when the service
8086
+ # was created, you can set this to `null` when performing this action.
8087
+ #
7801
8088
  # @return [Types::UpdateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7802
8089
  #
7803
8090
  # * {Types::UpdateServiceResponse#service #service} => Types::Service
@@ -7873,6 +8160,7 @@ module Aws::ECS
7873
8160
  # platform_version: "String",
7874
8161
  # force_new_deployment: false,
7875
8162
  # health_check_grace_period_seconds: 1,
8163
+ # enable_execute_command: false,
7876
8164
  # })
7877
8165
  #
7878
8166
  # @example Response structure
@@ -7996,6 +8284,7 @@ module Aws::ECS
7996
8284
  # resp.service.created_by #=> String
7997
8285
  # resp.service.enable_ecs_managed_tags #=> Boolean
7998
8286
  # resp.service.propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
8287
+ # resp.service.enable_execute_command #=> Boolean
7999
8288
  #
8000
8289
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService AWS API Documentation
8001
8290
  #
@@ -8201,7 +8490,7 @@ module Aws::ECS
8201
8490
  params: params,
8202
8491
  config: config)
8203
8492
  context[:gem_name] = 'aws-sdk-ecs'
8204
- context[:gem_version] = '1.72.0'
8493
+ context[:gem_version] = '1.77.0'
8205
8494
  Seahorse::Client::Request.new(handlers, context)
8206
8495
  end
8207
8496