aws-sdk-ecs 1.73.0 → 1.78.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.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