aws-sdk-ecs 1.73.0 → 1.78.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.
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.78.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.73.0'
52
+ GEM_VERSION = '1.78.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
 
@@ -461,7 +461,8 @@ module Aws::ECS
461
461
  # @option params [String] :cluster_name
462
462
  # The name of your cluster. If you do not specify a name for your
463
463
  # cluster, you create a cluster named `default`. Up to 255 letters
464
- # (uppercase and lowercase), numbers, and hyphens are allowed.
464
+ # (uppercase and lowercase), numbers, underscores, and hyphens are
465
+ # allowed.
465
466
  #
466
467
  # @option params [Array<Types::Tag>] :tags
467
468
  # The metadata that you apply to the cluster to help you categorize and
@@ -499,14 +500,20 @@ module Aws::ECS
499
500
  # specified, it will override the `containerInsights` value set with
500
501
  # PutAccountSetting or PutAccountSettingDefault.
501
502
  #
503
+ # @option params [Types::ClusterConfiguration] :configuration
504
+ # The execute command configuration for the cluster.
505
+ #
502
506
  # @option params [Array<String>] :capacity_providers
503
507
  # The short name of one or more capacity providers to associate with the
504
- # cluster.
508
+ # cluster. A capacity provider must be associated with a cluster before
509
+ # it can be included as part of the default capacity provider strategy
510
+ # of the cluster or used in a capacity provider strategy when calling
511
+ # the CreateService or RunTask actions.
505
512
  #
506
513
  # If specifying a capacity provider that uses an Auto Scaling group, the
507
514
  # 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.
515
+ # with another cluster. New Auto Scaling group capacity providers can be
516
+ # created with the CreateCapacityProvider API operation.
510
517
  #
511
518
  # To use a AWS Fargate capacity provider, specify either the `FARGATE`
512
519
  # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
@@ -518,27 +525,11 @@ module Aws::ECS
518
525
  # is created.
519
526
  #
520
527
  # @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.
528
+ # The capacity provider strategy to set as the default for the cluster.
529
+ # When a default capacity provider strategy is set for a cluster, when
530
+ # calling the RunTask or CreateService APIs wtih no capacity provider
531
+ # strategy or launch type specified, the default capacity provider
532
+ # strategy for the cluster is used.
542
533
  #
543
534
  # If a default capacity provider strategy is not defined for a cluster
544
535
  # during creation, it can be defined later with the
@@ -586,6 +577,19 @@ module Aws::ECS
586
577
  # value: "String",
587
578
  # },
588
579
  # ],
580
+ # configuration: {
581
+ # execute_command_configuration: {
582
+ # kms_key_id: "String",
583
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
584
+ # log_configuration: {
585
+ # cloud_watch_log_group_name: "String",
586
+ # cloud_watch_encryption_enabled: false,
587
+ # s3_bucket_name: "String",
588
+ # s3_encryption_enabled: false,
589
+ # s3_key_prefix: "String",
590
+ # },
591
+ # },
592
+ # },
589
593
  # capacity_providers: ["String"],
590
594
  # default_capacity_provider_strategy: [
591
595
  # {
@@ -600,6 +604,13 @@ module Aws::ECS
600
604
  #
601
605
  # resp.cluster.cluster_arn #=> String
602
606
  # resp.cluster.cluster_name #=> String
607
+ # resp.cluster.configuration.execute_command_configuration.kms_key_id #=> String
608
+ # resp.cluster.configuration.execute_command_configuration.logging #=> String, one of "NONE", "DEFAULT", "OVERRIDE"
609
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_log_group_name #=> String
610
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_encryption_enabled #=> Boolean
611
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_bucket_name #=> String
612
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_encryption_enabled #=> Boolean
613
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_key_prefix #=> String
603
614
  # resp.cluster.status #=> String
604
615
  # resp.cluster.registered_container_instances_count #=> Integer
605
616
  # resp.cluster.running_tasks_count #=> Integer
@@ -768,9 +779,9 @@ module Aws::ECS
768
779
  #
769
780
  # @option params [required, String] :service_name
770
781
  # The name of your service. Up to 255 letters (uppercase and lowercase),
771
- # numbers, and hyphens are allowed. Service names must be unique within
772
- # a cluster, but you can have similarly named services in multiple
773
- # clusters within a Region or across multiple Regions.
782
+ # numbers, underscores, and hyphens are allowed. Service names must be
783
+ # unique within a cluster, but you can have similarly named services in
784
+ # multiple clusters within a Region or across multiple Regions.
774
785
  #
775
786
  # @option params [String] :task_definition
776
787
  # The `family` and `revision` (`family:revision`) or full ARN of the
@@ -790,7 +801,7 @@ module Aws::ECS
790
801
  # Load Balancer, you must specify one or more target group ARNs to
791
802
  # attach to the service. The service-linked role is required for
792
803
  # services that make use of multiple target groups. For more
793
- # information, see [Using Service-Linked Roles for Amazon ECS][2] in the
804
+ # information, see [Using service-linked roles for Amazon ECS][2] in the
794
805
  # *Amazon Elastic Container Service Developer Guide*.
795
806
  #
796
807
  # If the service is using the `CODE_DEPLOY` deployment controller, the
@@ -840,19 +851,17 @@ module Aws::ECS
840
851
  # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html
841
852
  #
842
853
  # @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].
854
+ # The details of the service discovery registry to associate with this
855
+ # service. For more information, see [Service discovery][1].
845
856
  #
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].
857
+ # <note markdown="1"> Each service may be associated with one service registry. Multiple
858
+ # service registries per service isn't supported.
849
859
  #
850
860
  # </note>
851
861
  #
852
862
  #
853
863
  #
854
864
  # [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
865
  #
857
866
  # @option params [Integer] :desired_count
858
867
  # The number of instantiations of the specified task definition to place
@@ -867,9 +876,16 @@ module Aws::ECS
867
876
  # idempotency of the request. Up to 32 ASCII characters are allowed.
868
877
  #
869
878
  # @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*.
879
+ # The launch type on which to run your service. The accepted values are
880
+ # `FARGATE` and `EC2`. For more information, see [Amazon ECS launch
881
+ # types][1] in the *Amazon Elastic Container Service Developer Guide*.
882
+ #
883
+ # When a value of `FARGATE` is specified, your tasks are launched on AWS
884
+ # Fargate On-Demand infrastructure. To use Fargate Spot, you must use a
885
+ # capacity provider strategy with the `FARGATE_SPOT` capacity provider.
886
+ #
887
+ # When a value of `EC2` is specified, your tasks are launched on Amazon
888
+ # EC2 instances registered to your cluster.
873
889
  #
874
890
  # If a `launchType` is specified, the `capacityProviderStrategy`
875
891
  # parameter must be omitted.
@@ -881,37 +897,17 @@ module Aws::ECS
881
897
  # @option params [Array<Types::CapacityProviderStrategyItem>] :capacity_provider_strategy
882
898
  # The capacity provider strategy to use for the service.
883
899
  #
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
900
  # If a `capacityProviderStrategy` is specified, the `launchType`
892
901
  # parameter must be omitted. If no `capacityProviderStrategy` or
893
902
  # `launchType` is specified, the `defaultCapacityProviderStrategy` for
894
903
  # the cluster is used.
895
904
  #
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
905
  # @option params [String] :platform_version
910
906
  # The platform version that your tasks in the service are running on. A
911
907
  # platform version is specified only for tasks using the Fargate launch
912
908
  # 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
909
+ # by default. For more information, see [AWS Fargate platform
910
+ # versions][1] in the *Amazon Elastic Container Service Developer
915
911
  # Guide*.
916
912
  #
917
913
  #
@@ -933,14 +929,14 @@ module Aws::ECS
933
929
  # configured to use service discovery, an external deployment
934
930
  # controller, multiple target groups, or Elastic Inference accelerators
935
931
  # 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
932
+ # information, see [Using service-linked roles for Amazon ECS][1] in the
937
933
  # *Amazon Elastic Container Service Developer Guide*.
938
934
  #
939
935
  # If your specified role has a path other than `/`, then you must either
940
936
  # specify the full role ARN (this is recommended) or prefix the role
941
937
  # name with the path. For example, if a role with the name `bar` has a
942
938
  # 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
939
+ # For more information, see [Friendly names and paths][2] in the *IAM
944
940
  # User Guide*.
945
941
  #
946
942
  #
@@ -966,7 +962,7 @@ module Aws::ECS
966
962
  # The network configuration for the service. This parameter is required
967
963
  # for task definitions that use the `awsvpc` network mode to receive
968
964
  # their own elastic network interface, and it is not supported for other
969
- # network modes. For more information, see [Task Networking][1] in the
965
+ # network modes. For more information, see [Task networking][1] in the
970
966
  # *Amazon Elastic Container Service Developer Guide*.
971
967
  #
972
968
  #
@@ -1021,7 +1017,8 @@ module Aws::ECS
1021
1017
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html
1022
1018
  #
1023
1019
  # @option params [Types::DeploymentController] :deployment_controller
1024
- # The deployment controller to use for the service.
1020
+ # The deployment controller to use for the service. If no deployment
1021
+ # controller is specified, the default value of `ECS` is used.
1025
1022
  #
1026
1023
  # @option params [Array<Types::Tag>] :tags
1027
1024
  # The metadata that you apply to the service to help you categorize and
@@ -1071,6 +1068,11 @@ module Aws::ECS
1071
1068
  # within the service during service creation. To add tags to a task
1072
1069
  # after service creation, use the TagResource API action.
1073
1070
  #
1071
+ # @option params [Boolean] :enable_execute_command
1072
+ # Whether or not the execute command functionality is enabled for the
1073
+ # service. If `true`, this enables execute command functionality on all
1074
+ # containers in the service tasks.
1075
+ #
1074
1076
  # @return [Types::CreateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1075
1077
  #
1076
1078
  # * {Types::CreateServiceResponse#service #service} => Types::Service
@@ -1267,6 +1269,7 @@ module Aws::ECS
1267
1269
  # ],
1268
1270
  # enable_ecs_managed_tags: false,
1269
1271
  # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
1272
+ # enable_execute_command: false,
1270
1273
  # })
1271
1274
  #
1272
1275
  # @example Response structure
@@ -1390,6 +1393,7 @@ module Aws::ECS
1390
1393
  # resp.service.created_by #=> String
1391
1394
  # resp.service.enable_ecs_managed_tags #=> Boolean
1392
1395
  # resp.service.propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
1396
+ # resp.service.enable_execute_command #=> Boolean
1393
1397
  #
1394
1398
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService AWS API Documentation
1395
1399
  #
@@ -1428,8 +1432,7 @@ module Aws::ECS
1428
1432
  # The task definition for the tasks in the task set to use.
1429
1433
  #
1430
1434
  # @option params [Types::NetworkConfiguration] :network_configuration
1431
- # An object representing the network configuration for a task or
1432
- # service.
1435
+ # An object representing the network configuration for a task set.
1433
1436
  #
1434
1437
  # @option params [Array<Types::LoadBalancer>] :load_balancers
1435
1438
  # A load balancer object representing the load balancer to use with the
@@ -1881,6 +1884,13 @@ module Aws::ECS
1881
1884
  #
1882
1885
  # resp.cluster.cluster_arn #=> String
1883
1886
  # resp.cluster.cluster_name #=> String
1887
+ # resp.cluster.configuration.execute_command_configuration.kms_key_id #=> String
1888
+ # resp.cluster.configuration.execute_command_configuration.logging #=> String, one of "NONE", "DEFAULT", "OVERRIDE"
1889
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_log_group_name #=> String
1890
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_encryption_enabled #=> Boolean
1891
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_bucket_name #=> String
1892
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_encryption_enabled #=> Boolean
1893
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_key_prefix #=> String
1884
1894
  # resp.cluster.status #=> String
1885
1895
  # resp.cluster.registered_container_instances_count #=> Integer
1886
1896
  # resp.cluster.running_tasks_count #=> Integer
@@ -2102,6 +2112,7 @@ module Aws::ECS
2102
2112
  # resp.service.created_by #=> String
2103
2113
  # resp.service.enable_ecs_managed_tags #=> Boolean
2104
2114
  # resp.service.propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
2115
+ # resp.service.enable_execute_command #=> Boolean
2105
2116
  #
2106
2117
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService AWS API Documentation
2107
2118
  #
@@ -2528,6 +2539,7 @@ module Aws::ECS
2528
2539
  # resp.task_definition.registered_at #=> Time
2529
2540
  # resp.task_definition.deregistered_at #=> Time
2530
2541
  # resp.task_definition.registered_by #=> String
2542
+ # resp.task_definition.ephemeral_storage.size_in_gi_b #=> Integer
2531
2543
  #
2532
2544
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition AWS API Documentation
2533
2545
  #
@@ -2695,7 +2707,7 @@ module Aws::ECS
2695
2707
  #
2696
2708
  # resp = client.describe_clusters({
2697
2709
  # clusters: ["String"],
2698
- # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, SETTINGS, STATISTICS, TAGS
2710
+ # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, CONFIGURATIONS, SETTINGS, STATISTICS, TAGS
2699
2711
  # })
2700
2712
  #
2701
2713
  # @example Response structure
@@ -2703,6 +2715,13 @@ module Aws::ECS
2703
2715
  # resp.clusters #=> Array
2704
2716
  # resp.clusters[0].cluster_arn #=> String
2705
2717
  # resp.clusters[0].cluster_name #=> String
2718
+ # resp.clusters[0].configuration.execute_command_configuration.kms_key_id #=> String
2719
+ # resp.clusters[0].configuration.execute_command_configuration.logging #=> String, one of "NONE", "DEFAULT", "OVERRIDE"
2720
+ # resp.clusters[0].configuration.execute_command_configuration.log_configuration.cloud_watch_log_group_name #=> String
2721
+ # resp.clusters[0].configuration.execute_command_configuration.log_configuration.cloud_watch_encryption_enabled #=> Boolean
2722
+ # resp.clusters[0].configuration.execute_command_configuration.log_configuration.s3_bucket_name #=> String
2723
+ # resp.clusters[0].configuration.execute_command_configuration.log_configuration.s3_encryption_enabled #=> Boolean
2724
+ # resp.clusters[0].configuration.execute_command_configuration.log_configuration.s3_key_prefix #=> String
2706
2725
  # resp.clusters[0].status #=> String
2707
2726
  # resp.clusters[0].registered_container_instances_count #=> Integer
2708
2727
  # resp.clusters[0].running_tasks_count #=> Integer
@@ -3137,6 +3156,7 @@ module Aws::ECS
3137
3156
  # resp.services[0].created_by #=> String
3138
3157
  # resp.services[0].enable_ecs_managed_tags #=> Boolean
3139
3158
  # resp.services[0].propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
3159
+ # resp.services[0].enable_execute_command #=> Boolean
3140
3160
  # resp.failures #=> Array
3141
3161
  # resp.failures[0].arn #=> String
3142
3162
  # resp.failures[0].reason #=> String
@@ -3409,6 +3429,7 @@ module Aws::ECS
3409
3429
  # resp.task_definition.registered_at #=> Time
3410
3430
  # resp.task_definition.deregistered_at #=> Time
3411
3431
  # resp.task_definition.registered_by #=> String
3432
+ # resp.task_definition.ephemeral_storage.size_in_gi_b #=> Integer
3412
3433
  # resp.tags #=> Array
3413
3434
  # resp.tags[0].key #=> String
3414
3435
  # resp.tags[0].value #=> String
@@ -3640,6 +3661,11 @@ module Aws::ECS
3640
3661
  # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String
3641
3662
  # resp.tasks[0].containers[0].network_interfaces[0].ipv6_address #=> String
3642
3663
  # resp.tasks[0].containers[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
3664
+ # resp.tasks[0].containers[0].managed_agents #=> Array
3665
+ # resp.tasks[0].containers[0].managed_agents[0].last_started_at #=> Time
3666
+ # resp.tasks[0].containers[0].managed_agents[0].name #=> String, one of "ExecuteCommandAgent"
3667
+ # resp.tasks[0].containers[0].managed_agents[0].reason #=> String
3668
+ # resp.tasks[0].containers[0].managed_agents[0].last_status #=> String
3643
3669
  # resp.tasks[0].containers[0].cpu #=> String
3644
3670
  # resp.tasks[0].containers[0].memory #=> String
3645
3671
  # resp.tasks[0].containers[0].memory_reservation #=> String
@@ -3648,6 +3674,7 @@ module Aws::ECS
3648
3674
  # resp.tasks[0].cpu #=> String
3649
3675
  # resp.tasks[0].created_at #=> Time
3650
3676
  # resp.tasks[0].desired_status #=> String
3677
+ # resp.tasks[0].enable_execute_command #=> Boolean
3651
3678
  # resp.tasks[0].execution_stopped_at #=> Time
3652
3679
  # resp.tasks[0].group #=> String
3653
3680
  # resp.tasks[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
@@ -3680,6 +3707,7 @@ module Aws::ECS
3680
3707
  # resp.tasks[0].overrides.execution_role_arn #=> String
3681
3708
  # resp.tasks[0].overrides.memory #=> String
3682
3709
  # resp.tasks[0].overrides.task_role_arn #=> String
3710
+ # resp.tasks[0].overrides.ephemeral_storage.size_in_gi_b #=> Integer
3683
3711
  # resp.tasks[0].platform_version #=> String
3684
3712
  # resp.tasks[0].pull_started_at #=> Time
3685
3713
  # resp.tasks[0].pull_stopped_at #=> Time
@@ -3695,6 +3723,7 @@ module Aws::ECS
3695
3723
  # resp.tasks[0].task_arn #=> String
3696
3724
  # resp.tasks[0].task_definition_arn #=> String
3697
3725
  # resp.tasks[0].version #=> Integer
3726
+ # resp.tasks[0].ephemeral_storage.size_in_gi_b #=> Integer
3698
3727
  # resp.failures #=> Array
3699
3728
  # resp.failures[0].arn #=> String
3700
3729
  # resp.failures[0].reason #=> String
@@ -3760,6 +3789,66 @@ module Aws::ECS
3760
3789
  req.send_request(options)
3761
3790
  end
3762
3791
 
3792
+ # Runs a command remotely on a container within a task.
3793
+ #
3794
+ # @option params [String] :cluster
3795
+ # The Amazon Resource Name (ARN) or short name of the cluster the task
3796
+ # is running in. If you do not specify a cluster, the default cluster is
3797
+ # assumed.
3798
+ #
3799
+ # @option params [String] :container
3800
+ # The name of the container to execute the command on. A container name
3801
+ # only needs to be specified for tasks containing multiple containers.
3802
+ #
3803
+ # @option params [required, String] :command
3804
+ # The command to run on the container.
3805
+ #
3806
+ # @option params [required, Boolean] :interactive
3807
+ # Use this flag to run your command in interactive mode.
3808
+ #
3809
+ # @option params [required, String] :task
3810
+ # The Amazon Resource Name (ARN) or ID of the task the container is part
3811
+ # of.
3812
+ #
3813
+ # @return [Types::ExecuteCommandResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3814
+ #
3815
+ # * {Types::ExecuteCommandResponse#cluster_arn #cluster_arn} => String
3816
+ # * {Types::ExecuteCommandResponse#container_arn #container_arn} => String
3817
+ # * {Types::ExecuteCommandResponse#container_name #container_name} => String
3818
+ # * {Types::ExecuteCommandResponse#interactive #interactive} => Boolean
3819
+ # * {Types::ExecuteCommandResponse#session #session} => Types::Session
3820
+ # * {Types::ExecuteCommandResponse#task_arn #task_arn} => String
3821
+ #
3822
+ # @example Request syntax with placeholder values
3823
+ #
3824
+ # resp = client.execute_command({
3825
+ # cluster: "String",
3826
+ # container: "String",
3827
+ # command: "String", # required
3828
+ # interactive: false, # required
3829
+ # task: "String", # required
3830
+ # })
3831
+ #
3832
+ # @example Response structure
3833
+ #
3834
+ # resp.cluster_arn #=> String
3835
+ # resp.container_arn #=> String
3836
+ # resp.container_name #=> String
3837
+ # resp.interactive #=> Boolean
3838
+ # resp.session.session_id #=> String
3839
+ # resp.session.stream_url #=> String
3840
+ # resp.session.token_value #=> String
3841
+ # resp.task_arn #=> String
3842
+ #
3843
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommand AWS API Documentation
3844
+ #
3845
+ # @overload execute_command(params = {})
3846
+ # @param [Hash] params ({})
3847
+ def execute_command(params = {}, options = {})
3848
+ req = build_request(:execute_command, params)
3849
+ req.send_request(options)
3850
+ end
3851
+
3763
3852
  # Lists the account settings for a specified principal.
3764
3853
  #
3765
3854
  # @option params [String] :name
@@ -3774,6 +3863,11 @@ module Aws::ECS
3774
3863
  # root user. If this field is omitted, the account settings are listed
3775
3864
  # only for the authenticated user.
3776
3865
  #
3866
+ # <note markdown="1"> Federated users assume the account setting of the root user and can't
3867
+ # have explicit account settings set for them.
3868
+ #
3869
+ # </note>
3870
+ #
3777
3871
  # @option params [Boolean] :effective_settings
3778
3872
  # Specifies whether to return the effective settings. If `true`, the
3779
3873
  # account settings for the root user or the default setting for the
@@ -4732,6 +4826,11 @@ module Aws::ECS
4732
4826
  # this field is omitted, the setting is changed only for the
4733
4827
  # authenticated user.
4734
4828
  #
4829
+ # <note markdown="1"> Federated users assume the account setting of the root user and can't
4830
+ # have explicit account settings set for them.
4831
+ #
4832
+ # </note>
4833
+ #
4735
4834
  # @return [Types::PutAccountSettingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4736
4835
  #
4737
4836
  # * {Types::PutAccountSettingResponse#setting #setting} => Types::Setting
@@ -5005,6 +5104,13 @@ module Aws::ECS
5005
5104
  #
5006
5105
  # resp.cluster.cluster_arn #=> String
5007
5106
  # resp.cluster.cluster_name #=> String
5107
+ # resp.cluster.configuration.execute_command_configuration.kms_key_id #=> String
5108
+ # resp.cluster.configuration.execute_command_configuration.logging #=> String, one of "NONE", "DEFAULT", "OVERRIDE"
5109
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_log_group_name #=> String
5110
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_encryption_enabled #=> Boolean
5111
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_bucket_name #=> String
5112
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_encryption_enabled #=> Boolean
5113
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_key_prefix #=> String
5008
5114
  # resp.cluster.status #=> String
5009
5115
  # resp.cluster.registered_container_instances_count #=> Integer
5010
5116
  # resp.cluster.running_tasks_count #=> Integer
@@ -5256,7 +5362,7 @@ module Aws::ECS
5256
5362
  # You must specify a `family` for a task definition, which allows you to
5257
5363
  # track multiple versions of the same task definition. The `family` is
5258
5364
  # used as a name for your task definition. Up to 255 letters (uppercase
5259
- # and lowercase), numbers, and hyphens are allowed.
5365
+ # and lowercase), numbers, underscores, and hyphens are allowed.
5260
5366
  #
5261
5367
  # @option params [String] :task_role_arn
5262
5368
  # The short name or full Amazon Resource Name (ARN) of the IAM role that
@@ -5350,9 +5456,9 @@ module Aws::ECS
5350
5456
  #
5351
5457
  # @option params [Array<String>] :requires_compatibilities
5352
5458
  # The task launch type that Amazon ECS should validate the task
5353
- # definition against. This ensures that the task definition parameters
5354
- # are compatible with the specified launch type. If no value is
5355
- # specified, it defaults to `EC2`.
5459
+ # definition against. A client exception is returned if the task
5460
+ # definition doesn't validate against the compatibilities specified. If
5461
+ # no value is specified, the parameter is omitted from the response.
5356
5462
  #
5357
5463
  # @option params [String] :cpu
5358
5464
  # The number of CPU units used by the task. It can be expressed as an
@@ -5468,8 +5574,8 @@ module Aws::ECS
5468
5574
  # risk of undesired process namespace expose. For more information, see
5469
5575
  # [Docker security][2].
5470
5576
  #
5471
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks using
5472
- # the Fargate launch type.
5577
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run on
5578
+ # AWS Fargate.
5473
5579
  #
5474
5580
  # </note>
5475
5581
  #
@@ -5507,8 +5613,8 @@ module Aws::ECS
5507
5613
  # * For tasks that use the `task` IPC mode, IPC namespace related
5508
5614
  # `systemControls` will apply to all containers within a task.
5509
5615
  #
5510
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks using
5511
- # the Fargate launch type.
5616
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run on
5617
+ # AWS Fargate.
5512
5618
  #
5513
5619
  # </note>
5514
5620
  #
@@ -5521,22 +5627,39 @@ module Aws::ECS
5521
5627
  # @option params [Types::ProxyConfiguration] :proxy_configuration
5522
5628
  # The configuration details for the App Mesh proxy.
5523
5629
  #
5524
- # For tasks using the EC2 launch type, the container instances require
5525
- # at least version 1.26.0 of the container agent and at least version
5526
- # 1.26.0-1 of the `ecs-init` package to enable a proxy configuration. If
5527
- # your container instances are launched from the Amazon ECS-optimized
5528
- # AMI version `20190301` or later, then they contain the required
5529
- # versions of the container agent and `ecs-init`. For more information,
5530
- # see [Amazon ECS-optimized Linux AMI][1]
5630
+ # For tasks hosted on Amazon EC2 instances, the container instances
5631
+ # require at least version `1.26.0` of the container agent and at least
5632
+ # version `1.26.0-1` of the `ecs-init` package to enable a proxy
5633
+ # configuration. If your container instances are launched from the
5634
+ # Amazon ECS-optimized AMI version `20190301` or later, then they
5635
+ # contain the required versions of the container agent and `ecs-init`.
5636
+ # For more information, see [Amazon ECS-optimized AMI versions][1] in
5637
+ # the *Amazon Elastic Container Service Developer Guide*.
5531
5638
  #
5532
5639
  #
5533
5640
  #
5534
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
5641
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-ami-versions.html
5535
5642
  #
5536
5643
  # @option params [Array<Types::InferenceAccelerator>] :inference_accelerators
5537
5644
  # The Elastic Inference accelerators to use for the containers in the
5538
5645
  # task.
5539
5646
  #
5647
+ # @option params [Types::EphemeralStorage] :ephemeral_storage
5648
+ # The amount of ephemeral storage to allocate for the task. This
5649
+ # parameter is used to expand the total amount of ephemeral storage
5650
+ # available, beyond the default amount, for tasks hosted on AWS Fargate.
5651
+ # For more information, see [Fargate task storage][1] in the *Amazon ECS
5652
+ # User Guide for AWS Fargate*.
5653
+ #
5654
+ # <note markdown="1"> This parameter is only supported for tasks hosted on AWS Fargate using
5655
+ # platform version `1.4.0` or later.
5656
+ #
5657
+ # </note>
5658
+ #
5659
+ #
5660
+ #
5661
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html
5662
+ #
5540
5663
  # @return [Types::RegisterTaskDefinitionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5541
5664
  #
5542
5665
  # * {Types::RegisterTaskDefinitionResponse#task_definition #task_definition} => Types::TaskDefinition
@@ -5826,6 +5949,9 @@ module Aws::ECS
5826
5949
  # device_type: "String", # required
5827
5950
  # },
5828
5951
  # ],
5952
+ # ephemeral_storage: {
5953
+ # size_in_gi_b: 1, # required
5954
+ # },
5829
5955
  # })
5830
5956
  #
5831
5957
  # @example Response structure
@@ -5985,6 +6111,7 @@ module Aws::ECS
5985
6111
  # resp.task_definition.registered_at #=> Time
5986
6112
  # resp.task_definition.deregistered_at #=> Time
5987
6113
  # resp.task_definition.registered_by #=> String
6114
+ # resp.task_definition.ephemeral_storage.size_in_gi_b #=> Integer
5988
6115
  # resp.tags #=> Array
5989
6116
  # resp.tags[0].key #=> String
5990
6117
  # resp.tags[0].value #=> String
@@ -6037,31 +6164,11 @@ module Aws::ECS
6037
6164
  # @option params [Array<Types::CapacityProviderStrategyItem>] :capacity_provider_strategy
6038
6165
  # The capacity provider strategy to use for the task.
6039
6166
  #
6040
- # A capacity provider strategy consists of one or more capacity
6041
- # providers along with the `base` and `weight` to assign to them. A
6042
- # capacity provider must be associated with the cluster to be used in a
6043
- # capacity provider strategy. The PutClusterCapacityProviders API is
6044
- # used to associate a capacity provider with a cluster. Only capacity
6045
- # providers with an `ACTIVE` or `UPDATING` status can be used.
6046
- #
6047
6167
  # If a `capacityProviderStrategy` is specified, the `launchType`
6048
6168
  # parameter must be omitted. If no `capacityProviderStrategy` or
6049
6169
  # `launchType` is specified, the `defaultCapacityProviderStrategy` for
6050
6170
  # the cluster is used.
6051
6171
  #
6052
- # If specifying a capacity provider that uses an Auto Scaling group, the
6053
- # capacity provider must already be created. New capacity providers can
6054
- # be created with the CreateCapacityProvider API operation.
6055
- #
6056
- # To use a AWS Fargate capacity provider, specify either the `FARGATE`
6057
- # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
6058
- # providers are available to all accounts and only need to be associated
6059
- # with a cluster to be used.
6060
- #
6061
- # The PutClusterCapacityProviders API operation is used to update the
6062
- # list of available capacity providers for a cluster after the cluster
6063
- # is created.
6064
- #
6065
6172
  # @option params [String] :cluster
6066
6173
  # The short name or full Amazon Resource Name (ARN) of the cluster on
6067
6174
  # which to run your task. If you do not specify a cluster, the default
@@ -6080,15 +6187,27 @@ module Aws::ECS
6080
6187
  #
6081
6188
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
6082
6189
  #
6190
+ # @option params [Boolean] :enable_execute_command
6191
+ # Whether or not to enable the execute command functionality for the
6192
+ # containers in this task. If `true`, this enables execute command
6193
+ # functionality on all containers in the task.
6194
+ #
6083
6195
  # @option params [String] :group
6084
6196
  # The name of the task group to associate with the task. The default
6085
6197
  # value is the family name of the task definition (for example,
6086
6198
  # family:my-family-name).
6087
6199
  #
6088
6200
  # @option params [String] :launch_type
6089
- # The launch type on which to run your task. For more information, see
6090
- # [Amazon ECS Launch Types][1] in the *Amazon Elastic Container Service
6091
- # Developer Guide*.
6201
+ # The launch type on which to run your task. The accepted values are
6202
+ # `FARGATE` and `EC2`. For more information, see [Amazon ECS Launch
6203
+ # Types][1] in the *Amazon Elastic Container Service Developer Guide*.
6204
+ #
6205
+ # When a value of `FARGATE` is specified, your tasks are launched on AWS
6206
+ # Fargate On-Demand infrastructure. To use Fargate Spot, you must use a
6207
+ # capacity provider strategy with the `FARGATE_SPOT` capacity provider.
6208
+ #
6209
+ # When a value of `EC2` is specified, your tasks are launched on Amazon
6210
+ # EC2 instances registered to your cluster.
6092
6211
  #
6093
6212
  # If a `launchType` is specified, the `capacityProviderStrategy`
6094
6213
  # parameter must be omitted.
@@ -6260,6 +6379,7 @@ module Aws::ECS
6260
6379
  # cluster: "String",
6261
6380
  # count: 1,
6262
6381
  # enable_ecs_managed_tags: false,
6382
+ # enable_execute_command: false,
6263
6383
  # group: "String",
6264
6384
  # launch_type: "EC2", # accepts EC2, FARGATE
6265
6385
  # network_configuration: {
@@ -6307,6 +6427,9 @@ module Aws::ECS
6307
6427
  # execution_role_arn: "String",
6308
6428
  # memory: "String",
6309
6429
  # task_role_arn: "String",
6430
+ # ephemeral_storage: {
6431
+ # size_in_gi_b: 1, # required
6432
+ # },
6310
6433
  # },
6311
6434
  # placement_constraints: [
6312
6435
  # {
@@ -6374,6 +6497,11 @@ module Aws::ECS
6374
6497
  # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String
6375
6498
  # resp.tasks[0].containers[0].network_interfaces[0].ipv6_address #=> String
6376
6499
  # resp.tasks[0].containers[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
6500
+ # resp.tasks[0].containers[0].managed_agents #=> Array
6501
+ # resp.tasks[0].containers[0].managed_agents[0].last_started_at #=> Time
6502
+ # resp.tasks[0].containers[0].managed_agents[0].name #=> String, one of "ExecuteCommandAgent"
6503
+ # resp.tasks[0].containers[0].managed_agents[0].reason #=> String
6504
+ # resp.tasks[0].containers[0].managed_agents[0].last_status #=> String
6377
6505
  # resp.tasks[0].containers[0].cpu #=> String
6378
6506
  # resp.tasks[0].containers[0].memory #=> String
6379
6507
  # resp.tasks[0].containers[0].memory_reservation #=> String
@@ -6382,6 +6510,7 @@ module Aws::ECS
6382
6510
  # resp.tasks[0].cpu #=> String
6383
6511
  # resp.tasks[0].created_at #=> Time
6384
6512
  # resp.tasks[0].desired_status #=> String
6513
+ # resp.tasks[0].enable_execute_command #=> Boolean
6385
6514
  # resp.tasks[0].execution_stopped_at #=> Time
6386
6515
  # resp.tasks[0].group #=> String
6387
6516
  # resp.tasks[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
@@ -6414,6 +6543,7 @@ module Aws::ECS
6414
6543
  # resp.tasks[0].overrides.execution_role_arn #=> String
6415
6544
  # resp.tasks[0].overrides.memory #=> String
6416
6545
  # resp.tasks[0].overrides.task_role_arn #=> String
6546
+ # resp.tasks[0].overrides.ephemeral_storage.size_in_gi_b #=> Integer
6417
6547
  # resp.tasks[0].platform_version #=> String
6418
6548
  # resp.tasks[0].pull_started_at #=> Time
6419
6549
  # resp.tasks[0].pull_stopped_at #=> Time
@@ -6429,6 +6559,7 @@ module Aws::ECS
6429
6559
  # resp.tasks[0].task_arn #=> String
6430
6560
  # resp.tasks[0].task_definition_arn #=> String
6431
6561
  # resp.tasks[0].version #=> Integer
6562
+ # resp.tasks[0].ephemeral_storage.size_in_gi_b #=> Integer
6432
6563
  # resp.failures #=> Array
6433
6564
  # resp.failures[0].arn #=> String
6434
6565
  # resp.failures[0].reason #=> String
@@ -6473,6 +6604,11 @@ module Aws::ECS
6473
6604
  #
6474
6605
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
6475
6606
  #
6607
+ # @option params [Boolean] :enable_execute_command
6608
+ # Whether or not the execute command functionality is enabled for the
6609
+ # task. If `true`, this enables execute command functionality on all
6610
+ # containers in the task.
6611
+ #
6476
6612
  # @option params [String] :group
6477
6613
  # The name of the task group to associate with the task. The default
6478
6614
  # value is the family name of the task definition (for example,
@@ -6564,6 +6700,7 @@ module Aws::ECS
6564
6700
  # cluster: "String",
6565
6701
  # container_instances: ["String"], # required
6566
6702
  # enable_ecs_managed_tags: false,
6703
+ # enable_execute_command: false,
6567
6704
  # group: "String",
6568
6705
  # network_configuration: {
6569
6706
  # awsvpc_configuration: {
@@ -6610,6 +6747,9 @@ module Aws::ECS
6610
6747
  # execution_role_arn: "String",
6611
6748
  # memory: "String",
6612
6749
  # task_role_arn: "String",
6750
+ # ephemeral_storage: {
6751
+ # size_in_gi_b: 1, # required
6752
+ # },
6613
6753
  # },
6614
6754
  # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
6615
6755
  # reference_id: "String",
@@ -6664,6 +6804,11 @@ module Aws::ECS
6664
6804
  # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String
6665
6805
  # resp.tasks[0].containers[0].network_interfaces[0].ipv6_address #=> String
6666
6806
  # resp.tasks[0].containers[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
6807
+ # resp.tasks[0].containers[0].managed_agents #=> Array
6808
+ # resp.tasks[0].containers[0].managed_agents[0].last_started_at #=> Time
6809
+ # resp.tasks[0].containers[0].managed_agents[0].name #=> String, one of "ExecuteCommandAgent"
6810
+ # resp.tasks[0].containers[0].managed_agents[0].reason #=> String
6811
+ # resp.tasks[0].containers[0].managed_agents[0].last_status #=> String
6667
6812
  # resp.tasks[0].containers[0].cpu #=> String
6668
6813
  # resp.tasks[0].containers[0].memory #=> String
6669
6814
  # resp.tasks[0].containers[0].memory_reservation #=> String
@@ -6672,6 +6817,7 @@ module Aws::ECS
6672
6817
  # resp.tasks[0].cpu #=> String
6673
6818
  # resp.tasks[0].created_at #=> Time
6674
6819
  # resp.tasks[0].desired_status #=> String
6820
+ # resp.tasks[0].enable_execute_command #=> Boolean
6675
6821
  # resp.tasks[0].execution_stopped_at #=> Time
6676
6822
  # resp.tasks[0].group #=> String
6677
6823
  # resp.tasks[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
@@ -6704,6 +6850,7 @@ module Aws::ECS
6704
6850
  # resp.tasks[0].overrides.execution_role_arn #=> String
6705
6851
  # resp.tasks[0].overrides.memory #=> String
6706
6852
  # resp.tasks[0].overrides.task_role_arn #=> String
6853
+ # resp.tasks[0].overrides.ephemeral_storage.size_in_gi_b #=> Integer
6707
6854
  # resp.tasks[0].platform_version #=> String
6708
6855
  # resp.tasks[0].pull_started_at #=> Time
6709
6856
  # resp.tasks[0].pull_stopped_at #=> Time
@@ -6719,6 +6866,7 @@ module Aws::ECS
6719
6866
  # resp.tasks[0].task_arn #=> String
6720
6867
  # resp.tasks[0].task_definition_arn #=> String
6721
6868
  # resp.tasks[0].version #=> Integer
6869
+ # resp.tasks[0].ephemeral_storage.size_in_gi_b #=> Integer
6722
6870
  # resp.failures #=> Array
6723
6871
  # resp.failures[0].arn #=> String
6724
6872
  # resp.failures[0].reason #=> String
@@ -6821,6 +6969,11 @@ module Aws::ECS
6821
6969
  # resp.task.containers[0].network_interfaces[0].private_ipv_4_address #=> String
6822
6970
  # resp.task.containers[0].network_interfaces[0].ipv6_address #=> String
6823
6971
  # resp.task.containers[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
6972
+ # resp.task.containers[0].managed_agents #=> Array
6973
+ # resp.task.containers[0].managed_agents[0].last_started_at #=> Time
6974
+ # resp.task.containers[0].managed_agents[0].name #=> String, one of "ExecuteCommandAgent"
6975
+ # resp.task.containers[0].managed_agents[0].reason #=> String
6976
+ # resp.task.containers[0].managed_agents[0].last_status #=> String
6824
6977
  # resp.task.containers[0].cpu #=> String
6825
6978
  # resp.task.containers[0].memory #=> String
6826
6979
  # resp.task.containers[0].memory_reservation #=> String
@@ -6829,6 +6982,7 @@ module Aws::ECS
6829
6982
  # resp.task.cpu #=> String
6830
6983
  # resp.task.created_at #=> Time
6831
6984
  # resp.task.desired_status #=> String
6985
+ # resp.task.enable_execute_command #=> Boolean
6832
6986
  # resp.task.execution_stopped_at #=> Time
6833
6987
  # resp.task.group #=> String
6834
6988
  # resp.task.health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
@@ -6861,6 +7015,7 @@ module Aws::ECS
6861
7015
  # resp.task.overrides.execution_role_arn #=> String
6862
7016
  # resp.task.overrides.memory #=> String
6863
7017
  # resp.task.overrides.task_role_arn #=> String
7018
+ # resp.task.overrides.ephemeral_storage.size_in_gi_b #=> Integer
6864
7019
  # resp.task.platform_version #=> String
6865
7020
  # resp.task.pull_started_at #=> Time
6866
7021
  # resp.task.pull_stopped_at #=> Time
@@ -6876,6 +7031,7 @@ module Aws::ECS
6876
7031
  # resp.task.task_arn #=> String
6877
7032
  # resp.task.task_definition_arn #=> String
6878
7033
  # resp.task.version #=> Integer
7034
+ # resp.task.ephemeral_storage.size_in_gi_b #=> Integer
6879
7035
  #
6880
7036
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask AWS API Documentation
6881
7037
  #
@@ -7024,6 +7180,9 @@ module Aws::ECS
7024
7180
  # @option params [Array<Types::AttachmentStateChange>] :attachments
7025
7181
  # Any attachments associated with the state change request.
7026
7182
  #
7183
+ # @option params [Array<Types::ManagedAgentStateChange>] :managed_agents
7184
+ # The details for the managed agent associated with the task.
7185
+ #
7027
7186
  # @option params [Time,DateTime,Date,Integer,String] :pull_started_at
7028
7187
  # The Unix timestamp for when the container image pull began.
7029
7188
  #
@@ -7068,6 +7227,14 @@ module Aws::ECS
7068
7227
  # status: "String", # required
7069
7228
  # },
7070
7229
  # ],
7230
+ # managed_agents: [
7231
+ # {
7232
+ # container_name: "String", # required
7233
+ # managed_agent_name: "ExecuteCommandAgent", # required, accepts ExecuteCommandAgent
7234
+ # status: "String", # required
7235
+ # reason: "String",
7236
+ # },
7237
+ # ],
7071
7238
  # pull_started_at: Time.now,
7072
7239
  # pull_stopped_at: Time.now,
7073
7240
  # execution_stopped_at: Time.now,
@@ -7267,6 +7434,95 @@ module Aws::ECS
7267
7434
  req.send_request(options)
7268
7435
  end
7269
7436
 
7437
+ # Updates the cluster.
7438
+ #
7439
+ # @option params [required, String] :cluster
7440
+ # The name of the cluster to modify the settings for.
7441
+ #
7442
+ # @option params [Array<Types::ClusterSetting>] :settings
7443
+ # The cluster settings for your cluster.
7444
+ #
7445
+ # @option params [Types::ClusterConfiguration] :configuration
7446
+ # The execute command configuration for the cluster.
7447
+ #
7448
+ # @return [Types::UpdateClusterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7449
+ #
7450
+ # * {Types::UpdateClusterResponse#cluster #cluster} => Types::Cluster
7451
+ #
7452
+ # @example Request syntax with placeholder values
7453
+ #
7454
+ # resp = client.update_cluster({
7455
+ # cluster: "String", # required
7456
+ # settings: [
7457
+ # {
7458
+ # name: "containerInsights", # accepts containerInsights
7459
+ # value: "String",
7460
+ # },
7461
+ # ],
7462
+ # configuration: {
7463
+ # execute_command_configuration: {
7464
+ # kms_key_id: "String",
7465
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
7466
+ # log_configuration: {
7467
+ # cloud_watch_log_group_name: "String",
7468
+ # cloud_watch_encryption_enabled: false,
7469
+ # s3_bucket_name: "String",
7470
+ # s3_encryption_enabled: false,
7471
+ # s3_key_prefix: "String",
7472
+ # },
7473
+ # },
7474
+ # },
7475
+ # })
7476
+ #
7477
+ # @example Response structure
7478
+ #
7479
+ # resp.cluster.cluster_arn #=> String
7480
+ # resp.cluster.cluster_name #=> String
7481
+ # resp.cluster.configuration.execute_command_configuration.kms_key_id #=> String
7482
+ # resp.cluster.configuration.execute_command_configuration.logging #=> String, one of "NONE", "DEFAULT", "OVERRIDE"
7483
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_log_group_name #=> String
7484
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_encryption_enabled #=> Boolean
7485
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_bucket_name #=> String
7486
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_encryption_enabled #=> Boolean
7487
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_key_prefix #=> String
7488
+ # resp.cluster.status #=> String
7489
+ # resp.cluster.registered_container_instances_count #=> Integer
7490
+ # resp.cluster.running_tasks_count #=> Integer
7491
+ # resp.cluster.pending_tasks_count #=> Integer
7492
+ # resp.cluster.active_services_count #=> Integer
7493
+ # resp.cluster.statistics #=> Array
7494
+ # resp.cluster.statistics[0].name #=> String
7495
+ # resp.cluster.statistics[0].value #=> String
7496
+ # resp.cluster.tags #=> Array
7497
+ # resp.cluster.tags[0].key #=> String
7498
+ # resp.cluster.tags[0].value #=> String
7499
+ # resp.cluster.settings #=> Array
7500
+ # resp.cluster.settings[0].name #=> String, one of "containerInsights"
7501
+ # resp.cluster.settings[0].value #=> String
7502
+ # resp.cluster.capacity_providers #=> Array
7503
+ # resp.cluster.capacity_providers[0] #=> String
7504
+ # resp.cluster.default_capacity_provider_strategy #=> Array
7505
+ # resp.cluster.default_capacity_provider_strategy[0].capacity_provider #=> String
7506
+ # resp.cluster.default_capacity_provider_strategy[0].weight #=> Integer
7507
+ # resp.cluster.default_capacity_provider_strategy[0].base #=> Integer
7508
+ # resp.cluster.attachments #=> Array
7509
+ # resp.cluster.attachments[0].id #=> String
7510
+ # resp.cluster.attachments[0].type #=> String
7511
+ # resp.cluster.attachments[0].status #=> String
7512
+ # resp.cluster.attachments[0].details #=> Array
7513
+ # resp.cluster.attachments[0].details[0].name #=> String
7514
+ # resp.cluster.attachments[0].details[0].value #=> String
7515
+ # resp.cluster.attachments_status #=> String
7516
+ #
7517
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCluster AWS API Documentation
7518
+ #
7519
+ # @overload update_cluster(params = {})
7520
+ # @param [Hash] params ({})
7521
+ def update_cluster(params = {}, options = {})
7522
+ req = build_request(:update_cluster, params)
7523
+ req.send_request(options)
7524
+ end
7525
+
7270
7526
  # Modifies the settings to use for a cluster.
7271
7527
  #
7272
7528
  # @option params [required, String] :cluster
@@ -7298,6 +7554,13 @@ module Aws::ECS
7298
7554
  #
7299
7555
  # resp.cluster.cluster_arn #=> String
7300
7556
  # resp.cluster.cluster_name #=> String
7557
+ # resp.cluster.configuration.execute_command_configuration.kms_key_id #=> String
7558
+ # resp.cluster.configuration.execute_command_configuration.logging #=> String, one of "NONE", "DEFAULT", "OVERRIDE"
7559
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_log_group_name #=> String
7560
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.cloud_watch_encryption_enabled #=> Boolean
7561
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_bucket_name #=> String
7562
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_encryption_enabled #=> Boolean
7563
+ # resp.cluster.configuration.execute_command_configuration.log_configuration.s3_key_prefix #=> String
7301
7564
  # resp.cluster.status #=> String
7302
7565
  # resp.cluster.registered_container_instances_count #=> Integer
7303
7566
  # resp.cluster.running_tasks_count #=> Integer
@@ -7343,15 +7606,25 @@ module Aws::ECS
7343
7606
  # instance was launched with the Amazon ECS-optimized AMI or another
7344
7607
  # operating system.
7345
7608
  #
7346
- # `UpdateContainerAgent` requires the Amazon ECS-optimized AMI or Amazon
7347
- # Linux with the `ecs-init` service installed and running. For help
7348
- # updating the Amazon ECS container agent on other operating systems,
7349
- # see [Manually Updating the Amazon ECS Container Agent][1] in the
7350
- # *Amazon Elastic Container Service Developer Guide*.
7609
+ # <note markdown="1"> The `UpdateContainerAgent` API isn't supported for container
7610
+ # instances using the Amazon ECS-optimized Amazon Linux 2 (arm64) AMI.
7611
+ # To update the container agent, you can update the `ecs-init` package
7612
+ # which will update the agent. For more information, see [Updating the
7613
+ # Amazon ECS container agent][1] in the *Amazon Elastic Container
7614
+ # Service Developer Guide*.
7351
7615
  #
7616
+ # </note>
7617
+ #
7618
+ # The `UpdateContainerAgent` API requires an Amazon ECS-optimized AMI or
7619
+ # Amazon Linux AMI with the `ecs-init` service installed and running.
7620
+ # For help updating the Amazon ECS container agent on other operating
7621
+ # systems, see [Manually updating the Amazon ECS container agent][2] in
7622
+ # the *Amazon Elastic Container Service Developer Guide*.
7352
7623
  #
7353
7624
  #
7354
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent
7625
+ #
7626
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/agent-update-ecs-ami.html
7627
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent
7355
7628
  #
7356
7629
  # @option params [String] :cluster
7357
7630
  # The short name or full Amazon Resource Name (ARN) of the cluster that
@@ -7752,8 +8025,7 @@ module Aws::ECS
7752
8025
  # the deployment and the ordering of stopping and starting tasks.
7753
8026
  #
7754
8027
  # @option params [Types::NetworkConfiguration] :network_configuration
7755
- # An object representing the network configuration for a task or
7756
- # service.
8028
+ # An object representing the network configuration for the service.
7757
8029
  #
7758
8030
  # @option params [Array<Types::PlacementConstraint>] :placement_constraints
7759
8031
  # An array of task placement constraint objects to update the service to
@@ -7807,6 +8079,13 @@ module Aws::ECS
7807
8079
  # prevent the ECS service scheduler from marking tasks as unhealthy and
7808
8080
  # stopping them before they have time to come up.
7809
8081
  #
8082
+ # @option params [Boolean] :enable_execute_command
8083
+ # If `true`, this enables execute command functionality on all task
8084
+ # containers.
8085
+ #
8086
+ # If you do not want to override the value that was set when the service
8087
+ # was created, you can set this to `null` when performing this action.
8088
+ #
7810
8089
  # @return [Types::UpdateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7811
8090
  #
7812
8091
  # * {Types::UpdateServiceResponse#service #service} => Types::Service
@@ -7882,6 +8161,7 @@ module Aws::ECS
7882
8161
  # platform_version: "String",
7883
8162
  # force_new_deployment: false,
7884
8163
  # health_check_grace_period_seconds: 1,
8164
+ # enable_execute_command: false,
7885
8165
  # })
7886
8166
  #
7887
8167
  # @example Response structure
@@ -8005,6 +8285,7 @@ module Aws::ECS
8005
8285
  # resp.service.created_by #=> String
8006
8286
  # resp.service.enable_ecs_managed_tags #=> Boolean
8007
8287
  # resp.service.propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
8288
+ # resp.service.enable_execute_command #=> Boolean
8008
8289
  #
8009
8290
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService AWS API Documentation
8010
8291
  #
@@ -8210,7 +8491,7 @@ module Aws::ECS
8210
8491
  params: params,
8211
8492
  config: config)
8212
8493
  context[:gem_name] = 'aws-sdk-ecs'
8213
- context[:gem_version] = '1.73.0'
8494
+ context[:gem_version] = '1.78.0'
8214
8495
  Seahorse::Client::Request.new(handlers, context)
8215
8496
  end
8216
8497