aws-sdk-ecs 1.70.0 → 1.75.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.
@@ -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
 
@@ -25,6 +25,7 @@ module Aws::ECS
25
25
  AttributeLimitExceededException = Shapes::StructureShape.new(name: 'AttributeLimitExceededException')
26
26
  Attributes = Shapes::ListShape.new(name: 'Attributes')
27
27
  AutoScalingGroupProvider = Shapes::StructureShape.new(name: 'AutoScalingGroupProvider')
28
+ AutoScalingGroupProviderUpdate = Shapes::StructureShape.new(name: 'AutoScalingGroupProviderUpdate')
28
29
  AwsVpcConfiguration = Shapes::StructureShape.new(name: 'AwsVpcConfiguration')
29
30
  BlockedException = Shapes::StructureShape.new(name: 'BlockedException')
30
31
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
@@ -92,9 +93,11 @@ module Aws::ECS
92
93
  DeleteTaskSetRequest = Shapes::StructureShape.new(name: 'DeleteTaskSetRequest')
93
94
  DeleteTaskSetResponse = Shapes::StructureShape.new(name: 'DeleteTaskSetResponse')
94
95
  Deployment = Shapes::StructureShape.new(name: 'Deployment')
96
+ DeploymentCircuitBreaker = Shapes::StructureShape.new(name: 'DeploymentCircuitBreaker')
95
97
  DeploymentConfiguration = Shapes::StructureShape.new(name: 'DeploymentConfiguration')
96
98
  DeploymentController = Shapes::StructureShape.new(name: 'DeploymentController')
97
99
  DeploymentControllerType = Shapes::StringShape.new(name: 'DeploymentControllerType')
100
+ DeploymentRolloutState = Shapes::StringShape.new(name: 'DeploymentRolloutState')
98
101
  Deployments = Shapes::ListShape.new(name: 'Deployments')
99
102
  DeregisterContainerInstanceRequest = Shapes::StructureShape.new(name: 'DeregisterContainerInstanceRequest')
100
103
  DeregisterContainerInstanceResponse = Shapes::StructureShape.new(name: 'DeregisterContainerInstanceResponse')
@@ -132,6 +135,8 @@ module Aws::ECS
132
135
  EnvironmentFileType = Shapes::StringShape.new(name: 'EnvironmentFileType')
133
136
  EnvironmentFiles = Shapes::ListShape.new(name: 'EnvironmentFiles')
134
137
  EnvironmentVariables = Shapes::ListShape.new(name: 'EnvironmentVariables')
138
+ FSxWindowsFileServerAuthorizationConfig = Shapes::StructureShape.new(name: 'FSxWindowsFileServerAuthorizationConfig')
139
+ FSxWindowsFileServerVolumeConfiguration = Shapes::StructureShape.new(name: 'FSxWindowsFileServerVolumeConfiguration')
135
140
  Failure = Shapes::StructureShape.new(name: 'Failure')
136
141
  Failures = Shapes::ListShape.new(name: 'Failures')
137
142
  FirelensConfiguration = Shapes::StructureShape.new(name: 'FirelensConfiguration')
@@ -180,6 +185,7 @@ module Aws::ECS
180
185
  LogDriver = Shapes::StringShape.new(name: 'LogDriver')
181
186
  Long = Shapes::IntegerShape.new(name: 'Long')
182
187
  ManagedScaling = Shapes::StructureShape.new(name: 'ManagedScaling')
188
+ ManagedScalingInstanceWarmupPeriod = Shapes::IntegerShape.new(name: 'ManagedScalingInstanceWarmupPeriod')
183
189
  ManagedScalingStatus = Shapes::StringShape.new(name: 'ManagedScalingStatus')
184
190
  ManagedScalingStepSize = Shapes::IntegerShape.new(name: 'ManagedScalingStepSize')
185
191
  ManagedScalingTargetCapacity = Shapes::IntegerShape.new(name: 'ManagedScalingTargetCapacity')
@@ -311,6 +317,8 @@ module Aws::ECS
311
317
  UnsupportedFeatureException = Shapes::StructureShape.new(name: 'UnsupportedFeatureException')
312
318
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
313
319
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
320
+ UpdateCapacityProviderRequest = Shapes::StructureShape.new(name: 'UpdateCapacityProviderRequest')
321
+ UpdateCapacityProviderResponse = Shapes::StructureShape.new(name: 'UpdateCapacityProviderResponse')
314
322
  UpdateClusterSettingsRequest = Shapes::StructureShape.new(name: 'UpdateClusterSettingsRequest')
315
323
  UpdateClusterSettingsResponse = Shapes::StructureShape.new(name: 'UpdateClusterSettingsResponse')
316
324
  UpdateContainerAgentRequest = Shapes::StructureShape.new(name: 'UpdateContainerAgentRequest')
@@ -363,6 +371,10 @@ module Aws::ECS
363
371
  AutoScalingGroupProvider.add_member(:managed_termination_protection, Shapes::ShapeRef.new(shape: ManagedTerminationProtection, location_name: "managedTerminationProtection"))
364
372
  AutoScalingGroupProvider.struct_class = Types::AutoScalingGroupProvider
365
373
 
374
+ AutoScalingGroupProviderUpdate.add_member(:managed_scaling, Shapes::ShapeRef.new(shape: ManagedScaling, location_name: "managedScaling"))
375
+ AutoScalingGroupProviderUpdate.add_member(:managed_termination_protection, Shapes::ShapeRef.new(shape: ManagedTerminationProtection, location_name: "managedTerminationProtection"))
376
+ AutoScalingGroupProviderUpdate.struct_class = Types::AutoScalingGroupProviderUpdate
377
+
366
378
  AwsVpcConfiguration.add_member(:subnets, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "subnets"))
367
379
  AwsVpcConfiguration.add_member(:security_groups, Shapes::ShapeRef.new(shape: StringList, location_name: "securityGroups"))
368
380
  AwsVpcConfiguration.add_member(:assign_public_ip, Shapes::ShapeRef.new(shape: AssignPublicIp, location_name: "assignPublicIp"))
@@ -655,14 +667,22 @@ module Aws::ECS
655
667
  Deployment.add_member(:desired_count, Shapes::ShapeRef.new(shape: Integer, location_name: "desiredCount"))
656
668
  Deployment.add_member(:pending_count, Shapes::ShapeRef.new(shape: Integer, location_name: "pendingCount"))
657
669
  Deployment.add_member(:running_count, Shapes::ShapeRef.new(shape: Integer, location_name: "runningCount"))
670
+ Deployment.add_member(:failed_tasks, Shapes::ShapeRef.new(shape: Integer, location_name: "failedTasks"))
658
671
  Deployment.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdAt"))
659
672
  Deployment.add_member(:updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "updatedAt"))
660
673
  Deployment.add_member(:capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, location_name: "capacityProviderStrategy"))
661
674
  Deployment.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
662
675
  Deployment.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
663
676
  Deployment.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
677
+ Deployment.add_member(:rollout_state, Shapes::ShapeRef.new(shape: DeploymentRolloutState, location_name: "rolloutState"))
678
+ Deployment.add_member(:rollout_state_reason, Shapes::ShapeRef.new(shape: String, location_name: "rolloutStateReason"))
664
679
  Deployment.struct_class = Types::Deployment
665
680
 
681
+ DeploymentCircuitBreaker.add_member(:enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "enable"))
682
+ DeploymentCircuitBreaker.add_member(:rollback, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "rollback"))
683
+ DeploymentCircuitBreaker.struct_class = Types::DeploymentCircuitBreaker
684
+
685
+ DeploymentConfiguration.add_member(:deployment_circuit_breaker, Shapes::ShapeRef.new(shape: DeploymentCircuitBreaker, location_name: "deploymentCircuitBreaker"))
666
686
  DeploymentConfiguration.add_member(:maximum_percent, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "maximumPercent"))
667
687
  DeploymentConfiguration.add_member(:minimum_healthy_percent, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "minimumHealthyPercent"))
668
688
  DeploymentConfiguration.struct_class = Types::DeploymentConfiguration
@@ -796,6 +816,15 @@ module Aws::ECS
796
816
 
797
817
  EnvironmentVariables.member = Shapes::ShapeRef.new(shape: KeyValuePair)
798
818
 
819
+ FSxWindowsFileServerAuthorizationConfig.add_member(:credentials_parameter, Shapes::ShapeRef.new(shape: String, required: true, location_name: "credentialsParameter"))
820
+ FSxWindowsFileServerAuthorizationConfig.add_member(:domain, Shapes::ShapeRef.new(shape: String, required: true, location_name: "domain"))
821
+ FSxWindowsFileServerAuthorizationConfig.struct_class = Types::FSxWindowsFileServerAuthorizationConfig
822
+
823
+ FSxWindowsFileServerVolumeConfiguration.add_member(:file_system_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "fileSystemId"))
824
+ FSxWindowsFileServerVolumeConfiguration.add_member(:root_directory, Shapes::ShapeRef.new(shape: String, required: true, location_name: "rootDirectory"))
825
+ FSxWindowsFileServerVolumeConfiguration.add_member(:authorization_config, Shapes::ShapeRef.new(shape: FSxWindowsFileServerAuthorizationConfig, required: true, location_name: "authorizationConfig"))
826
+ FSxWindowsFileServerVolumeConfiguration.struct_class = Types::FSxWindowsFileServerVolumeConfiguration
827
+
799
828
  Failure.add_member(:arn, Shapes::ShapeRef.new(shape: String, location_name: "arn"))
800
829
  Failure.add_member(:reason, Shapes::ShapeRef.new(shape: String, location_name: "reason"))
801
830
  Failure.add_member(:detail, Shapes::ShapeRef.new(shape: String, location_name: "detail"))
@@ -977,6 +1006,7 @@ module Aws::ECS
977
1006
  ManagedScaling.add_member(:target_capacity, Shapes::ShapeRef.new(shape: ManagedScalingTargetCapacity, location_name: "targetCapacity"))
978
1007
  ManagedScaling.add_member(:minimum_scaling_step_size, Shapes::ShapeRef.new(shape: ManagedScalingStepSize, location_name: "minimumScalingStepSize"))
979
1008
  ManagedScaling.add_member(:maximum_scaling_step_size, Shapes::ShapeRef.new(shape: ManagedScalingStepSize, location_name: "maximumScalingStepSize"))
1009
+ ManagedScaling.add_member(:instance_warmup_period, Shapes::ShapeRef.new(shape: ManagedScalingInstanceWarmupPeriod, location_name: "instanceWarmupPeriod"))
980
1010
  ManagedScaling.struct_class = Types::ManagedScaling
981
1011
 
982
1012
  MissingVersionException.struct_class = Types::MissingVersionException
@@ -1372,6 +1402,9 @@ module Aws::ECS
1372
1402
  TaskDefinition.add_member(:pid_mode, Shapes::ShapeRef.new(shape: PidMode, location_name: "pidMode"))
1373
1403
  TaskDefinition.add_member(:ipc_mode, Shapes::ShapeRef.new(shape: IpcMode, location_name: "ipcMode"))
1374
1404
  TaskDefinition.add_member(:proxy_configuration, Shapes::ShapeRef.new(shape: ProxyConfiguration, location_name: "proxyConfiguration"))
1405
+ TaskDefinition.add_member(:registered_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "registeredAt"))
1406
+ TaskDefinition.add_member(:deregistered_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "deregisteredAt"))
1407
+ TaskDefinition.add_member(:registered_by, Shapes::ShapeRef.new(shape: String, location_name: "registeredBy"))
1375
1408
  TaskDefinition.struct_class = Types::TaskDefinition
1376
1409
 
1377
1410
  TaskDefinitionFieldList.member = Shapes::ShapeRef.new(shape: TaskDefinitionField)
@@ -1447,6 +1480,13 @@ module Aws::ECS
1447
1480
 
1448
1481
  UntagResourceResponse.struct_class = Types::UntagResourceResponse
1449
1482
 
1483
+ UpdateCapacityProviderRequest.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name"))
1484
+ UpdateCapacityProviderRequest.add_member(:auto_scaling_group_provider, Shapes::ShapeRef.new(shape: AutoScalingGroupProviderUpdate, required: true, location_name: "autoScalingGroupProvider"))
1485
+ UpdateCapacityProviderRequest.struct_class = Types::UpdateCapacityProviderRequest
1486
+
1487
+ UpdateCapacityProviderResponse.add_member(:capacity_provider, Shapes::ShapeRef.new(shape: CapacityProvider, location_name: "capacityProvider"))
1488
+ UpdateCapacityProviderResponse.struct_class = Types::UpdateCapacityProviderResponse
1489
+
1450
1490
  UpdateClusterSettingsRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
1451
1491
  UpdateClusterSettingsRequest.add_member(:settings, Shapes::ShapeRef.new(shape: ClusterSettings, required: true, location_name: "settings"))
1452
1492
  UpdateClusterSettingsRequest.struct_class = Types::UpdateClusterSettingsRequest
@@ -1515,6 +1555,7 @@ module Aws::ECS
1515
1555
  Volume.add_member(:host, Shapes::ShapeRef.new(shape: HostVolumeProperties, location_name: "host"))
1516
1556
  Volume.add_member(:docker_volume_configuration, Shapes::ShapeRef.new(shape: DockerVolumeConfiguration, location_name: "dockerVolumeConfiguration"))
1517
1557
  Volume.add_member(:efs_volume_configuration, Shapes::ShapeRef.new(shape: EFSVolumeConfiguration, location_name: "efsVolumeConfiguration"))
1558
+ Volume.add_member(:fsx_windows_file_server_volume_configuration, Shapes::ShapeRef.new(shape: FSxWindowsFileServerVolumeConfiguration, location_name: "fsxWindowsFileServerVolumeConfiguration"))
1518
1559
  Volume.struct_class = Types::Volume
1519
1560
 
1520
1561
  VolumeFrom.add_member(:source_container, Shapes::ShapeRef.new(shape: String, location_name: "sourceContainer"))
@@ -2122,6 +2163,17 @@ module Aws::ECS
2122
2163
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2123
2164
  end)
2124
2165
 
2166
+ api.add_operation(:update_capacity_provider, Seahorse::Model::Operation.new.tap do |o|
2167
+ o.name = "UpdateCapacityProvider"
2168
+ o.http_method = "POST"
2169
+ o.http_request_uri = "/"
2170
+ o.input = Shapes::ShapeRef.new(shape: UpdateCapacityProviderRequest)
2171
+ o.output = Shapes::ShapeRef.new(shape: UpdateCapacityProviderResponse)
2172
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
2173
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
2174
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2175
+ end)
2176
+
2125
2177
  api.add_operation(:update_cluster_settings, Seahorse::Model::Operation.new.tap do |o|
2126
2178
  o.name = "UpdateClusterSettings"
2127
2179
  o.http_method = "POST"
@@ -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
 
@@ -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
 
@@ -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
 
@@ -97,14 +97,18 @@ module Aws::ECS
97
97
  # }
98
98
  #
99
99
  # @!attribute [rw] name
100
- # The name of the attribute. Up to 128 letters (uppercase and
101
- # lowercase), numbers, hyphens, underscores, and periods are allowed.
100
+ # The name of the attribute. The `name` must contain between 1 and 128
101
+ # characters and name may contain letters (uppercase and lowercase),
102
+ # numbers, hyphens, underscores, forward slashes, back slashes, or
103
+ # periods.
102
104
  # @return [String]
103
105
  #
104
106
  # @!attribute [rw] value
105
- # The value of the attribute. Up to 128 letters (uppercase and
106
- # lowercase), numbers, hyphens, underscores, periods, at signs (@),
107
- # forward slashes, colons, and spaces are allowed.
107
+ # The value of the attribute. The `value` must contain between 1 and
108
+ # 128 characters and may contain letters (uppercase and lowercase),
109
+ # numbers, hyphens, underscores, periods, at signs (@), forward
110
+ # slashes, back slashes, colons, or spaces. The value cannot contain
111
+ # any leading or trailing whitespace.
108
112
  # @return [String]
109
113
  #
110
114
  # @!attribute [rw] target_type
@@ -149,6 +153,7 @@ module Aws::ECS
149
153
  # target_capacity: 1,
150
154
  # minimum_scaling_step_size: 1,
151
155
  # maximum_scaling_step_size: 1,
156
+ # instance_warmup_period: 1,
152
157
  # },
153
158
  # managed_termination_protection: "ENABLED", # accepts ENABLED, DISABLED
154
159
  # }
@@ -198,6 +203,76 @@ module Aws::ECS
198
203
  include Aws::Structure
199
204
  end
200
205
 
206
+ # The details of the Auto Scaling group capacity provider to update.
207
+ #
208
+ # @note When making an API call, you may pass AutoScalingGroupProviderUpdate
209
+ # data as a hash:
210
+ #
211
+ # {
212
+ # managed_scaling: {
213
+ # status: "ENABLED", # accepts ENABLED, DISABLED
214
+ # target_capacity: 1,
215
+ # minimum_scaling_step_size: 1,
216
+ # maximum_scaling_step_size: 1,
217
+ # instance_warmup_period: 1,
218
+ # },
219
+ # managed_termination_protection: "ENABLED", # accepts ENABLED, DISABLED
220
+ # }
221
+ #
222
+ # @!attribute [rw] managed_scaling
223
+ # The managed scaling settings for the Auto Scaling group capacity
224
+ # provider.
225
+ #
226
+ # When managed scaling is enabled, Amazon ECS manages the scale-in and
227
+ # scale-out actions of the Auto Scaling group. Amazon ECS manages a
228
+ # target tracking scaling policy using an Amazon ECS-managed
229
+ # CloudWatch metric with the specified `targetCapacity` value as the
230
+ # target value for the metric. For more information, see [Using
231
+ # Managed Scaling][1] in the *Amazon Elastic Container Service
232
+ # Developer Guide*.
233
+ #
234
+ # If managed scaling is disabled, the user must manage the scaling of
235
+ # the Auto Scaling group.
236
+ #
237
+ #
238
+ #
239
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling
240
+ # @return [Types::ManagedScaling]
241
+ #
242
+ # @!attribute [rw] managed_termination_protection
243
+ # The managed termination protection setting to use for the Auto
244
+ # Scaling group capacity provider. This determines whether the Auto
245
+ # Scaling group has managed termination protection.
246
+ #
247
+ # When using managed termination protection, managed scaling must also
248
+ # be used otherwise managed termination protection will not work.
249
+ #
250
+ # When managed termination protection is enabled, Amazon ECS prevents
251
+ # the Amazon EC2 instances in an Auto Scaling group that contain tasks
252
+ # from being terminated during a scale-in action. The Auto Scaling
253
+ # group and each instance in the Auto Scaling group must have instance
254
+ # protection from scale-in actions enabled as well. For more
255
+ # information, see [Instance Protection][1] in the *AWS Auto Scaling
256
+ # User Guide*.
257
+ #
258
+ # When managed termination protection is disabled, your Amazon EC2
259
+ # instances are not protected from termination when the Auto Scaling
260
+ # group scales in.
261
+ #
262
+ #
263
+ #
264
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection
265
+ # @return [String]
266
+ #
267
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/AutoScalingGroupProviderUpdate AWS API Documentation
268
+ #
269
+ class AutoScalingGroupProviderUpdate < Struct.new(
270
+ :managed_scaling,
271
+ :managed_termination_protection)
272
+ SENSITIVE = []
273
+ include Aws::Structure
274
+ end
275
+
201
276
  # An object representing the networking details for a task or service.
202
277
  #
203
278
  # @note When making an API call, you may pass AwsVpcConfiguration
@@ -210,8 +285,9 @@ module Aws::ECS
210
285
  # }
211
286
  #
212
287
  # @!attribute [rw] subnets
213
- # The subnets associated with the task or service. There is a limit of
214
- # 16 subnets that can be specified per `AwsVpcConfiguration`.
288
+ # The IDs of the subnets associated with the task or service. There is
289
+ # a limit of 16 subnets that can be specified per
290
+ # `AwsVpcConfiguration`.
215
291
  #
216
292
  # <note markdown="1"> All specified subnets must be from the same VPC.
217
293
  #
@@ -219,10 +295,10 @@ module Aws::ECS
219
295
  # @return [Array<String>]
220
296
  #
221
297
  # @!attribute [rw] security_groups
222
- # The security groups associated with the task or service. If you do
223
- # not specify a security group, the default security group for the VPC
224
- # is used. There is a limit of 5 security groups that can be specified
225
- # per `AwsVpcConfiguration`.
298
+ # The IDs of the security groups associated with the task or service.
299
+ # If you do not specify a security group, the default security group
300
+ # for the VPC is used. There is a limit of 5 security groups that can
301
+ # be specified per `AwsVpcConfiguration`.
226
302
  #
227
303
  # <note markdown="1"> All specified security groups must be from the same VPC.
228
304
  #
@@ -919,7 +995,7 @@ module Aws::ECS
919
995
  #
920
996
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
921
997
  # [2]: https://docs.docker.com/engine/api/v1.35/
922
- # [3]: https://docs.docker.com/engine/reference/run/
998
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
923
999
  # @return [String]
924
1000
  #
925
1001
  # @!attribute [rw] image
@@ -958,7 +1034,7 @@ module Aws::ECS
958
1034
  #
959
1035
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
960
1036
  # [2]: https://docs.docker.com/engine/api/v1.35/
961
- # [3]: https://docs.docker.com/engine/reference/run/
1037
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
962
1038
  # @return [String]
963
1039
  #
964
1040
  # @!attribute [rw] repository_credentials
@@ -1016,13 +1092,14 @@ module Aws::ECS
1016
1092
  # On Windows container instances, the CPU limit is enforced as an
1017
1093
  # absolute limit, or a quota. Windows containers only have access to
1018
1094
  # the specified amount of CPU that is described in the task
1019
- # definition.
1095
+ # definition. A null or zero CPU value is passed to Docker as `0`,
1096
+ # which Windows interprets as 1% of one CPU.
1020
1097
  #
1021
1098
  #
1022
1099
  #
1023
1100
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1024
1101
  # [2]: https://docs.docker.com/engine/api/v1.35/
1025
- # [3]: https://docs.docker.com/engine/reference/run/
1102
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1026
1103
  # [4]: http://aws.amazon.com/ec2/instance-types/
1027
1104
  # [5]: https://docs.docker.com/engine/reference/run/#cpu-share-constraint
1028
1105
  # @return [Integer]
@@ -1054,7 +1131,7 @@ module Aws::ECS
1054
1131
  #
1055
1132
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1056
1133
  # [2]: https://docs.docker.com/engine/api/v1.35/
1057
- # [3]: https://docs.docker.com/engine/reference/run/
1134
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1058
1135
  # @return [Integer]
1059
1136
  #
1060
1137
  # @!attribute [rw] memory_reservation
@@ -1092,7 +1169,7 @@ module Aws::ECS
1092
1169
  #
1093
1170
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1094
1171
  # [2]: https://docs.docker.com/engine/api/v1.35/
1095
- # [3]: https://docs.docker.com/engine/reference/run/
1172
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1096
1173
  # @return [Integer]
1097
1174
  #
1098
1175
  # @!attribute [rw] links
@@ -1107,7 +1184,8 @@ module Aws::ECS
1107
1184
  # container][2] section of the [Docker Remote API][3] and the `--link`
1108
1185
  # option to [docker run][4].
1109
1186
  #
1110
- # <note markdown="1"> This parameter is not supported for Windows containers.
1187
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1188
+ # use the awsvpc network mode.
1111
1189
  #
1112
1190
  # </note>
1113
1191
  #
@@ -1121,7 +1199,7 @@ module Aws::ECS
1121
1199
  # [1]: https://docs.docker.com/network/links/
1122
1200
  # [2]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1123
1201
  # [3]: https://docs.docker.com/engine/api/v1.35/
1124
- # [4]: https://docs.docker.com/engine/reference/run/
1202
+ # [4]: https://docs.docker.com/engine/reference/run/#security-configuration
1125
1203
  # @return [Array<String>]
1126
1204
  #
1127
1205
  # @!attribute [rw] port_mappings
@@ -1158,7 +1236,7 @@ module Aws::ECS
1158
1236
  #
1159
1237
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1160
1238
  # [2]: https://docs.docker.com/engine/api/v1.35/
1161
- # [3]: https://docs.docker.com/engine/reference/run/
1239
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1162
1240
  # @return [Array<Types::PortMapping>]
1163
1241
  #
1164
1242
  # @!attribute [rw] essential
@@ -1197,7 +1275,7 @@ module Aws::ECS
1197
1275
  #
1198
1276
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1199
1277
  # [2]: https://docs.docker.com/engine/api/v1.35/
1200
- # [3]: https://docs.docker.com/engine/reference/run/
1278
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1201
1279
  # [4]: https://docs.docker.com/engine/reference/builder/#entrypoint
1202
1280
  # @return [Array<String>]
1203
1281
  #
@@ -1214,7 +1292,7 @@ module Aws::ECS
1214
1292
  #
1215
1293
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1216
1294
  # [2]: https://docs.docker.com/engine/api/v1.35/
1217
- # [3]: https://docs.docker.com/engine/reference/run/
1295
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1218
1296
  # [4]: https://docs.docker.com/engine/reference/builder/#cmd
1219
1297
  # @return [Array<String>]
1220
1298
  #
@@ -1230,7 +1308,7 @@ module Aws::ECS
1230
1308
  #
1231
1309
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1232
1310
  # [2]: https://docs.docker.com/engine/api/v1.35/
1233
- # [3]: https://docs.docker.com/engine/reference/run/
1311
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1234
1312
  # @return [Array<Types::KeyValuePair>]
1235
1313
  #
1236
1314
  # @!attribute [rw] environment_files
@@ -1254,12 +1332,9 @@ module Aws::ECS
1254
1332
  # Variables][3] in the *Amazon Elastic Container Service Developer
1255
1333
  # Guide*.
1256
1334
  #
1257
- # This field is not valid for containers in tasks using the Fargate
1258
- # launch type.
1259
1335
  #
1260
1336
  #
1261
- #
1262
- # [1]: https://docs.docker.com/engine/reference/run/
1337
+ # [1]: https://docs.docker.com/engine/reference/run/#security-configuration
1263
1338
  # [2]: https://docs.docker.com/compose/env-file/
1264
1339
  # [3]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html
1265
1340
  # @return [Array<Types::EnvironmentFile>]
@@ -1279,7 +1354,7 @@ module Aws::ECS
1279
1354
  #
1280
1355
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1281
1356
  # [2]: https://docs.docker.com/engine/api/v1.35/
1282
- # [3]: https://docs.docker.com/engine/reference/run/
1357
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1283
1358
  # @return [Array<Types::MountPoint>]
1284
1359
  #
1285
1360
  # @!attribute [rw] volumes_from
@@ -1291,7 +1366,7 @@ module Aws::ECS
1291
1366
  #
1292
1367
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1293
1368
  # [2]: https://docs.docker.com/engine/api/v1.35/
1294
- # [3]: https://docs.docker.com/engine/reference/run/
1369
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1295
1370
  # @return [Array<Types::VolumeFrom>]
1296
1371
  #
1297
1372
  # @!attribute [rw] linux_parameters
@@ -1353,25 +1428,23 @@ module Aws::ECS
1353
1428
  # give up and not start. This results in the task transitioning to a
1354
1429
  # `STOPPED` state.
1355
1430
  #
1431
+ # <note markdown="1"> When the `ECS_CONTAINER_START_TIMEOUT` container agent configuration
1432
+ # variable is used, it is enforced indendently from this start timeout
1433
+ # value.
1434
+ #
1435
+ # </note>
1436
+ #
1356
1437
  # For tasks using the Fargate launch type, this parameter requires
1357
- # that the task or service uses platform version 1.3.0 or later. If
1358
- # this parameter is not specified, the default value of 3 minutes is
1359
- # used.
1438
+ # that the task or service uses platform version 1.3.0 or later.
1360
1439
  #
1361
- # For tasks using the EC2 launch type, if the `startTimeout` parameter
1362
- # is not specified, the value set for the Amazon ECS container agent
1363
- # configuration variable `ECS_CONTAINER_START_TIMEOUT` is used by
1364
- # default. If neither the `startTimeout` parameter or the
1365
- # `ECS_CONTAINER_START_TIMEOUT` agent configuration variable are set,
1366
- # then the default values of 3 minutes for Linux containers and 8
1367
- # minutes on Windows containers are used. Your container instances
1368
- # require at least version 1.26.0 of the container agent to enable a
1440
+ # For tasks using the EC2 launch type, your container instances
1441
+ # require at least version `1.26.0` of the container agent to enable a
1369
1442
  # container start timeout value. However, we recommend using the
1370
1443
  # latest container agent version. For information about checking your
1371
1444
  # agent version and updating to the latest version, see [Updating the
1372
1445
  # Amazon ECS Container Agent][1] in the *Amazon Elastic Container
1373
1446
  # Service Developer Guide*. If you are using an Amazon ECS-optimized
1374
- # Linux AMI, your instance needs at least version 1.26.0-1 of the
1447
+ # Linux AMI, your instance needs at least version `1.26.0-1` of the
1375
1448
  # `ecs-init` package. If your container instances are launched from
1376
1449
  # version `20190301` or later, then they contain the required versions
1377
1450
  # of the container agent and `ecs-init`. For more information, see
@@ -1433,16 +1506,20 @@ module Aws::ECS
1433
1506
  #
1434
1507
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1435
1508
  # [2]: https://docs.docker.com/engine/api/v1.35/
1436
- # [3]: https://docs.docker.com/engine/reference/run/
1509
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1437
1510
  # @return [String]
1438
1511
  #
1439
1512
  # @!attribute [rw] user
1440
- # The user name to use inside the container. This parameter maps to
1441
- # `User` in the [Create a container][1] section of the [Docker Remote
1442
- # API][2] and the `--user` option to [docker run][3].
1513
+ # The user to use inside the container. This parameter maps to `User`
1514
+ # in the [Create a container][1] section of the [Docker Remote API][2]
1515
+ # and the `--user` option to [docker run][3].
1516
+ #
1517
+ # When running tasks using the `host` network mode, you should not run
1518
+ # containers using the root user (UID 0). It is considered best
1519
+ # practice to use a non-root user.
1443
1520
  #
1444
- # You can use the following formats. If specifying a UID or GID, you
1445
- # must specify it as a positive integer.
1521
+ # You can specify the `user` using the following formats. If
1522
+ # specifying a UID or GID, you must specify it as a positive integer.
1446
1523
  #
1447
1524
  # * `user`
1448
1525
  #
@@ -1456,7 +1533,8 @@ module Aws::ECS
1456
1533
  #
1457
1534
  # * `uid:group`
1458
1535
  #
1459
- # <note markdown="1"> This parameter is not supported for Windows containers.
1536
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1537
+ # use the awsvpc network mode.
1460
1538
  #
1461
1539
  # </note>
1462
1540
  #
@@ -1464,7 +1542,7 @@ module Aws::ECS
1464
1542
  #
1465
1543
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1466
1544
  # [2]: https://docs.docker.com/engine/api/v1.35/
1467
- # [3]: https://docs.docker.com/engine/reference/run/
1545
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1468
1546
  # @return [String]
1469
1547
  #
1470
1548
  # @!attribute [rw] working_directory
@@ -1477,7 +1555,7 @@ module Aws::ECS
1477
1555
  #
1478
1556
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1479
1557
  # [2]: https://docs.docker.com/engine/api/v1.35/
1480
- # [3]: https://docs.docker.com/engine/reference/run/
1558
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1481
1559
  # @return [String]
1482
1560
  #
1483
1561
  # @!attribute [rw] disable_networking
@@ -1485,7 +1563,8 @@ module Aws::ECS
1485
1563
  # container. This parameter maps to `NetworkDisabled` in the [Create a
1486
1564
  # container][1] section of the [Docker Remote API][2].
1487
1565
  #
1488
- # <note markdown="1"> This parameter is not supported for Windows containers.
1566
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1567
+ # use the awsvpc network mode.
1489
1568
  #
1490
1569
  # </note>
1491
1570
  #
@@ -1511,7 +1590,7 @@ module Aws::ECS
1511
1590
  #
1512
1591
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1513
1592
  # [2]: https://docs.docker.com/engine/api/v1.35/
1514
- # [3]: https://docs.docker.com/engine/reference/run/
1593
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1515
1594
  # @return [Boolean]
1516
1595
  #
1517
1596
  # @!attribute [rw] readonly_root_filesystem
@@ -1520,7 +1599,8 @@ module Aws::ECS
1520
1599
  # the [Create a container][1] section of the [Docker Remote API][2]
1521
1600
  # and the `--read-only` option to [docker run][3].
1522
1601
  #
1523
- # <note markdown="1"> This parameter is not supported for Windows containers.
1602
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1603
+ # use the awsvpc network mode.
1524
1604
  #
1525
1605
  # </note>
1526
1606
  #
@@ -1528,7 +1608,7 @@ module Aws::ECS
1528
1608
  #
1529
1609
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1530
1610
  # [2]: https://docs.docker.com/engine/api/v1.35/
1531
- # [3]: https://docs.docker.com/engine/reference/run/
1611
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1532
1612
  # @return [Boolean]
1533
1613
  #
1534
1614
  # @!attribute [rw] dns_servers
@@ -1537,7 +1617,8 @@ module Aws::ECS
1537
1617
  # the [Docker Remote API][2] and the `--dns` option to [docker
1538
1618
  # run][3].
1539
1619
  #
1540
- # <note markdown="1"> This parameter is not supported for Windows containers.
1620
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1621
+ # use the awsvpc network mode.
1541
1622
  #
1542
1623
  # </note>
1543
1624
  #
@@ -1545,7 +1626,7 @@ module Aws::ECS
1545
1626
  #
1546
1627
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1547
1628
  # [2]: https://docs.docker.com/engine/api/v1.35/
1548
- # [3]: https://docs.docker.com/engine/reference/run/
1629
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1549
1630
  # @return [Array<String>]
1550
1631
  #
1551
1632
  # @!attribute [rw] dns_search_domains
@@ -1554,7 +1635,8 @@ module Aws::ECS
1554
1635
  # section of the [Docker Remote API][2] and the `--dns-search` option
1555
1636
  # to [docker run][3].
1556
1637
  #
1557
- # <note markdown="1"> This parameter is not supported for Windows containers.
1638
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1639
+ # use the awsvpc network mode.
1558
1640
  #
1559
1641
  # </note>
1560
1642
  #
@@ -1562,7 +1644,7 @@ module Aws::ECS
1562
1644
  #
1563
1645
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1564
1646
  # [2]: https://docs.docker.com/engine/api/v1.35/
1565
- # [3]: https://docs.docker.com/engine/reference/run/
1647
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1566
1648
  # @return [Array<String>]
1567
1649
  #
1568
1650
  # @!attribute [rw] extra_hosts
@@ -1580,7 +1662,7 @@ module Aws::ECS
1580
1662
  #
1581
1663
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1582
1664
  # [2]: https://docs.docker.com/engine/api/v1.35/
1583
- # [3]: https://docs.docker.com/engine/reference/run/
1665
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1584
1666
  # @return [Array<Types::HostEntry>]
1585
1667
  #
1586
1668
  # @!attribute [rw] docker_security_options
@@ -1607,12 +1689,18 @@ module Aws::ECS
1607
1689
  #
1608
1690
  # </note>
1609
1691
  #
1692
+ # For more information about valid values, see [Docker Run Security
1693
+ # Configuration][4].
1694
+ #
1695
+ # Valid values: "no-new-privileges" \| "apparmor:PROFILE" \|
1696
+ # "label:value" \| "credentialspec:CredentialSpecFilePath"
1697
+ #
1610
1698
  #
1611
1699
  #
1612
1700
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html
1613
1701
  # [2]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1614
1702
  # [3]: https://docs.docker.com/engine/api/v1.35/
1615
- # [4]: https://docs.docker.com/engine/reference/run/
1703
+ # [4]: https://docs.docker.com/engine/reference/run/#security-configuration
1616
1704
  # [5]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
1617
1705
  # @return [Array<String>]
1618
1706
  #
@@ -1627,7 +1715,7 @@ module Aws::ECS
1627
1715
  #
1628
1716
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1629
1717
  # [2]: https://docs.docker.com/engine/api/v1.35/
1630
- # [3]: https://docs.docker.com/engine/reference/run/
1718
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1631
1719
  # @return [Boolean]
1632
1720
  #
1633
1721
  # @!attribute [rw] pseudo_terminal
@@ -1639,7 +1727,7 @@ module Aws::ECS
1639
1727
  #
1640
1728
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1641
1729
  # [2]: https://docs.docker.com/engine/api/v1.35/
1642
- # [3]: https://docs.docker.com/engine/reference/run/
1730
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1643
1731
  # @return [Boolean]
1644
1732
  #
1645
1733
  # @!attribute [rw] docker_labels
@@ -1656,7 +1744,7 @@ module Aws::ECS
1656
1744
  #
1657
1745
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1658
1746
  # [2]: https://docs.docker.com/engine/api/v1.35/
1659
- # [3]: https://docs.docker.com/engine/reference/run/
1747
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1660
1748
  # @return [Hash<String,String>]
1661
1749
  #
1662
1750
  # @!attribute [rw] ulimits
@@ -1671,7 +1759,8 @@ module Aws::ECS
1671
1759
  # log in to your container instance and run the following command:
1672
1760
  # `sudo docker version --format '\{\{.Server.APIVersion\}\}'`
1673
1761
  #
1674
- # <note markdown="1"> This parameter is not supported for Windows containers.
1762
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1763
+ # use the awsvpc network mode.
1675
1764
  #
1676
1765
  # </note>
1677
1766
  #
@@ -1679,7 +1768,7 @@ module Aws::ECS
1679
1768
  #
1680
1769
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1681
1770
  # [2]: https://docs.docker.com/engine/api/v1.35/
1682
- # [3]: https://docs.docker.com/engine/reference/run/
1771
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1683
1772
  # @return [Array<Types::Ulimit>]
1684
1773
  #
1685
1774
  # @!attribute [rw] log_configuration
@@ -1724,7 +1813,7 @@ module Aws::ECS
1724
1813
  #
1725
1814
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1726
1815
  # [2]: https://docs.docker.com/engine/api/v1.35/
1727
- # [3]: https://docs.docker.com/engine/reference/run/
1816
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1728
1817
  # [4]: https://docs.docker.com/engine/admin/logging/overview/
1729
1818
  # [5]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
1730
1819
  # @return [Types::LogConfiguration]
@@ -1739,7 +1828,7 @@ module Aws::ECS
1739
1828
  #
1740
1829
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1741
1830
  # [2]: https://docs.docker.com/engine/api/v1.35/
1742
- # [3]: https://docs.docker.com/engine/reference/run/
1831
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1743
1832
  # @return [Types::HealthCheck]
1744
1833
  #
1745
1834
  # @!attribute [rw] system_controls
@@ -1763,7 +1852,7 @@ module Aws::ECS
1763
1852
  #
1764
1853
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
1765
1854
  # [2]: https://docs.docker.com/engine/api/v1.35/
1766
- # [3]: https://docs.docker.com/engine/reference/run/
1855
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
1767
1856
  # @return [Array<Types::SystemControl>]
1768
1857
  #
1769
1858
  # @!attribute [rw] resource_requirements
@@ -1878,10 +1967,12 @@ module Aws::ECS
1878
1967
  # * `COMPLETE` - This condition validates that a dependent container
1879
1968
  # runs to completion (exits) before permitting other containers to
1880
1969
  # start. This can be useful for nonessential containers that run a
1881
- # script and then exit.
1970
+ # script and then exit. This condition cannot be set on an essential
1971
+ # container.
1882
1972
  #
1883
1973
  # * `SUCCESS` - This condition is the same as `COMPLETE`, but it also
1884
- # requires that the container exits with a `zero` status.
1974
+ # requires that the container exits with a `zero` status. This
1975
+ # condition cannot be set on an essential container.
1885
1976
  #
1886
1977
  # * `HEALTHY` - This condition validates that the dependent container
1887
1978
  # passes its Docker health check before permitting other containers
@@ -2257,6 +2348,7 @@ module Aws::ECS
2257
2348
  # target_capacity: 1,
2258
2349
  # minimum_scaling_step_size: 1,
2259
2350
  # maximum_scaling_step_size: 1,
2351
+ # instance_warmup_period: 1,
2260
2352
  # },
2261
2353
  # managed_termination_protection: "ENABLED", # accepts ENABLED, DISABLED
2262
2354
  # },
@@ -2511,6 +2603,10 @@ module Aws::ECS
2511
2603
  # platform_version: "String",
2512
2604
  # role: "String",
2513
2605
  # deployment_configuration: {
2606
+ # deployment_circuit_breaker: {
2607
+ # enable: false, # required
2608
+ # rollback: false, # required
2609
+ # },
2514
2610
  # maximum_percent: 1,
2515
2611
  # minimum_healthy_percent: 1,
2516
2612
  # },
@@ -2566,8 +2662,8 @@ module Aws::ECS
2566
2662
  # task definition to run in your service. If a `revision` is not
2567
2663
  # specified, the latest `ACTIVE` revision is used.
2568
2664
  #
2569
- # A task definition must be specified if the service is using the
2570
- # `ECS` deployment controller.
2665
+ # A task definition must be specified if the service is using either
2666
+ # the `ECS` or `CODE_DEPLOY` deployment controllers.
2571
2667
  # @return [String]
2572
2668
  #
2573
2669
  # @!attribute [rw] load_balancers
@@ -2577,11 +2673,11 @@ module Aws::ECS
2577
2673
  #
2578
2674
  # If the service is using the rolling update (`ECS`) deployment
2579
2675
  # controller and using either an Application Load Balancer or Network
2580
- # Load Balancer, you can specify multiple target groups to attach to
2581
- # the service. The service-linked role is required for services that
2582
- # make use of multiple target groups. For more information, see [Using
2583
- # Service-Linked Roles for Amazon ECS][2] in the *Amazon Elastic
2584
- # Container Service Developer Guide*.
2676
+ # Load Balancer, you must specify one or more target group ARNs to
2677
+ # attach to the service. The service-linked role is required for
2678
+ # services that make use of multiple target groups. For more
2679
+ # information, see [Using Service-Linked Roles for Amazon ECS][2] in
2680
+ # the *Amazon Elastic Container Service Developer Guide*.
2585
2681
  #
2586
2682
  # If the service is using the `CODE_DEPLOY` deployment controller, the
2587
2683
  # service is required to use either an Application Load Balancer or
@@ -2604,17 +2700,19 @@ module Aws::ECS
2604
2700
  # For Application Load Balancers and Network Load Balancers, this
2605
2701
  # object must contain the load balancer target group ARN, the
2606
2702
  # container name (as it appears in a container definition), and the
2607
- # container port to access from the load balancer. When a task from
2608
- # this service is placed on a container instance, the container
2609
- # instance and port combination is registered as a target in the
2610
- # target group specified here.
2703
+ # container port to access from the load balancer. The load balancer
2704
+ # name parameter must be omitted. When a task from this service is
2705
+ # placed on a container instance, the container instance and port
2706
+ # combination is registered as a target in the target group specified
2707
+ # here.
2611
2708
  #
2612
2709
  # For Classic Load Balancers, this object must contain the load
2613
2710
  # balancer name, the container name (as it appears in a container
2614
2711
  # definition), and the container port to access from the load
2615
- # balancer. When a task from this service is placed on a container
2616
- # instance, the container instance is registered with the load
2617
- # balancer specified here.
2712
+ # balancer. The target group ARN parameter must be omitted. When a
2713
+ # task from this service is placed on a container instance, the
2714
+ # container instance is registered with the load balancer specified
2715
+ # here.
2618
2716
  #
2619
2717
  # Services with tasks that use the `awsvpc` network mode (for example,
2620
2718
  # those with the Fargate launch type) only support Application Load
@@ -3466,6 +3564,19 @@ module Aws::ECS
3466
3564
  # status.
3467
3565
  # @return [Integer]
3468
3566
  #
3567
+ # @!attribute [rw] failed_tasks
3568
+ # The number of consecutively failed tasks in the deployment. A task
3569
+ # is considered a failure if the service scheduler can't launch the
3570
+ # task, the task doesn't transition to a `RUNNING` state, or if it
3571
+ # fails any of its defined health checks and is stopped.
3572
+ #
3573
+ # <note markdown="1"> Once a service deployment has one or more successfully running
3574
+ # tasks, the failed task count resets to zero and stops being
3575
+ # evaluated.
3576
+ #
3577
+ # </note>
3578
+ # @return [Integer]
3579
+ #
3469
3580
  # @!attribute [rw] created_at
3470
3581
  # The Unix timestamp for when the service deployment was created.
3471
3582
  # @return [Time]
@@ -3507,6 +3618,26 @@ module Aws::ECS
3507
3618
  # networking mode.
3508
3619
  # @return [Types::NetworkConfiguration]
3509
3620
  #
3621
+ # @!attribute [rw] rollout_state
3622
+ # <note markdown="1"> The `rolloutState` of a service is only returned for services that
3623
+ # use the rolling update (`ECS`) deployment type that are not behind a
3624
+ # Classic Load Balancer.
3625
+ #
3626
+ # </note>
3627
+ #
3628
+ # The rollout state of the deployment. When a service deployment is
3629
+ # started, it begins in an `IN_PROGRESS` state. When the service
3630
+ # reaches a steady state, the deployment will transition to a
3631
+ # `COMPLETED` state. If the service fails to reach a steady state and
3632
+ # circuit breaker is enabled, the deployment will transition to a
3633
+ # `FAILED` state. A deployment in `FAILED` state will launch no new
3634
+ # tasks. For more information, see DeploymentCircuitBreaker.
3635
+ # @return [String]
3636
+ #
3637
+ # @!attribute [rw] rollout_state_reason
3638
+ # A description of the rollout state of a deployment.
3639
+ # @return [String]
3640
+ #
3510
3641
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Deployment AWS API Documentation
3511
3642
  #
3512
3643
  class Deployment < Struct.new(
@@ -3516,12 +3647,62 @@ module Aws::ECS
3516
3647
  :desired_count,
3517
3648
  :pending_count,
3518
3649
  :running_count,
3650
+ :failed_tasks,
3519
3651
  :created_at,
3520
3652
  :updated_at,
3521
3653
  :capacity_provider_strategy,
3522
3654
  :launch_type,
3523
3655
  :platform_version,
3524
- :network_configuration)
3656
+ :network_configuration,
3657
+ :rollout_state,
3658
+ :rollout_state_reason)
3659
+ SENSITIVE = []
3660
+ include Aws::Structure
3661
+ end
3662
+
3663
+ # <note markdown="1"> The deployment circuit breaker can only be used for services using the
3664
+ # rolling update (`ECS`) deployment type that are not behind a Classic
3665
+ # Load Balancer.
3666
+ #
3667
+ # </note>
3668
+ #
3669
+ # The **deployment circuit breaker** determines whether a service
3670
+ # deployment will fail if the service can't reach a steady state. If
3671
+ # enabled, a service deployment will transition to a failed state and
3672
+ # stop launching new tasks. You can also enable Amazon ECS to roll back
3673
+ # your service to the last completed deployment after a failure. For
3674
+ # more information, see [Rolling update][1] in the *Amazon Elastic
3675
+ # Container Service Developer Guide*.
3676
+ #
3677
+ #
3678
+ #
3679
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html
3680
+ #
3681
+ # @note When making an API call, you may pass DeploymentCircuitBreaker
3682
+ # data as a hash:
3683
+ #
3684
+ # {
3685
+ # enable: false, # required
3686
+ # rollback: false, # required
3687
+ # }
3688
+ #
3689
+ # @!attribute [rw] enable
3690
+ # Whether to enable the deployment circuit breaker logic for the
3691
+ # service.
3692
+ # @return [Boolean]
3693
+ #
3694
+ # @!attribute [rw] rollback
3695
+ # Whether to enable Amazon ECS to roll back the service if a service
3696
+ # deployment fails. If rollback is enabled, when a service deployment
3697
+ # fails, the service is rolled back to the last deployment that
3698
+ # completed successfully.
3699
+ # @return [Boolean]
3700
+ #
3701
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeploymentCircuitBreaker AWS API Documentation
3702
+ #
3703
+ class DeploymentCircuitBreaker < Struct.new(
3704
+ :enable,
3705
+ :rollback)
3525
3706
  SENSITIVE = []
3526
3707
  include Aws::Structure
3527
3708
  end
@@ -3533,10 +3714,28 @@ module Aws::ECS
3533
3714
  # data as a hash:
3534
3715
  #
3535
3716
  # {
3717
+ # deployment_circuit_breaker: {
3718
+ # enable: false, # required
3719
+ # rollback: false, # required
3720
+ # },
3536
3721
  # maximum_percent: 1,
3537
3722
  # minimum_healthy_percent: 1,
3538
3723
  # }
3539
3724
  #
3725
+ # @!attribute [rw] deployment_circuit_breaker
3726
+ # <note markdown="1"> The deployment circuit breaker can only be used for services using
3727
+ # the rolling update (`ECS`) deployment type.
3728
+ #
3729
+ # </note>
3730
+ #
3731
+ # The **deployment circuit breaker** determines whether a service
3732
+ # deployment will fail if the service can't reach a steady state. If
3733
+ # deployment circuit breaker is enabled, a service deployment will
3734
+ # transition to a failed state and stop launching new tasks. If
3735
+ # rollback is enabled, when a service deployment fails, the service is
3736
+ # rolled back to the last deployment that completed successfully.
3737
+ # @return [Types::DeploymentCircuitBreaker]
3738
+ #
3540
3739
  # @!attribute [rw] maximum_percent
3541
3740
  # If a service is using the rolling update (`ECS`) deployment type,
3542
3741
  # the **maximum percent** parameter represents an upper limit on the
@@ -3592,6 +3791,7 @@ module Aws::ECS
3592
3791
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeploymentConfiguration AWS API Documentation
3593
3792
  #
3594
3793
  class DeploymentConfiguration < Struct.new(
3794
+ :deployment_circuit_breaker,
3595
3795
  :maximum_percent,
3596
3796
  :minimum_healthy_percent)
3597
3797
  SENSITIVE = []
@@ -4393,11 +4593,12 @@ module Aws::ECS
4393
4593
  # @!attribute [rw] access_point_id
4394
4594
  # The Amazon EFS access point ID to use. If an access point is
4395
4595
  # specified, the root directory value specified in the
4396
- # `EFSVolumeConfiguration` will be relative to the directory set for
4397
- # the access point. If an access point is used, transit encryption
4398
- # must be enabled in the `EFSVolumeConfiguration`. For more
4399
- # information, see [Working with Amazon EFS Access Points][1] in the
4400
- # *Amazon Elastic File System User Guide*.
4596
+ # `EFSVolumeConfiguration` must either be omitted or set to `/` which
4597
+ # will enforce the path set on the EFS access point. If an access
4598
+ # point is used, transit encryption must be enabled in the
4599
+ # `EFSVolumeConfiguration`. For more information, see [Working with
4600
+ # Amazon EFS Access Points][1] in the *Amazon Elastic File System User
4601
+ # Guide*.
4401
4602
  #
4402
4603
  #
4403
4604
  #
@@ -4458,6 +4659,10 @@ module Aws::ECS
4458
4659
  # directory inside the host. If this parameter is omitted, the root of
4459
4660
  # the Amazon EFS volume will be used. Specifying `/` will have the
4460
4661
  # same effect as omitting this parameter.
4662
+ #
4663
+ # If an EFS access point is specified in the `authorizationConfig`,
4664
+ # the root directory parameter must either be omitted or set to `/`
4665
+ # which will enforce the path set on the EFS access point.
4461
4666
  # @return [String]
4462
4667
  #
4463
4668
  # @!attribute [rw] transit_encryption
@@ -4553,7 +4758,108 @@ module Aws::ECS
4553
4758
  include Aws::Structure
4554
4759
  end
4555
4760
 
4556
- # A failed resource.
4761
+ # The authorization configuration details for Amazon FSx for Windows
4762
+ # File Server file system. See
4763
+ # [FSxWindowsFileServerVolumeConfiguration][1] in the *Amazon Elastic
4764
+ # Container Service API Reference*.
4765
+ #
4766
+ # For more information and the input format, see [Amazon FSx for Windows
4767
+ # File Server Volumes][2] in the *Amazon Elastic Container Service
4768
+ # Developer Guide*.
4769
+ #
4770
+ #
4771
+ #
4772
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html
4773
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html
4774
+ #
4775
+ # @note When making an API call, you may pass FSxWindowsFileServerAuthorizationConfig
4776
+ # data as a hash:
4777
+ #
4778
+ # {
4779
+ # credentials_parameter: "String", # required
4780
+ # domain: "String", # required
4781
+ # }
4782
+ #
4783
+ # @!attribute [rw] credentials_parameter
4784
+ # The authorization credential option to use. The authorization
4785
+ # credential options can be provided using either the Amazon Resource
4786
+ # Name (ARN) of an AWS Secrets Manager secret or AWS Systems Manager
4787
+ # Parameter Store parameter. The ARNs refer to the stored credentials.
4788
+ # @return [String]
4789
+ #
4790
+ # @!attribute [rw] domain
4791
+ # A fully qualified domain name hosted by an [AWS Directory
4792
+ # Service][1] Managed Microsoft AD (Active Directory) or self-hosted
4793
+ # AD on Amazon EC2.
4794
+ #
4795
+ #
4796
+ #
4797
+ # [1]: https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html
4798
+ # @return [String]
4799
+ #
4800
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/FSxWindowsFileServerAuthorizationConfig AWS API Documentation
4801
+ #
4802
+ class FSxWindowsFileServerAuthorizationConfig < Struct.new(
4803
+ :credentials_parameter,
4804
+ :domain)
4805
+ SENSITIVE = []
4806
+ include Aws::Structure
4807
+ end
4808
+
4809
+ # This parameter is specified when you are using [Amazon FSx for Windows
4810
+ # File Server][1] file system for task storage.
4811
+ #
4812
+ # For more information and the input format, see [Amazon FSx for Windows
4813
+ # File Server Volumes][2] in the *Amazon Elastic Container Service
4814
+ # Developer Guide*.
4815
+ #
4816
+ #
4817
+ #
4818
+ # [1]: https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html
4819
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html
4820
+ #
4821
+ # @note When making an API call, you may pass FSxWindowsFileServerVolumeConfiguration
4822
+ # data as a hash:
4823
+ #
4824
+ # {
4825
+ # file_system_id: "String", # required
4826
+ # root_directory: "String", # required
4827
+ # authorization_config: { # required
4828
+ # credentials_parameter: "String", # required
4829
+ # domain: "String", # required
4830
+ # },
4831
+ # }
4832
+ #
4833
+ # @!attribute [rw] file_system_id
4834
+ # The Amazon FSx for Windows File Server file system ID to use.
4835
+ # @return [String]
4836
+ #
4837
+ # @!attribute [rw] root_directory
4838
+ # The directory within the Amazon FSx for Windows File Server file
4839
+ # system to mount as the root directory inside the host.
4840
+ # @return [String]
4841
+ #
4842
+ # @!attribute [rw] authorization_config
4843
+ # The authorization configuration details for the Amazon FSx for
4844
+ # Windows File Server file system.
4845
+ # @return [Types::FSxWindowsFileServerAuthorizationConfig]
4846
+ #
4847
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/FSxWindowsFileServerVolumeConfiguration AWS API Documentation
4848
+ #
4849
+ class FSxWindowsFileServerVolumeConfiguration < Struct.new(
4850
+ :file_system_id,
4851
+ :root_directory,
4852
+ :authorization_config)
4853
+ SENSITIVE = []
4854
+ include Aws::Structure
4855
+ end
4856
+
4857
+ # A failed resource. For a list of common causes, see [API failure
4858
+ # reasons][1] in the *Amazon Elastic Container Service Developer Guide*.
4859
+ #
4860
+ #
4861
+ #
4862
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/api_failures_messages.html
4557
4863
  #
4558
4864
  # @!attribute [rw] arn
4559
4865
  # The Amazon Resource Name (ARN) of the failed resource.
@@ -4920,9 +5226,8 @@ module Aws::ECS
4920
5226
  # `CapAdd` in the [Create a container][1] section of the [Docker
4921
5227
  # Remote API][2] and the `--cap-add` option to [docker run][3].
4922
5228
  #
4923
- # <note markdown="1"> The `SYS_PTRACE` capability is supported for tasks that use the
4924
- # Fargate launch type if they are also using platform version 1.4.0.
4925
- # The other capabilities are not supported for any platform versions.
5229
+ # <note markdown="1"> Tasks launched on AWS Fargate only support adding the `SYS_PTRACE`
5230
+ # kernel capability.
4926
5231
  #
4927
5232
  # </note>
4928
5233
  #
@@ -4940,7 +5245,7 @@ module Aws::ECS
4940
5245
  #
4941
5246
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
4942
5247
  # [2]: https://docs.docker.com/engine/api/v1.35/
4943
- # [3]: https://docs.docker.com/engine/reference/run/
5248
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
4944
5249
  # @return [Array<String>]
4945
5250
  #
4946
5251
  # @!attribute [rw] drop
@@ -4963,7 +5268,7 @@ module Aws::ECS
4963
5268
  #
4964
5269
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
4965
5270
  # [2]: https://docs.docker.com/engine/api/v1.35/
4966
- # [3]: https://docs.docker.com/engine/reference/run/
5271
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
4967
5272
  # @return [Array<String>]
4968
5273
  #
4969
5274
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/KernelCapabilities AWS API Documentation
@@ -5066,7 +5371,7 @@ module Aws::ECS
5066
5371
  #
5067
5372
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
5068
5373
  # [2]: https://docs.docker.com/engine/api/v1.35/
5069
- # [3]: https://docs.docker.com/engine/reference/run/
5374
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
5070
5375
  # @return [Array<Types::Device>]
5071
5376
  #
5072
5377
  # @!attribute [rw] init_process_enabled
@@ -5080,7 +5385,7 @@ module Aws::ECS
5080
5385
  #
5081
5386
  #
5082
5387
  #
5083
- # [1]: https://docs.docker.com/engine/reference/run/
5388
+ # [1]: https://docs.docker.com/engine/reference/run/#security-configuration
5084
5389
  # @return [Boolean]
5085
5390
  #
5086
5391
  # @!attribute [rw] shared_memory_size
@@ -5094,7 +5399,7 @@ module Aws::ECS
5094
5399
  #
5095
5400
  #
5096
5401
  #
5097
- # [1]: https://docs.docker.com/engine/reference/run/
5402
+ # [1]: https://docs.docker.com/engine/reference/run/#security-configuration
5098
5403
  # @return [Integer]
5099
5404
  #
5100
5405
  # @!attribute [rw] tmpfs
@@ -5109,7 +5414,7 @@ module Aws::ECS
5109
5414
  #
5110
5415
  #
5111
5416
  #
5112
- # [1]: https://docs.docker.com/engine/reference/run/
5417
+ # [1]: https://docs.docker.com/engine/reference/run/#security-configuration
5113
5418
  # @return [Array<Types::Tmpfs>]
5114
5419
  #
5115
5420
  # @!attribute [rw] max_swap
@@ -5132,7 +5437,7 @@ module Aws::ECS
5132
5437
  #
5133
5438
  #
5134
5439
  #
5135
- # [1]: https://docs.docker.com/engine/reference/run/
5440
+ # [1]: https://docs.docker.com/engine/reference/run/#security-configuration
5136
5441
  # @return [Integer]
5137
5442
  #
5138
5443
  # @!attribute [rw] swappiness
@@ -5153,7 +5458,7 @@ module Aws::ECS
5153
5458
  #
5154
5459
  #
5155
5460
  #
5156
- # [1]: https://docs.docker.com/engine/reference/run/
5461
+ # [1]: https://docs.docker.com/engine/reference/run/#security-configuration
5157
5462
  # @return [Integer]
5158
5463
  #
5159
5464
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/LinuxParameters AWS API Documentation
@@ -6019,19 +6324,16 @@ module Aws::ECS
6019
6324
  include Aws::Structure
6020
6325
  end
6021
6326
 
6022
- # The log configuration specification for the container.
6327
+ # The log configuration for the container. This parameter maps to
6328
+ # `LogConfig` in the [Create a container][1] section of the [Docker
6329
+ # Remote API][2] and the `--log-driver` option to [ `docker run` ][3].
6023
6330
  #
6024
- # This parameter maps to `LogConfig` in the [Create a container][1]
6025
- # section of the [Docker Remote API][2] and the `--log-driver` option to
6026
- # [ `docker run` ][3]. By default, containers use the same logging
6027
- # driver that the Docker daemon uses; however the container may use a
6028
- # different logging driver than the Docker daemon by specifying a log
6029
- # driver with this parameter in the container definition. To use a
6030
- # different logging driver for a container, the log system must be
6031
- # configured properly on the container instance (or on a different log
6032
- # server for remote logging options). For more information on the
6033
- # options for different supported log drivers, see [Configure logging
6034
- # drivers][4] in the Docker documentation.
6331
+ # By default, containers use the same logging driver that the Docker
6332
+ # daemon uses; however the container may use a different logging driver
6333
+ # than the Docker daemon by specifying a log driver configuration in the
6334
+ # container definition. For more information on the options for
6335
+ # different supported log drivers, see [Configure logging drivers][4] in
6336
+ # the Docker documentation.
6035
6337
  #
6036
6338
  # The following should be noted when specifying a log configuration for
6037
6339
  # your containers:
@@ -6044,19 +6346,19 @@ module Aws::ECS
6044
6346
  # * This parameter requires version 1.18 of the Docker Remote API or
6045
6347
  # greater on your container instance.
6046
6348
  #
6047
- # * For tasks using the EC2 launch type, the Amazon ECS container agent
6048
- # running on a container instance must register the logging drivers
6049
- # available on that instance with the `ECS_AVAILABLE_LOGGING_DRIVERS`
6050
- # environment variable before containers placed on that instance can
6051
- # use these log configuration options. For more information, see
6052
- # [Amazon ECS Container Agent Configuration][5] in the *Amazon Elastic
6053
- # Container Service Developer Guide*.
6349
+ # * For tasks hosted on Amazon EC2 instances, the Amazon ECS container
6350
+ # agent must register the available logging drivers with the
6351
+ # `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before
6352
+ # containers placed on that instance can use these log configuration
6353
+ # options. For more information, see [Amazon ECS container agent
6354
+ # configuration][5] in the *Amazon Elastic Container Service Developer
6355
+ # Guide*.
6054
6356
  #
6055
- # * For tasks using the Fargate launch type, because you do not have
6056
- # access to the underlying infrastructure your tasks are hosted on,
6057
- # any additional software needed will have to be installed outside of
6058
- # the task. For example, the Fluentd output aggregators or a remote
6059
- # host running Logstash to send Gelf logs to.
6357
+ # * For tasks on AWS Fargate, because you do not have access to the
6358
+ # underlying infrastructure your tasks are hosted on, any additional
6359
+ # software needed will have to be installed outside of the task. For
6360
+ # example, the Fluentd output aggregators or a remote host running
6361
+ # Logstash to send Gelf logs to.
6060
6362
  #
6061
6363
  #
6062
6364
  #
@@ -6083,23 +6385,21 @@ module Aws::ECS
6083
6385
  # }
6084
6386
  #
6085
6387
  # @!attribute [rw] log_driver
6086
- # The log driver to use for the container. The valid values listed
6087
- # earlier are log drivers that the Amazon ECS container agent can
6088
- # communicate with by default.
6388
+ # The log driver to use for the container.
6089
6389
  #
6090
- # For tasks using the Fargate launch type, the supported log drivers
6091
- # are `awslogs`, `splunk`, and `awsfirelens`.
6390
+ # For tasks on AWS Fargate, the supported log drivers are `awslogs`,
6391
+ # `splunk`, and `awsfirelens`.
6092
6392
  #
6093
- # For tasks using the EC2 launch type, the supported log drivers are
6094
- # `awslogs`, `fluentd`, `gelf`, `json-file`, `journald`,
6393
+ # For tasks hosted on Amazon EC2 instances, the supported log drivers
6394
+ # are `awslogs`, `fluentd`, `gelf`, `json-file`, `journald`,
6095
6395
  # `logentries`,`syslog`, `splunk`, and `awsfirelens`.
6096
6396
  #
6097
6397
  # For more information about using the `awslogs` log driver, see
6098
- # [Using the awslogs Log Driver][1] in the *Amazon Elastic Container
6398
+ # [Using the awslogs log driver][1] in the *Amazon Elastic Container
6099
6399
  # Service Developer Guide*.
6100
6400
  #
6101
6401
  # For more information about using the `awsfirelens` log driver, see
6102
- # [Custom Log Routing][2] in the *Amazon Elastic Container Service
6402
+ # [Custom log routing][2] in the *Amazon Elastic Container Service
6103
6403
  # Developer Guide*.
6104
6404
  #
6105
6405
  # <note markdown="1"> If you have a custom driver that is not listed, you can fork the
@@ -6172,6 +6472,7 @@ module Aws::ECS
6172
6472
  # target_capacity: 1,
6173
6473
  # minimum_scaling_step_size: 1,
6174
6474
  # maximum_scaling_step_size: 1,
6475
+ # instance_warmup_period: 1,
6175
6476
  # }
6176
6477
  #
6177
6478
  # @!attribute [rw] status
@@ -6197,13 +6498,21 @@ module Aws::ECS
6197
6498
  # default value of `10000` is used.
6198
6499
  # @return [Integer]
6199
6500
  #
6501
+ # @!attribute [rw] instance_warmup_period
6502
+ # The period of time, in seconds, after a newly launched Amazon EC2
6503
+ # instance can contribute to CloudWatch metrics for Auto Scaling
6504
+ # group. If this parameter is omitted, the default value of `300`
6505
+ # seconds is used.
6506
+ # @return [Integer]
6507
+ #
6200
6508
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedScaling AWS API Documentation
6201
6509
  #
6202
6510
  class ManagedScaling < Struct.new(
6203
6511
  :status,
6204
6512
  :target_capacity,
6205
6513
  :minimum_scaling_step_size,
6206
- :maximum_scaling_step_size)
6514
+ :maximum_scaling_step_size,
6515
+ :instance_warmup_period)
6207
6516
  SENSITIVE = []
6208
6517
  include Aws::Structure
6209
6518
  end
@@ -6538,9 +6847,6 @@ module Aws::ECS
6538
6847
  # more information, see `hostPort`. Port mappings that are
6539
6848
  # automatically assigned in this way do not count toward the 100
6540
6849
  # reserved ports limit of a container instance.
6541
- #
6542
- # You cannot expose the same container port for multiple protocols. An
6543
- # error will be returned if this is attempted.
6544
6850
  # @return [Integer]
6545
6851
  #
6546
6852
  # @!attribute [rw] host_port
@@ -6606,11 +6912,7 @@ module Aws::ECS
6606
6912
  # your container instances are launched from the Amazon ECS-optimized
6607
6913
  # AMI version `20190301` or later, then they contain the required
6608
6914
  # versions of the container agent and `ecs-init`. For more information,
6609
- # see [Amazon ECS-optimized Linux AMI][1] in the *Amazon Elastic
6610
- # Container Service Developer Guide*.
6611
- #
6612
- # For tasks using the Fargate launch type, the task or service requires
6613
- # platform version 1.3.0 or later.
6915
+ # see [Amazon ECS-optimized Linux AMI][1]
6614
6916
  #
6615
6917
  #
6616
6918
  #
@@ -7253,6 +7555,14 @@ module Aws::ECS
7253
7555
  # iam: "ENABLED", # accepts ENABLED, DISABLED
7254
7556
  # },
7255
7557
  # },
7558
+ # fsx_windows_file_server_volume_configuration: {
7559
+ # file_system_id: "String", # required
7560
+ # root_directory: "String", # required
7561
+ # authorization_config: { # required
7562
+ # credentials_parameter: "String", # required
7563
+ # domain: "String", # required
7564
+ # },
7565
+ # },
7256
7566
  # },
7257
7567
  # ],
7258
7568
  # placement_constraints: [
@@ -7324,16 +7634,17 @@ module Aws::ECS
7324
7634
  #
7325
7635
  # @!attribute [rw] network_mode
7326
7636
  # The Docker networking mode to use for the containers in the task.
7327
- # The valid values are `none`, `bridge`, `awsvpc`, and `host`. The
7328
- # default Docker network mode is `bridge`. If you are using the
7329
- # Fargate launch type, the `awsvpc` network mode is required. If you
7330
- # are using the EC2 launch type, any network mode can be used. If the
7331
- # network mode is set to `none`, you cannot specify port mappings in
7332
- # your container definitions, and the tasks containers do not have
7333
- # external connectivity. The `host` and `awsvpc` network modes offer
7334
- # the highest networking performance for containers because they use
7335
- # the EC2 network stack instead of the virtualized network stack
7336
- # provided by the `bridge` mode.
7637
+ # The valid values are `none`, `bridge`, `awsvpc`, and `host`. If no
7638
+ # network mode is specified, the default is `bridge`.
7639
+ #
7640
+ # For Amazon ECS tasks on Fargate, the `awsvpc` network mode is
7641
+ # required. For Amazon ECS tasks on Amazon EC2 instances, any network
7642
+ # mode can be used. If the network mode is set to `none`, you cannot
7643
+ # specify port mappings in your container definitions, and the tasks
7644
+ # containers do not have external connectivity. The `host` and
7645
+ # `awsvpc` network modes offer the highest networking performance for
7646
+ # containers because they use the EC2 network stack instead of the
7647
+ # virtualized network stack provided by the `bridge` mode.
7337
7648
  #
7338
7649
  # With the `host` and `awsvpc` network modes, exposed container ports
7339
7650
  # are mapped directly to the corresponding host port (for the `host`
@@ -7341,6 +7652,10 @@ module Aws::ECS
7341
7652
  # the `awsvpc` network mode), so you cannot take advantage of dynamic
7342
7653
  # host port mappings.
7343
7654
  #
7655
+ # When using the `host` network mode, you should not run containers
7656
+ # using the root user (UID 0). It is considered best practice to use a
7657
+ # non-root user.
7658
+ #
7344
7659
  # If the network mode is `awsvpc`, the task is allocated an elastic
7345
7660
  # network interface, and you must specify a NetworkConfiguration value
7346
7661
  # when you create a service or run a task with the task definition.
@@ -7390,8 +7705,10 @@ module Aws::ECS
7390
7705
  # @return [Array<Types::TaskDefinitionPlacementConstraint>]
7391
7706
  #
7392
7707
  # @!attribute [rw] requires_compatibilities
7393
- # The launch type required by the task. If no value is specified, it
7394
- # defaults to `EC2`.
7708
+ # The task launch type that Amazon ECS should validate the task
7709
+ # definition against. This ensures that the task definition parameters
7710
+ # are compatible with the specified launch type. If no value is
7711
+ # specified, it defaults to `EC2`.
7395
7712
  # @return [Array<String>]
7396
7713
  #
7397
7714
  # @!attribute [rw] cpu
@@ -7574,11 +7891,7 @@ module Aws::ECS
7574
7891
  # If your container instances are launched from the Amazon
7575
7892
  # ECS-optimized AMI version `20190301` or later, then they contain the
7576
7893
  # required versions of the container agent and `ecs-init`. For more
7577
- # information, see [Amazon ECS-optimized Linux AMI][1] in the *Amazon
7578
- # Elastic Container Service Developer Guide*.
7579
- #
7580
- # For tasks using the Fargate launch type, the task or service
7581
- # requires platform version 1.3.0 or later.
7894
+ # information, see [Amazon ECS-optimized Linux AMI][1]
7582
7895
  #
7583
7896
  #
7584
7897
  #
@@ -9091,7 +9404,7 @@ module Aws::ECS
9091
9404
  #
9092
9405
  # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
9093
9406
  # [2]: https://docs.docker.com/engine/api/v1.35/
9094
- # [3]: https://docs.docker.com/engine/reference/run/
9407
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
9095
9408
  #
9096
9409
  # @note When making an API call, you may pass SystemControl
9097
9410
  # data as a hash:
@@ -9624,16 +9937,17 @@ module Aws::ECS
9624
9937
  #
9625
9938
  # @!attribute [rw] network_mode
9626
9939
  # The Docker networking mode to use for the containers in the task.
9627
- # The valid values are `none`, `bridge`, `awsvpc`, and `host`. The
9628
- # default Docker network mode is `bridge`. If you are using the
9629
- # Fargate launch type, the `awsvpc` network mode is required. If you
9630
- # are using the EC2 launch type, any network mode can be used. If the
9631
- # network mode is set to `none`, you cannot specify port mappings in
9632
- # your container definitions, and the tasks containers do not have
9633
- # external connectivity. The `host` and `awsvpc` network modes offer
9634
- # the highest networking performance for containers because they use
9635
- # the EC2 network stack instead of the virtualized network stack
9636
- # provided by the `bridge` mode.
9940
+ # The valid values are `none`, `bridge`, `awsvpc`, and `host`. If no
9941
+ # network mode is specified, the default is `bridge`.
9942
+ #
9943
+ # For Amazon ECS tasks on Fargate, the `awsvpc` network mode is
9944
+ # required. For Amazon ECS tasks on Amazon EC2 instances, any network
9945
+ # mode can be used. If the network mode is set to `none`, you cannot
9946
+ # specify port mappings in your container definitions, and the tasks
9947
+ # containers do not have external connectivity. The `host` and
9948
+ # `awsvpc` network modes offer the highest networking performance for
9949
+ # containers because they use the EC2 network stack instead of the
9950
+ # virtualized network stack provided by the `bridge` mode.
9637
9951
  #
9638
9952
  # With the `host` and `awsvpc` network modes, exposed container ports
9639
9953
  # are mapped directly to the corresponding host port (for the `host`
@@ -9641,6 +9955,10 @@ module Aws::ECS
9641
9955
  # the `awsvpc` network mode), so you cannot take advantage of dynamic
9642
9956
  # host port mappings.
9643
9957
  #
9958
+ # When using the `host` network mode, you should not run containers
9959
+ # using the root user (UID 0). It is considered best practice to use a
9960
+ # non-root user.
9961
+ #
9644
9962
  # If the network mode is `awsvpc`, the task is allocated an elastic
9645
9963
  # network interface, and you must specify a NetworkConfiguration value
9646
9964
  # when you create a service or run a task with the task definition.
@@ -9753,9 +10071,12 @@ module Aws::ECS
9753
10071
  # @!attribute [rw] memory
9754
10072
  # The amount (in MiB) of memory used by the task.
9755
10073
  #
9756
- # If using the EC2 launch type, this field is optional and any value
9757
- # can be used. If a task-level memory value is specified then the
9758
- # container-level memory value is optional.
10074
+ # If using the EC2 launch type, you must specify either a task-level
10075
+ # memory value or a container-level memory value. This field is
10076
+ # optional and any value can be used. If a task-level memory value is
10077
+ # specified then the container-level memory value is optional. For
10078
+ # more information regarding container-level memory and memory
10079
+ # reservation, see [ContainerDefinition][1].
9759
10080
  #
9760
10081
  # If using the Fargate launch type, this field is required and you
9761
10082
  # must use one of the following values, which determines your range of
@@ -9775,6 +10096,10 @@ module Aws::ECS
9775
10096
  #
9776
10097
  # * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)
9777
10098
  # - Available `cpu` values: 4096 (4 vCPU)
10099
+ #
10100
+ #
10101
+ #
10102
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html
9778
10103
  # @return [String]
9779
10104
  #
9780
10105
  # @!attribute [rw] inference_accelerators
@@ -9865,6 +10190,18 @@ module Aws::ECS
9865
10190
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
9866
10191
  # @return [Types::ProxyConfiguration]
9867
10192
  #
10193
+ # @!attribute [rw] registered_at
10194
+ # The Unix timestamp for when the task definition was registered.
10195
+ # @return [Time]
10196
+ #
10197
+ # @!attribute [rw] deregistered_at
10198
+ # The Unix timestamp for when the task definition was deregistered.
10199
+ # @return [Time]
10200
+ #
10201
+ # @!attribute [rw] registered_by
10202
+ # The principal that registered the task definition.
10203
+ # @return [String]
10204
+ #
9868
10205
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskDefinition AWS API Documentation
9869
10206
  #
9870
10207
  class TaskDefinition < Struct.new(
@@ -9886,7 +10223,10 @@ module Aws::ECS
9886
10223
  :inference_accelerators,
9887
10224
  :pid_mode,
9888
10225
  :ipc_mode,
9889
- :proxy_configuration)
10226
+ :proxy_configuration,
10227
+ :registered_at,
10228
+ :deregistered_at,
10229
+ :registered_by)
9890
10230
  SENSITIVE = []
9891
10231
  include Aws::Structure
9892
10232
  end
@@ -10272,7 +10612,7 @@ module Aws::ECS
10272
10612
  # @return [String]
10273
10613
  #
10274
10614
  # @!attribute [rw] size
10275
- # The size (in MiB) of the tmpfs volume.
10615
+ # The maximum size (in MiB) of the tmpfs volume.
10276
10616
  # @return [Integer]
10277
10617
  #
10278
10618
  # @!attribute [rw] mount_options
@@ -10368,6 +10708,53 @@ module Aws::ECS
10368
10708
  #
10369
10709
  class UntagResourceResponse < Aws::EmptyStructure; end
10370
10710
 
10711
+ # @note When making an API call, you may pass UpdateCapacityProviderRequest
10712
+ # data as a hash:
10713
+ #
10714
+ # {
10715
+ # name: "String", # required
10716
+ # auto_scaling_group_provider: { # required
10717
+ # managed_scaling: {
10718
+ # status: "ENABLED", # accepts ENABLED, DISABLED
10719
+ # target_capacity: 1,
10720
+ # minimum_scaling_step_size: 1,
10721
+ # maximum_scaling_step_size: 1,
10722
+ # instance_warmup_period: 1,
10723
+ # },
10724
+ # managed_termination_protection: "ENABLED", # accepts ENABLED, DISABLED
10725
+ # },
10726
+ # }
10727
+ #
10728
+ # @!attribute [rw] name
10729
+ # The name of the capacity provider to update.
10730
+ # @return [String]
10731
+ #
10732
+ # @!attribute [rw] auto_scaling_group_provider
10733
+ # An object representing the parameters to update for the Auto Scaling
10734
+ # group capacity provider.
10735
+ # @return [Types::AutoScalingGroupProviderUpdate]
10736
+ #
10737
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCapacityProviderRequest AWS API Documentation
10738
+ #
10739
+ class UpdateCapacityProviderRequest < Struct.new(
10740
+ :name,
10741
+ :auto_scaling_group_provider)
10742
+ SENSITIVE = []
10743
+ include Aws::Structure
10744
+ end
10745
+
10746
+ # @!attribute [rw] capacity_provider
10747
+ # The details of a capacity provider.
10748
+ # @return [Types::CapacityProvider]
10749
+ #
10750
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCapacityProviderResponse AWS API Documentation
10751
+ #
10752
+ class UpdateCapacityProviderResponse < Struct.new(
10753
+ :capacity_provider)
10754
+ SENSITIVE = []
10755
+ include Aws::Structure
10756
+ end
10757
+
10371
10758
  # @note When making an API call, you may pass UpdateClusterSettingsRequest
10372
10759
  # data as a hash:
10373
10760
  #
@@ -10590,6 +10977,10 @@ module Aws::ECS
10590
10977
  # },
10591
10978
  # ],
10592
10979
  # deployment_configuration: {
10980
+ # deployment_circuit_breaker: {
10981
+ # enable: false, # required
10982
+ # rollback: false, # required
10983
+ # },
10593
10984
  # maximum_percent: 1,
10594
10985
  # minimum_healthy_percent: 1,
10595
10986
  # },
@@ -10872,12 +11263,14 @@ module Aws::ECS
10872
11263
  include Aws::Structure
10873
11264
  end
10874
11265
 
10875
- # A data volume used in a task definition. For tasks that use Amazon
10876
- # Elastic File System (Amazon EFS) file storage, specify an
10877
- # `efsVolumeConfiguration`. For tasks that use a Docker volume, specify
10878
- # a `DockerVolumeConfiguration`. For tasks that use a bind mount host
10879
- # volume, specify a `host` and optional `sourcePath`. For more
10880
- # information, see [Using Data Volumes in Tasks][1].
11266
+ # A data volume used in a task definition. For tasks that use the Amazon
11267
+ # Elastic File System (Amazon EFS), specify an `efsVolumeConfiguration`.
11268
+ # For Windows tasks that use Amazon FSx for Windows File Server file
11269
+ # system, specify a `fsxWindowsFileServerVolumeConfiguration`. For tasks
11270
+ # that use a Docker volume, specify a `DockerVolumeConfiguration`. For
11271
+ # tasks that use a bind mount host volume, specify a `host` and optional
11272
+ # `sourcePath`. For more information, see [Using Data Volumes in
11273
+ # Tasks][1].
10881
11274
  #
10882
11275
  #
10883
11276
  #
@@ -10912,6 +11305,14 @@ module Aws::ECS
10912
11305
  # iam: "ENABLED", # accepts ENABLED, DISABLED
10913
11306
  # },
10914
11307
  # },
11308
+ # fsx_windows_file_server_volume_configuration: {
11309
+ # file_system_id: "String", # required
11310
+ # root_directory: "String", # required
11311
+ # authorization_config: { # required
11312
+ # credentials_parameter: "String", # required
11313
+ # domain: "String", # required
11314
+ # },
11315
+ # },
10915
11316
  # }
10916
11317
  #
10917
11318
  # @!attribute [rw] name
@@ -10948,13 +11349,19 @@ module Aws::ECS
10948
11349
  # File System file system for task storage.
10949
11350
  # @return [Types::EFSVolumeConfiguration]
10950
11351
  #
11352
+ # @!attribute [rw] fsx_windows_file_server_volume_configuration
11353
+ # This parameter is specified when you are using Amazon FSx for
11354
+ # Windows File Server file system for task storage.
11355
+ # @return [Types::FSxWindowsFileServerVolumeConfiguration]
11356
+ #
10951
11357
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Volume AWS API Documentation
10952
11358
  #
10953
11359
  class Volume < Struct.new(
10954
11360
  :name,
10955
11361
  :host,
10956
11362
  :docker_volume_configuration,
10957
- :efs_volume_configuration)
11363
+ :efs_volume_configuration,
11364
+ :fsx_windows_file_server_volume_configuration)
10958
11365
  SENSITIVE = []
10959
11366
  include Aws::Structure
10960
11367
  end