aws-sdk-ecs 1.74.0 → 1.79.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
 
@@ -43,6 +43,7 @@ module Aws::ECS
43
43
  CapacityProviders = Shapes::ListShape.new(name: 'CapacityProviders')
44
44
  ClientException = Shapes::StructureShape.new(name: 'ClientException')
45
45
  Cluster = Shapes::StructureShape.new(name: 'Cluster')
46
+ ClusterConfiguration = Shapes::StructureShape.new(name: 'ClusterConfiguration')
46
47
  ClusterContainsContainerInstancesException = Shapes::StructureShape.new(name: 'ClusterContainsContainerInstancesException')
47
48
  ClusterContainsServicesException = Shapes::StructureShape.new(name: 'ClusterContainsServicesException')
48
49
  ClusterContainsTasksException = Shapes::StructureShape.new(name: 'ClusterContainsTasksException')
@@ -135,6 +136,12 @@ module Aws::ECS
135
136
  EnvironmentFileType = Shapes::StringShape.new(name: 'EnvironmentFileType')
136
137
  EnvironmentFiles = Shapes::ListShape.new(name: 'EnvironmentFiles')
137
138
  EnvironmentVariables = Shapes::ListShape.new(name: 'EnvironmentVariables')
139
+ EphemeralStorage = Shapes::StructureShape.new(name: 'EphemeralStorage')
140
+ ExecuteCommandConfiguration = Shapes::StructureShape.new(name: 'ExecuteCommandConfiguration')
141
+ ExecuteCommandLogConfiguration = Shapes::StructureShape.new(name: 'ExecuteCommandLogConfiguration')
142
+ ExecuteCommandLogging = Shapes::StringShape.new(name: 'ExecuteCommandLogging')
143
+ ExecuteCommandRequest = Shapes::StructureShape.new(name: 'ExecuteCommandRequest')
144
+ ExecuteCommandResponse = Shapes::StructureShape.new(name: 'ExecuteCommandResponse')
138
145
  FSxWindowsFileServerAuthorizationConfig = Shapes::StructureShape.new(name: 'FSxWindowsFileServerAuthorizationConfig')
139
146
  FSxWindowsFileServerVolumeConfiguration = Shapes::StructureShape.new(name: 'FSxWindowsFileServerVolumeConfiguration')
140
147
  Failure = Shapes::StructureShape.new(name: 'Failure')
@@ -184,6 +191,11 @@ module Aws::ECS
184
191
  LogConfigurationOptionsMap = Shapes::MapShape.new(name: 'LogConfigurationOptionsMap')
185
192
  LogDriver = Shapes::StringShape.new(name: 'LogDriver')
186
193
  Long = Shapes::IntegerShape.new(name: 'Long')
194
+ ManagedAgent = Shapes::StructureShape.new(name: 'ManagedAgent')
195
+ ManagedAgentName = Shapes::StringShape.new(name: 'ManagedAgentName')
196
+ ManagedAgentStateChange = Shapes::StructureShape.new(name: 'ManagedAgentStateChange')
197
+ ManagedAgentStateChanges = Shapes::ListShape.new(name: 'ManagedAgentStateChanges')
198
+ ManagedAgents = Shapes::ListShape.new(name: 'ManagedAgents')
187
199
  ManagedScaling = Shapes::StructureShape.new(name: 'ManagedScaling')
188
200
  ManagedScalingInstanceWarmupPeriod = Shapes::IntegerShape.new(name: 'ManagedScalingInstanceWarmupPeriod')
189
201
  ManagedScalingStatus = Shapes::StringShape.new(name: 'ManagedScalingStatus')
@@ -247,6 +259,7 @@ module Aws::ECS
247
259
  Scope = Shapes::StringShape.new(name: 'Scope')
248
260
  Secret = Shapes::StructureShape.new(name: 'Secret')
249
261
  SecretList = Shapes::ListShape.new(name: 'SecretList')
262
+ SensitiveString = Shapes::StringShape.new(name: 'SensitiveString')
250
263
  ServerException = Shapes::StructureShape.new(name: 'ServerException')
251
264
  Service = Shapes::StructureShape.new(name: 'Service')
252
265
  ServiceEvent = Shapes::StructureShape.new(name: 'ServiceEvent')
@@ -258,6 +271,7 @@ module Aws::ECS
258
271
  ServiceRegistries = Shapes::ListShape.new(name: 'ServiceRegistries')
259
272
  ServiceRegistry = Shapes::StructureShape.new(name: 'ServiceRegistry')
260
273
  Services = Shapes::ListShape.new(name: 'Services')
274
+ Session = Shapes::StructureShape.new(name: 'Session')
261
275
  Setting = Shapes::StructureShape.new(name: 'Setting')
262
276
  SettingName = Shapes::StringShape.new(name: 'SettingName')
263
277
  Settings = Shapes::ListShape.new(name: 'Settings')
@@ -286,6 +300,7 @@ module Aws::ECS
286
300
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
287
301
  TagValue = Shapes::StringShape.new(name: 'TagValue')
288
302
  Tags = Shapes::ListShape.new(name: 'Tags')
303
+ TargetNotConnectedException = Shapes::StructureShape.new(name: 'TargetNotConnectedException')
289
304
  TargetNotFoundException = Shapes::StructureShape.new(name: 'TargetNotFoundException')
290
305
  TargetType = Shapes::StringShape.new(name: 'TargetType')
291
306
  Task = Shapes::StructureShape.new(name: 'Task')
@@ -319,6 +334,8 @@ module Aws::ECS
319
334
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
320
335
  UpdateCapacityProviderRequest = Shapes::StructureShape.new(name: 'UpdateCapacityProviderRequest')
321
336
  UpdateCapacityProviderResponse = Shapes::StructureShape.new(name: 'UpdateCapacityProviderResponse')
337
+ UpdateClusterRequest = Shapes::StructureShape.new(name: 'UpdateClusterRequest')
338
+ UpdateClusterResponse = Shapes::StructureShape.new(name: 'UpdateClusterResponse')
322
339
  UpdateClusterSettingsRequest = Shapes::StructureShape.new(name: 'UpdateClusterSettingsRequest')
323
340
  UpdateClusterSettingsResponse = Shapes::StructureShape.new(name: 'UpdateClusterSettingsResponse')
324
341
  UpdateContainerAgentRequest = Shapes::StructureShape.new(name: 'UpdateContainerAgentRequest')
@@ -407,6 +424,7 @@ module Aws::ECS
407
424
 
408
425
  Cluster.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: String, location_name: "clusterArn"))
409
426
  Cluster.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, location_name: "clusterName"))
427
+ Cluster.add_member(:configuration, Shapes::ShapeRef.new(shape: ClusterConfiguration, location_name: "configuration"))
410
428
  Cluster.add_member(:status, Shapes::ShapeRef.new(shape: String, location_name: "status"))
411
429
  Cluster.add_member(:registered_container_instances_count, Shapes::ShapeRef.new(shape: Integer, location_name: "registeredContainerInstancesCount"))
412
430
  Cluster.add_member(:running_tasks_count, Shapes::ShapeRef.new(shape: Integer, location_name: "runningTasksCount"))
@@ -421,6 +439,9 @@ module Aws::ECS
421
439
  Cluster.add_member(:attachments_status, Shapes::ShapeRef.new(shape: String, location_name: "attachmentsStatus"))
422
440
  Cluster.struct_class = Types::Cluster
423
441
 
442
+ ClusterConfiguration.add_member(:execute_command_configuration, Shapes::ShapeRef.new(shape: ExecuteCommandConfiguration, location_name: "executeCommandConfiguration"))
443
+ ClusterConfiguration.struct_class = Types::ClusterConfiguration
444
+
424
445
  ClusterContainsContainerInstancesException.struct_class = Types::ClusterContainsContainerInstancesException
425
446
 
426
447
  ClusterContainsServicesException.struct_class = Types::ClusterContainsServicesException
@@ -453,6 +474,7 @@ module Aws::ECS
453
474
  Container.add_member(:network_bindings, Shapes::ShapeRef.new(shape: NetworkBindings, location_name: "networkBindings"))
454
475
  Container.add_member(:network_interfaces, Shapes::ShapeRef.new(shape: NetworkInterfaces, location_name: "networkInterfaces"))
455
476
  Container.add_member(:health_status, Shapes::ShapeRef.new(shape: HealthStatus, location_name: "healthStatus"))
477
+ Container.add_member(:managed_agents, Shapes::ShapeRef.new(shape: ManagedAgents, location_name: "managedAgents"))
456
478
  Container.add_member(:cpu, Shapes::ShapeRef.new(shape: String, location_name: "cpu"))
457
479
  Container.add_member(:memory, Shapes::ShapeRef.new(shape: String, location_name: "memory"))
458
480
  Container.add_member(:memory_reservation, Shapes::ShapeRef.new(shape: String, location_name: "memoryReservation"))
@@ -567,6 +589,7 @@ module Aws::ECS
567
589
  CreateClusterRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, location_name: "clusterName"))
568
590
  CreateClusterRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
569
591
  CreateClusterRequest.add_member(:settings, Shapes::ShapeRef.new(shape: ClusterSettings, location_name: "settings"))
592
+ CreateClusterRequest.add_member(:configuration, Shapes::ShapeRef.new(shape: ClusterConfiguration, location_name: "configuration"))
570
593
  CreateClusterRequest.add_member(:capacity_providers, Shapes::ShapeRef.new(shape: StringList, location_name: "capacityProviders"))
571
594
  CreateClusterRequest.add_member(:default_capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, location_name: "defaultCapacityProviderStrategy"))
572
595
  CreateClusterRequest.struct_class = Types::CreateClusterRequest
@@ -595,6 +618,7 @@ module Aws::ECS
595
618
  CreateServiceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
596
619
  CreateServiceRequest.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
597
620
  CreateServiceRequest.add_member(:propagate_tags, Shapes::ShapeRef.new(shape: PropagateTags, location_name: "propagateTags"))
621
+ CreateServiceRequest.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
598
622
  CreateServiceRequest.struct_class = Types::CreateServiceRequest
599
623
 
600
624
  CreateServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
@@ -816,6 +840,36 @@ module Aws::ECS
816
840
 
817
841
  EnvironmentVariables.member = Shapes::ShapeRef.new(shape: KeyValuePair)
818
842
 
843
+ EphemeralStorage.add_member(:size_in_gi_b, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "sizeInGiB"))
844
+ EphemeralStorage.struct_class = Types::EphemeralStorage
845
+
846
+ ExecuteCommandConfiguration.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: String, location_name: "kmsKeyId"))
847
+ ExecuteCommandConfiguration.add_member(:logging, Shapes::ShapeRef.new(shape: ExecuteCommandLogging, location_name: "logging"))
848
+ ExecuteCommandConfiguration.add_member(:log_configuration, Shapes::ShapeRef.new(shape: ExecuteCommandLogConfiguration, location_name: "logConfiguration"))
849
+ ExecuteCommandConfiguration.struct_class = Types::ExecuteCommandConfiguration
850
+
851
+ ExecuteCommandLogConfiguration.add_member(:cloud_watch_log_group_name, Shapes::ShapeRef.new(shape: String, location_name: "cloudWatchLogGroupName"))
852
+ ExecuteCommandLogConfiguration.add_member(:cloud_watch_encryption_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "cloudWatchEncryptionEnabled"))
853
+ ExecuteCommandLogConfiguration.add_member(:s3_bucket_name, Shapes::ShapeRef.new(shape: String, location_name: "s3BucketName"))
854
+ ExecuteCommandLogConfiguration.add_member(:s3_encryption_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "s3EncryptionEnabled"))
855
+ ExecuteCommandLogConfiguration.add_member(:s3_key_prefix, Shapes::ShapeRef.new(shape: String, location_name: "s3KeyPrefix"))
856
+ ExecuteCommandLogConfiguration.struct_class = Types::ExecuteCommandLogConfiguration
857
+
858
+ ExecuteCommandRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
859
+ ExecuteCommandRequest.add_member(:container, Shapes::ShapeRef.new(shape: String, location_name: "container"))
860
+ ExecuteCommandRequest.add_member(:command, Shapes::ShapeRef.new(shape: String, required: true, location_name: "command"))
861
+ ExecuteCommandRequest.add_member(:interactive, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "interactive"))
862
+ ExecuteCommandRequest.add_member(:task, Shapes::ShapeRef.new(shape: String, required: true, location_name: "task"))
863
+ ExecuteCommandRequest.struct_class = Types::ExecuteCommandRequest
864
+
865
+ ExecuteCommandResponse.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: String, location_name: "clusterArn"))
866
+ ExecuteCommandResponse.add_member(:container_arn, Shapes::ShapeRef.new(shape: String, location_name: "containerArn"))
867
+ ExecuteCommandResponse.add_member(:container_name, Shapes::ShapeRef.new(shape: String, location_name: "containerName"))
868
+ ExecuteCommandResponse.add_member(:interactive, Shapes::ShapeRef.new(shape: Boolean, location_name: "interactive"))
869
+ ExecuteCommandResponse.add_member(:session, Shapes::ShapeRef.new(shape: Session, location_name: "session"))
870
+ ExecuteCommandResponse.add_member(:task_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskArn"))
871
+ ExecuteCommandResponse.struct_class = Types::ExecuteCommandResponse
872
+
819
873
  FSxWindowsFileServerAuthorizationConfig.add_member(:credentials_parameter, Shapes::ShapeRef.new(shape: String, required: true, location_name: "credentialsParameter"))
820
874
  FSxWindowsFileServerAuthorizationConfig.add_member(:domain, Shapes::ShapeRef.new(shape: String, required: true, location_name: "domain"))
821
875
  FSxWindowsFileServerAuthorizationConfig.struct_class = Types::FSxWindowsFileServerAuthorizationConfig
@@ -1002,6 +1056,22 @@ module Aws::ECS
1002
1056
  LogConfigurationOptionsMap.key = Shapes::ShapeRef.new(shape: String)
1003
1057
  LogConfigurationOptionsMap.value = Shapes::ShapeRef.new(shape: String)
1004
1058
 
1059
+ ManagedAgent.add_member(:last_started_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastStartedAt"))
1060
+ ManagedAgent.add_member(:name, Shapes::ShapeRef.new(shape: ManagedAgentName, location_name: "name"))
1061
+ ManagedAgent.add_member(:reason, Shapes::ShapeRef.new(shape: String, location_name: "reason"))
1062
+ ManagedAgent.add_member(:last_status, Shapes::ShapeRef.new(shape: String, location_name: "lastStatus"))
1063
+ ManagedAgent.struct_class = Types::ManagedAgent
1064
+
1065
+ ManagedAgentStateChange.add_member(:container_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "containerName"))
1066
+ ManagedAgentStateChange.add_member(:managed_agent_name, Shapes::ShapeRef.new(shape: ManagedAgentName, required: true, location_name: "managedAgentName"))
1067
+ ManagedAgentStateChange.add_member(:status, Shapes::ShapeRef.new(shape: String, required: true, location_name: "status"))
1068
+ ManagedAgentStateChange.add_member(:reason, Shapes::ShapeRef.new(shape: String, location_name: "reason"))
1069
+ ManagedAgentStateChange.struct_class = Types::ManagedAgentStateChange
1070
+
1071
+ ManagedAgentStateChanges.member = Shapes::ShapeRef.new(shape: ManagedAgentStateChange)
1072
+
1073
+ ManagedAgents.member = Shapes::ShapeRef.new(shape: ManagedAgent)
1074
+
1005
1075
  ManagedScaling.add_member(:status, Shapes::ShapeRef.new(shape: ManagedScalingStatus, location_name: "status"))
1006
1076
  ManagedScaling.add_member(:target_capacity, Shapes::ShapeRef.new(shape: ManagedScalingTargetCapacity, location_name: "targetCapacity"))
1007
1077
  ManagedScaling.add_member(:minimum_scaling_step_size, Shapes::ShapeRef.new(shape: ManagedScalingStepSize, location_name: "minimumScalingStepSize"))
@@ -1133,6 +1203,7 @@ module Aws::ECS
1133
1203
  RegisterTaskDefinitionRequest.add_member(:ipc_mode, Shapes::ShapeRef.new(shape: IpcMode, location_name: "ipcMode"))
1134
1204
  RegisterTaskDefinitionRequest.add_member(:proxy_configuration, Shapes::ShapeRef.new(shape: ProxyConfiguration, location_name: "proxyConfiguration"))
1135
1205
  RegisterTaskDefinitionRequest.add_member(:inference_accelerators, Shapes::ShapeRef.new(shape: InferenceAccelerators, location_name: "inferenceAccelerators"))
1206
+ RegisterTaskDefinitionRequest.add_member(:ephemeral_storage, Shapes::ShapeRef.new(shape: EphemeralStorage, location_name: "ephemeralStorage"))
1136
1207
  RegisterTaskDefinitionRequest.struct_class = Types::RegisterTaskDefinitionRequest
1137
1208
 
1138
1209
  RegisterTaskDefinitionResponse.add_member(:task_definition, Shapes::ShapeRef.new(shape: TaskDefinition, location_name: "taskDefinition"))
@@ -1168,6 +1239,7 @@ module Aws::ECS
1168
1239
  RunTaskRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
1169
1240
  RunTaskRequest.add_member(:count, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "count"))
1170
1241
  RunTaskRequest.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
1242
+ RunTaskRequest.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
1171
1243
  RunTaskRequest.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
1172
1244
  RunTaskRequest.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
1173
1245
  RunTaskRequest.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
@@ -1228,6 +1300,7 @@ module Aws::ECS
1228
1300
  Service.add_member(:created_by, Shapes::ShapeRef.new(shape: String, location_name: "createdBy"))
1229
1301
  Service.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
1230
1302
  Service.add_member(:propagate_tags, Shapes::ShapeRef.new(shape: PropagateTags, location_name: "propagateTags"))
1303
+ Service.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
1231
1304
  Service.struct_class = Types::Service
1232
1305
 
1233
1306
  ServiceEvent.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
@@ -1253,6 +1326,11 @@ module Aws::ECS
1253
1326
 
1254
1327
  Services.member = Shapes::ShapeRef.new(shape: Service)
1255
1328
 
1329
+ Session.add_member(:session_id, Shapes::ShapeRef.new(shape: String, location_name: "sessionId"))
1330
+ Session.add_member(:stream_url, Shapes::ShapeRef.new(shape: String, location_name: "streamUrl"))
1331
+ Session.add_member(:token_value, Shapes::ShapeRef.new(shape: SensitiveString, location_name: "tokenValue"))
1332
+ Session.struct_class = Types::Session
1333
+
1256
1334
  Setting.add_member(:name, Shapes::ShapeRef.new(shape: SettingName, location_name: "name"))
1257
1335
  Setting.add_member(:value, Shapes::ShapeRef.new(shape: String, location_name: "value"))
1258
1336
  Setting.add_member(:principal_arn, Shapes::ShapeRef.new(shape: String, location_name: "principalArn"))
@@ -1263,6 +1341,7 @@ module Aws::ECS
1263
1341
  StartTaskRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
1264
1342
  StartTaskRequest.add_member(:container_instances, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "containerInstances"))
1265
1343
  StartTaskRequest.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
1344
+ StartTaskRequest.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
1266
1345
  StartTaskRequest.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
1267
1346
  StartTaskRequest.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
1268
1347
  StartTaskRequest.add_member(:overrides, Shapes::ShapeRef.new(shape: TaskOverride, location_name: "overrides"))
@@ -1318,6 +1397,7 @@ module Aws::ECS
1318
1397
  SubmitTaskStateChangeRequest.add_member(:reason, Shapes::ShapeRef.new(shape: String, location_name: "reason"))
1319
1398
  SubmitTaskStateChangeRequest.add_member(:containers, Shapes::ShapeRef.new(shape: ContainerStateChanges, location_name: "containers"))
1320
1399
  SubmitTaskStateChangeRequest.add_member(:attachments, Shapes::ShapeRef.new(shape: AttachmentStateChanges, location_name: "attachments"))
1400
+ SubmitTaskStateChangeRequest.add_member(:managed_agents, Shapes::ShapeRef.new(shape: ManagedAgentStateChanges, location_name: "managedAgents"))
1321
1401
  SubmitTaskStateChangeRequest.add_member(:pull_started_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "pullStartedAt"))
1322
1402
  SubmitTaskStateChangeRequest.add_member(:pull_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "pullStoppedAt"))
1323
1403
  SubmitTaskStateChangeRequest.add_member(:execution_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "executionStoppedAt"))
@@ -1346,6 +1426,8 @@ module Aws::ECS
1346
1426
 
1347
1427
  Tags.member = Shapes::ShapeRef.new(shape: Tag)
1348
1428
 
1429
+ TargetNotConnectedException.struct_class = Types::TargetNotConnectedException
1430
+
1349
1431
  TargetNotFoundException.struct_class = Types::TargetNotFoundException
1350
1432
 
1351
1433
  Task.add_member(:attachments, Shapes::ShapeRef.new(shape: Attachments, location_name: "attachments"))
@@ -1360,6 +1442,7 @@ module Aws::ECS
1360
1442
  Task.add_member(:cpu, Shapes::ShapeRef.new(shape: String, location_name: "cpu"))
1361
1443
  Task.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdAt"))
1362
1444
  Task.add_member(:desired_status, Shapes::ShapeRef.new(shape: String, location_name: "desiredStatus"))
1445
+ Task.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
1363
1446
  Task.add_member(:execution_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "executionStoppedAt"))
1364
1447
  Task.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
1365
1448
  Task.add_member(:health_status, Shapes::ShapeRef.new(shape: HealthStatus, location_name: "healthStatus"))
@@ -1381,6 +1464,7 @@ module Aws::ECS
1381
1464
  Task.add_member(:task_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskArn"))
1382
1465
  Task.add_member(:task_definition_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskDefinitionArn"))
1383
1466
  Task.add_member(:version, Shapes::ShapeRef.new(shape: Long, location_name: "version"))
1467
+ Task.add_member(:ephemeral_storage, Shapes::ShapeRef.new(shape: EphemeralStorage, location_name: "ephemeralStorage"))
1384
1468
  Task.struct_class = Types::Task
1385
1469
 
1386
1470
  TaskDefinition.add_member(:task_definition_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskDefinitionArn"))
@@ -1405,6 +1489,7 @@ module Aws::ECS
1405
1489
  TaskDefinition.add_member(:registered_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "registeredAt"))
1406
1490
  TaskDefinition.add_member(:deregistered_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "deregisteredAt"))
1407
1491
  TaskDefinition.add_member(:registered_by, Shapes::ShapeRef.new(shape: String, location_name: "registeredBy"))
1492
+ TaskDefinition.add_member(:ephemeral_storage, Shapes::ShapeRef.new(shape: EphemeralStorage, location_name: "ephemeralStorage"))
1408
1493
  TaskDefinition.struct_class = Types::TaskDefinition
1409
1494
 
1410
1495
  TaskDefinitionFieldList.member = Shapes::ShapeRef.new(shape: TaskDefinitionField)
@@ -1423,6 +1508,7 @@ module Aws::ECS
1423
1508
  TaskOverride.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "executionRoleArn"))
1424
1509
  TaskOverride.add_member(:memory, Shapes::ShapeRef.new(shape: String, location_name: "memory"))
1425
1510
  TaskOverride.add_member(:task_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskRoleArn"))
1511
+ TaskOverride.add_member(:ephemeral_storage, Shapes::ShapeRef.new(shape: EphemeralStorage, location_name: "ephemeralStorage"))
1426
1512
  TaskOverride.struct_class = Types::TaskOverride
1427
1513
 
1428
1514
  TaskSet.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
@@ -1487,6 +1573,14 @@ module Aws::ECS
1487
1573
  UpdateCapacityProviderResponse.add_member(:capacity_provider, Shapes::ShapeRef.new(shape: CapacityProvider, location_name: "capacityProvider"))
1488
1574
  UpdateCapacityProviderResponse.struct_class = Types::UpdateCapacityProviderResponse
1489
1575
 
1576
+ UpdateClusterRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
1577
+ UpdateClusterRequest.add_member(:settings, Shapes::ShapeRef.new(shape: ClusterSettings, location_name: "settings"))
1578
+ UpdateClusterRequest.add_member(:configuration, Shapes::ShapeRef.new(shape: ClusterConfiguration, location_name: "configuration"))
1579
+ UpdateClusterRequest.struct_class = Types::UpdateClusterRequest
1580
+
1581
+ UpdateClusterResponse.add_member(:cluster, Shapes::ShapeRef.new(shape: Cluster, location_name: "cluster"))
1582
+ UpdateClusterResponse.struct_class = Types::UpdateClusterResponse
1583
+
1490
1584
  UpdateClusterSettingsRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
1491
1585
  UpdateClusterSettingsRequest.add_member(:settings, Shapes::ShapeRef.new(shape: ClusterSettings, required: true, location_name: "settings"))
1492
1586
  UpdateClusterSettingsRequest.struct_class = Types::UpdateClusterSettingsRequest
@@ -1532,6 +1626,7 @@ module Aws::ECS
1532
1626
  UpdateServiceRequest.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
1533
1627
  UpdateServiceRequest.add_member(:force_new_deployment, Shapes::ShapeRef.new(shape: Boolean, location_name: "forceNewDeployment"))
1534
1628
  UpdateServiceRequest.add_member(:health_check_grace_period_seconds, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "healthCheckGracePeriodSeconds"))
1629
+ UpdateServiceRequest.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "enableExecuteCommand"))
1535
1630
  UpdateServiceRequest.struct_class = Types::UpdateServiceRequest
1536
1631
 
1537
1632
  UpdateServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
@@ -1840,6 +1935,20 @@ module Aws::ECS
1840
1935
  o.errors << Shapes::ShapeRef.new(shape: ClientException)
1841
1936
  end)
1842
1937
 
1938
+ api.add_operation(:execute_command, Seahorse::Model::Operation.new.tap do |o|
1939
+ o.name = "ExecuteCommand"
1940
+ o.http_method = "POST"
1941
+ o.http_request_uri = "/"
1942
+ o.input = Shapes::ShapeRef.new(shape: ExecuteCommandRequest)
1943
+ o.output = Shapes::ShapeRef.new(shape: ExecuteCommandResponse)
1944
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
1945
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1946
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1947
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1948
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
1949
+ o.errors << Shapes::ShapeRef.new(shape: TargetNotConnectedException)
1950
+ end)
1951
+
1843
1952
  api.add_operation(:list_account_settings, Seahorse::Model::Operation.new.tap do |o|
1844
1953
  o.name = "ListAccountSettings"
1845
1954
  o.http_method = "POST"
@@ -2174,6 +2283,18 @@ module Aws::ECS
2174
2283
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2175
2284
  end)
2176
2285
 
2286
+ api.add_operation(:update_cluster, Seahorse::Model::Operation.new.tap do |o|
2287
+ o.name = "UpdateCluster"
2288
+ o.http_method = "POST"
2289
+ o.http_request_uri = "/"
2290
+ o.input = Shapes::ShapeRef.new(shape: UpdateClusterRequest)
2291
+ o.output = Shapes::ShapeRef.new(shape: UpdateClusterResponse)
2292
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
2293
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
2294
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
2295
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2296
+ end)
2297
+
2177
2298
  api.add_operation(:update_cluster_settings, Seahorse::Model::Operation.new.tap do |o|
2178
2299
  o.name = "UpdateClusterSettings"
2179
2300
  o.http_method = "POST"
@@ -2,7 +2,7 @@
2
2
  # WARNING ABOUT GENERATED CODE
3
3
  #
4
4
  # This file is generated. See the contributing for info on making contributions:
5
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
6
6
  #
7
7
  # WARNING ABOUT GENERATED CODE
8
8
 
@@ -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
 
@@ -46,6 +46,7 @@ module Aws::ECS
46
46
  # * {ServerException}
47
47
  # * {ServiceNotActiveException}
48
48
  # * {ServiceNotFoundException}
49
+ # * {TargetNotConnectedException}
49
50
  # * {TargetNotFoundException}
50
51
  # * {TaskSetNotFoundException}
51
52
  # * {UnsupportedFeatureException}
@@ -257,6 +258,16 @@ module Aws::ECS
257
258
  end
258
259
  end
259
260
 
261
+ class TargetNotConnectedException < ServiceError
262
+
263
+ # @param [Seahorse::Client::RequestContext] context
264
+ # @param [String] message
265
+ # @param [Aws::ECS::Types::TargetNotConnectedException] data
266
+ def initialize(context, message, data = Aws::EmptyStructure.new)
267
+ super(context, message, data)
268
+ end
269
+ end
270
+
260
271
  class TargetNotFoundException < ServiceError
261
272
 
262
273
  # @param [Seahorse::Client::RequestContext] context
@@ -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
 
@@ -222,21 +222,6 @@ module Aws::ECS
222
222
  # @!attribute [rw] managed_scaling
223
223
  # The managed scaling settings for the Auto Scaling group capacity
224
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
225
  # @return [Types::ManagedScaling]
241
226
  #
242
227
  # @!attribute [rw] managed_termination_protection
@@ -421,7 +406,25 @@ module Aws::ECS
421
406
  include Aws::Structure
422
407
  end
423
408
 
424
- # The details of a capacity provider strategy.
409
+ # The details of a capacity provider strategy. A capacity provider
410
+ # strategy can be set when using the RunTask or CreateCluster APIs or as
411
+ # the default capacity provider strategy for a cluster with the
412
+ # CreateCluster API.
413
+ #
414
+ # Only capacity providers that are already associated with a cluster and
415
+ # have an `ACTIVE` or `UPDATING` status can be used in a capacity
416
+ # provider strategy. The PutClusterCapacityProviders API is used to
417
+ # associate a capacity provider with a cluster.
418
+ #
419
+ # If specifying a capacity provider that uses an Auto Scaling group, the
420
+ # capacity provider must already be created. New Auto Scaling group
421
+ # capacity providers can be created with the CreateCapacityProvider API
422
+ # operation.
423
+ #
424
+ # To use a AWS Fargate capacity provider, specify either the `FARGATE`
425
+ # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
426
+ # providers are available to all accounts and only need to be associated
427
+ # with a cluster to be used in a capacity provider strategy.
425
428
  #
426
429
  # @note When making an API call, you may pass CapacityProviderStrategyItem
427
430
  # data as a hash:
@@ -439,21 +442,32 @@ module Aws::ECS
439
442
  # @!attribute [rw] weight
440
443
  # The *weight* value designates the relative percentage of the total
441
444
  # number of tasks launched that should use the specified capacity
442
- # provider.
443
- #
444
- # For example, if you have a strategy that contains two capacity
445
- # providers and both have a weight of `1`, then when the `base` is
446
- # satisfied, the tasks will be split evenly across the two capacity
447
- # providers. Using that same logic, if you specify a weight of `1` for
448
- # *capacityProviderA* and a weight of `4` for *capacityProviderB*,
449
- # then for every one task that is run using *capacityProviderA*, four
450
- # tasks would use *capacityProviderB*.
445
+ # provider. The `weight` value is taken into consideration after the
446
+ # `base` value, if defined, is satisfied.
447
+ #
448
+ # If no `weight` value is specified, the default value of `0` is used.
449
+ # When multiple capacity providers are specified within a capacity
450
+ # provider strategy, at least one of the capacity providers must have
451
+ # a weight value greater than zero and any capacity providers with a
452
+ # weight of `0` will not be used to place tasks. If you specify
453
+ # multiple capacity providers in a strategy that all have a weight of
454
+ # `0`, any `RunTask` or `CreateService` actions using the capacity
455
+ # provider strategy will fail.
456
+ #
457
+ # An example scenario for using weights is defining a strategy that
458
+ # contains two capacity providers and both have a weight of `1`, then
459
+ # when the `base` is satisfied, the tasks will be split evenly across
460
+ # the two capacity providers. Using that same logic, if you specify a
461
+ # weight of `1` for *capacityProviderA* and a weight of `4` for
462
+ # *capacityProviderB*, then for every one task that is run using
463
+ # *capacityProviderA*, four tasks would use *capacityProviderB*.
451
464
  # @return [Integer]
452
465
  #
453
466
  # @!attribute [rw] base
454
467
  # The *base* value designates how many tasks, at a minimum, to run on
455
468
  # the specified capacity provider. Only one capacity provider in a
456
- # capacity provider strategy can have a *base* defined.
469
+ # capacity provider strategy can have a *base* defined. If no value is
470
+ # specified, the default value of `0` is used.
457
471
  # @return [Integer]
458
472
  #
459
473
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CapacityProviderStrategyItem AWS API Documentation
@@ -500,6 +514,10 @@ module Aws::ECS
500
514
  # A user-generated string that you use to identify your cluster.
501
515
  # @return [String]
502
516
  #
517
+ # @!attribute [rw] configuration
518
+ # The execute command configuration for the cluster.
519
+ # @return [Types::ClusterConfiguration]
520
+ #
503
521
  # @!attribute [rw] status
504
522
  # The status of the cluster. The following are the possible states
505
523
  # that will be returned.
@@ -648,6 +666,7 @@ module Aws::ECS
648
666
  class Cluster < Struct.new(
649
667
  :cluster_arn,
650
668
  :cluster_name,
669
+ :configuration,
651
670
  :status,
652
671
  :registered_container_instances_count,
653
672
  :running_tasks_count,
@@ -664,6 +683,37 @@ module Aws::ECS
664
683
  include Aws::Structure
665
684
  end
666
685
 
686
+ # The execute command configuration for the cluster.
687
+ #
688
+ # @note When making an API call, you may pass ClusterConfiguration
689
+ # data as a hash:
690
+ #
691
+ # {
692
+ # execute_command_configuration: {
693
+ # kms_key_id: "String",
694
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
695
+ # log_configuration: {
696
+ # cloud_watch_log_group_name: "String",
697
+ # cloud_watch_encryption_enabled: false,
698
+ # s3_bucket_name: "String",
699
+ # s3_encryption_enabled: false,
700
+ # s3_key_prefix: "String",
701
+ # },
702
+ # },
703
+ # }
704
+ #
705
+ # @!attribute [rw] execute_command_configuration
706
+ # The details of the execute command configuration.
707
+ # @return [Types::ExecuteCommandConfiguration]
708
+ #
709
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ClusterConfiguration AWS API Documentation
710
+ #
711
+ class ClusterConfiguration < Struct.new(
712
+ :execute_command_configuration)
713
+ SENSITIVE = []
714
+ include Aws::Structure
715
+ end
716
+
667
717
  # You cannot delete a cluster that has registered container instances.
668
718
  # First, deregister the container instances before you can delete the
669
719
  # cluster. For more information, see DeregisterContainerInstance.
@@ -786,6 +836,11 @@ module Aws::ECS
786
836
  # reports the health status as `UNKNOWN`.
787
837
  # @return [String]
788
838
  #
839
+ # @!attribute [rw] managed_agents
840
+ # The details of any Amazon ECS managed agents associated with the
841
+ # container.
842
+ # @return [Array<Types::ManagedAgent>]
843
+ #
789
844
  # @!attribute [rw] cpu
790
845
  # The number of CPU units set for the container. The value will be `0`
791
846
  # if no value was specified in the container definition when the task
@@ -819,6 +874,7 @@ module Aws::ECS
819
874
  :network_bindings,
820
875
  :network_interfaces,
821
876
  :health_status,
877
+ :managed_agents,
822
878
  :cpu,
823
879
  :memory,
824
880
  :memory_reservation,
@@ -987,9 +1043,9 @@ module Aws::ECS
987
1043
  # together in a task definition, the `name` of one container can be
988
1044
  # entered in the `links` of another container to connect the
989
1045
  # containers. Up to 255 letters (uppercase and lowercase), numbers,
990
- # and hyphens are allowed. This parameter maps to `name` in the
991
- # [Create a container][1] section of the [Docker Remote API][2] and
992
- # the `--name` option to [docker run][3].
1046
+ # underscores, and hyphens are allowed. This parameter maps to `name`
1047
+ # in the [Create a container][1] section of the [Docker Remote API][2]
1048
+ # and the `--name` option to [docker run][3].
993
1049
  #
994
1050
  #
995
1051
  #
@@ -1177,15 +1233,14 @@ module Aws::ECS
1177
1233
  # other without the need for port mappings. This parameter is only
1178
1234
  # supported if the network mode of a task definition is `bridge`. The
1179
1235
  # `name:internalName` construct is analogous to `name:alias` in Docker
1180
- # links. Up to 255 letters (uppercase and lowercase), numbers, and
1181
- # hyphens are allowed. For more information about linking Docker
1182
- # containers, go to [Legacy container links][1] in the Docker
1183
- # documentation. This parameter maps to `Links` in the [Create a
1184
- # container][2] section of the [Docker Remote API][3] and the `--link`
1185
- # option to [docker run][4].
1236
+ # links. Up to 255 letters (uppercase and lowercase), numbers,
1237
+ # underscores, and hyphens are allowed. For more information about
1238
+ # linking Docker containers, go to [Legacy container links][1] in the
1239
+ # Docker documentation. This parameter maps to `Links` in the [Create
1240
+ # a container][2] section of the [Docker Remote API][3] and the
1241
+ # `--link` option to [docker run][4].
1186
1242
  #
1187
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1188
- # use the awsvpc network mode.
1243
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1189
1244
  #
1190
1245
  # </note>
1191
1246
  #
@@ -1533,8 +1588,7 @@ module Aws::ECS
1533
1588
  #
1534
1589
  # * `uid:group`
1535
1590
  #
1536
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1537
- # use the awsvpc network mode.
1591
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1538
1592
  #
1539
1593
  # </note>
1540
1594
  #
@@ -1563,8 +1617,7 @@ module Aws::ECS
1563
1617
  # container. This parameter maps to `NetworkDisabled` in the [Create a
1564
1618
  # container][1] section of the [Docker Remote API][2].
1565
1619
  #
1566
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1567
- # use the awsvpc network mode.
1620
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1568
1621
  #
1569
1622
  # </note>
1570
1623
  #
@@ -1581,8 +1634,8 @@ module Aws::ECS
1581
1634
  # container][1] section of the [Docker Remote API][2] and the
1582
1635
  # `--privileged` option to [docker run][3].
1583
1636
  #
1584
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
1585
- # using the Fargate launch type.
1637
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
1638
+ # on AWS Fargate.
1586
1639
  #
1587
1640
  # </note>
1588
1641
  #
@@ -1599,8 +1652,7 @@ module Aws::ECS
1599
1652
  # the [Create a container][1] section of the [Docker Remote API][2]
1600
1653
  # and the `--read-only` option to [docker run][3].
1601
1654
  #
1602
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1603
- # use the awsvpc network mode.
1655
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1604
1656
  #
1605
1657
  # </note>
1606
1658
  #
@@ -1617,8 +1669,7 @@ module Aws::ECS
1617
1669
  # the [Docker Remote API][2] and the `--dns` option to [docker
1618
1670
  # run][3].
1619
1671
  #
1620
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1621
- # use the awsvpc network mode.
1672
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1622
1673
  #
1623
1674
  # </note>
1624
1675
  #
@@ -1635,8 +1686,7 @@ module Aws::ECS
1635
1686
  # section of the [Docker Remote API][2] and the `--dns-search` option
1636
1687
  # to [docker run][3].
1637
1688
  #
1638
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1639
- # use the awsvpc network mode.
1689
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1640
1690
  #
1641
1691
  # </note>
1642
1692
  #
@@ -1753,14 +1803,22 @@ module Aws::ECS
1753
1803
  # set by Docker. This parameter maps to `Ulimits` in the [Create a
1754
1804
  # container][1] section of the [Docker Remote API][2] and the
1755
1805
  # `--ulimit` option to [docker run][3]. Valid naming values are
1756
- # displayed in the Ulimit data type. This parameter requires version
1757
- # 1.18 of the Docker Remote API or greater on your container instance.
1758
- # To check the Docker Remote API version on your container instance,
1759
- # log in to your container instance and run the following command:
1760
- # `sudo docker version --format '\{\{.Server.APIVersion\}\}'`
1806
+ # displayed in the Ulimit data type.
1761
1807
  #
1762
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1763
- # use the awsvpc network mode.
1808
+ # Amazon ECS tasks hosted on Fargate use the default resource limit
1809
+ # values set by the operating system with the exception of the
1810
+ # `nofile` resource limit parameter which Fargate overrides. The
1811
+ # `nofile` resource limit sets a restriction on the number of open
1812
+ # files that a container can use. The default `nofile` soft limit is
1813
+ # `1024` and hard limit is `4096`.
1814
+ #
1815
+ # This parameter requires version 1.18 of the Docker Remote API or
1816
+ # greater on your container instance. To check the Docker Remote API
1817
+ # version on your container instance, log in to your container
1818
+ # instance and run the following command: `sudo docker version
1819
+ # --format '\{\{.Server.APIVersion\}\}'`
1820
+ #
1821
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1764
1822
  #
1765
1823
  # </note>
1766
1824
  #
@@ -2441,6 +2499,19 @@ module Aws::ECS
2441
2499
  # value: "String",
2442
2500
  # },
2443
2501
  # ],
2502
+ # configuration: {
2503
+ # execute_command_configuration: {
2504
+ # kms_key_id: "String",
2505
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
2506
+ # log_configuration: {
2507
+ # cloud_watch_log_group_name: "String",
2508
+ # cloud_watch_encryption_enabled: false,
2509
+ # s3_bucket_name: "String",
2510
+ # s3_encryption_enabled: false,
2511
+ # s3_key_prefix: "String",
2512
+ # },
2513
+ # },
2514
+ # },
2444
2515
  # capacity_providers: ["String"],
2445
2516
  # default_capacity_provider_strategy: [
2446
2517
  # {
@@ -2454,7 +2525,8 @@ module Aws::ECS
2454
2525
  # @!attribute [rw] cluster_name
2455
2526
  # The name of your cluster. If you do not specify a name for your
2456
2527
  # cluster, you create a cluster named `default`. Up to 255 letters
2457
- # (uppercase and lowercase), numbers, and hyphens are allowed.
2528
+ # (uppercase and lowercase), numbers, underscores, and hyphens are
2529
+ # allowed.
2458
2530
  # @return [String]
2459
2531
  #
2460
2532
  # @!attribute [rw] tags
@@ -2495,14 +2567,22 @@ module Aws::ECS
2495
2567
  # with PutAccountSetting or PutAccountSettingDefault.
2496
2568
  # @return [Array<Types::ClusterSetting>]
2497
2569
  #
2570
+ # @!attribute [rw] configuration
2571
+ # The execute command configuration for the cluster.
2572
+ # @return [Types::ClusterConfiguration]
2573
+ #
2498
2574
  # @!attribute [rw] capacity_providers
2499
2575
  # The short name of one or more capacity providers to associate with
2500
- # the cluster.
2576
+ # the cluster. A capacity provider must be associated with a cluster
2577
+ # before it can be included as part of the default capacity provider
2578
+ # strategy of the cluster or used in a capacity provider strategy when
2579
+ # calling the CreateService or RunTask actions.
2501
2580
  #
2502
2581
  # If specifying a capacity provider that uses an Auto Scaling group,
2503
2582
  # the capacity provider must already be created and not already
2504
- # associated with another cluster. New capacity providers can be
2505
- # created with the CreateCapacityProvider API operation.
2583
+ # associated with another cluster. New Auto Scaling group capacity
2584
+ # providers can be created with the CreateCapacityProvider API
2585
+ # operation.
2506
2586
  #
2507
2587
  # To use a AWS Fargate capacity provider, specify either the `FARGATE`
2508
2588
  # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
@@ -2515,29 +2595,12 @@ module Aws::ECS
2515
2595
  # @return [Array<String>]
2516
2596
  #
2517
2597
  # @!attribute [rw] default_capacity_provider_strategy
2518
- # The capacity provider strategy to use by default for the cluster.
2519
- #
2520
- # When creating a service or running a task on a cluster, if no
2521
- # capacity provider or launch type is specified then the default
2598
+ # The capacity provider strategy to set as the default for the
2599
+ # cluster. When a default capacity provider strategy is set for a
2600
+ # cluster, when calling the RunTask or CreateService APIs wtih no
2601
+ # capacity provider strategy or launch type specified, the default
2522
2602
  # capacity provider strategy for the cluster is used.
2523
2603
  #
2524
- # A capacity provider strategy consists of one or more capacity
2525
- # providers along with the `base` and `weight` to assign to them. A
2526
- # capacity provider must be associated with the cluster to be used in
2527
- # a capacity provider strategy. The PutClusterCapacityProviders API is
2528
- # used to associate a capacity provider with a cluster. Only capacity
2529
- # providers with an `ACTIVE` or `UPDATING` status can be used.
2530
- #
2531
- # If specifying a capacity provider that uses an Auto Scaling group,
2532
- # the capacity provider must already be created. New capacity
2533
- # providers can be created with the CreateCapacityProvider API
2534
- # operation.
2535
- #
2536
- # To use a AWS Fargate capacity provider, specify either the `FARGATE`
2537
- # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
2538
- # providers are available to all accounts and only need to be
2539
- # associated with a cluster to be used.
2540
- #
2541
2604
  # If a default capacity provider strategy is not defined for a cluster
2542
2605
  # during creation, it can be defined later with the
2543
2606
  # PutClusterCapacityProviders API operation.
@@ -2549,6 +2612,7 @@ module Aws::ECS
2549
2612
  :cluster_name,
2550
2613
  :tags,
2551
2614
  :settings,
2615
+ :configuration,
2552
2616
  :capacity_providers,
2553
2617
  :default_capacity_provider_strategy)
2554
2618
  SENSITIVE = []
@@ -2592,7 +2656,7 @@ module Aws::ECS
2592
2656
  # ],
2593
2657
  # desired_count: 1,
2594
2658
  # client_token: "String",
2595
- # launch_type: "EC2", # accepts EC2, FARGATE
2659
+ # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
2596
2660
  # capacity_provider_strategy: [
2597
2661
  # {
2598
2662
  # capacity_provider: "String", # required
@@ -2642,6 +2706,7 @@ module Aws::ECS
2642
2706
  # ],
2643
2707
  # enable_ecs_managed_tags: false,
2644
2708
  # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
2709
+ # enable_execute_command: false,
2645
2710
  # }
2646
2711
  #
2647
2712
  # @!attribute [rw] cluster
@@ -2652,9 +2717,10 @@ module Aws::ECS
2652
2717
  #
2653
2718
  # @!attribute [rw] service_name
2654
2719
  # The name of your service. Up to 255 letters (uppercase and
2655
- # lowercase), numbers, and hyphens are allowed. Service names must be
2656
- # unique within a cluster, but you can have similarly named services
2657
- # in multiple clusters within a Region or across multiple Regions.
2720
+ # lowercase), numbers, underscores, and hyphens are allowed. Service
2721
+ # names must be unique within a cluster, but you can have similarly
2722
+ # named services in multiple clusters within a Region or across
2723
+ # multiple Regions.
2658
2724
  # @return [String]
2659
2725
  #
2660
2726
  # @!attribute [rw] task_definition
@@ -2676,7 +2742,7 @@ module Aws::ECS
2676
2742
  # Load Balancer, you must specify one or more target group ARNs to
2677
2743
  # attach to the service. The service-linked role is required for
2678
2744
  # services that make use of multiple target groups. For more
2679
- # information, see [Using Service-Linked Roles for Amazon ECS][2] in
2745
+ # information, see [Using service-linked roles for Amazon ECS][2] in
2680
2746
  # the *Amazon Elastic Container Service Developer Guide*.
2681
2747
  #
2682
2748
  # If the service is using the `CODE_DEPLOY` deployment controller, the
@@ -2729,19 +2795,17 @@ module Aws::ECS
2729
2795
  # @return [Array<Types::LoadBalancer>]
2730
2796
  #
2731
2797
  # @!attribute [rw] service_registries
2732
- # The details of the service discovery registries to assign to this
2733
- # service. For more information, see [Service Discovery][1].
2798
+ # The details of the service discovery registry to associate with this
2799
+ # service. For more information, see [Service discovery][1].
2734
2800
  #
2735
- # <note markdown="1"> Service discovery is supported for Fargate tasks if you are using
2736
- # platform version v1.1.0 or later. For more information, see [AWS
2737
- # Fargate Platform Versions][2].
2801
+ # <note markdown="1"> Each service may be associated with one service registry. Multiple
2802
+ # service registries per service isn't supported.
2738
2803
  #
2739
2804
  # </note>
2740
2805
  #
2741
2806
  #
2742
2807
  #
2743
2808
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html
2744
- # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html
2745
2809
  # @return [Array<Types::ServiceRegistry>]
2746
2810
  #
2747
2811
  # @!attribute [rw] desired_count
@@ -2759,54 +2823,51 @@ module Aws::ECS
2759
2823
  # @return [String]
2760
2824
  #
2761
2825
  # @!attribute [rw] launch_type
2762
- # The launch type on which to run your service. For more information,
2763
- # see [Amazon ECS Launch Types][1] in the *Amazon Elastic Container
2764
- # Service Developer Guide*.
2826
+ # The infrastructure on which to run your service. For more
2827
+ # information, see [Amazon ECS launch types][1] in the *Amazon Elastic
2828
+ # Container Service Developer Guide*.
2765
2829
  #
2766
- # If a `launchType` is specified, the `capacityProviderStrategy`
2767
- # parameter must be omitted.
2830
+ # The `FARGATE` launch type runs your tasks on AWS Fargate On-Demand
2831
+ # infrastructure.
2832
+ #
2833
+ # <note markdown="1"> Fargate Spot infrastructure is available for use but a capacity
2834
+ # provider strategy must be used. For more information, see [AWS
2835
+ # Fargate capacity providers][2] in the *Amazon ECS User Guide for AWS
2836
+ # Fargate*.
2837
+ #
2838
+ # </note>
2839
+ #
2840
+ # The `EC2` launch type runs your tasks on Amazon EC2 instances
2841
+ # registered to your cluster.
2842
+ #
2843
+ # The `EXTERNAL` launch type runs your tasks on your on-premise server
2844
+ # or virtual machine (VM) capacity registered to your cluster.
2845
+ #
2846
+ # A service can use either a launch type or a capacity provider
2847
+ # strategy. If a `launchType` is specified, the
2848
+ # `capacityProviderStrategy` parameter must be omitted.
2768
2849
  #
2769
2850
  #
2770
2851
  #
2771
2852
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
2853
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/userguide/fargate-capacity-providers.html
2772
2854
  # @return [String]
2773
2855
  #
2774
2856
  # @!attribute [rw] capacity_provider_strategy
2775
2857
  # The capacity provider strategy to use for the service.
2776
2858
  #
2777
- # A capacity provider strategy consists of one or more capacity
2778
- # providers along with the `base` and `weight` to assign to them. A
2779
- # capacity provider must be associated with the cluster to be used in
2780
- # a capacity provider strategy. The PutClusterCapacityProviders API is
2781
- # used to associate a capacity provider with a cluster. Only capacity
2782
- # providers with an `ACTIVE` or `UPDATING` status can be used.
2783
- #
2784
2859
  # If a `capacityProviderStrategy` is specified, the `launchType`
2785
2860
  # parameter must be omitted. If no `capacityProviderStrategy` or
2786
2861
  # `launchType` is specified, the `defaultCapacityProviderStrategy` for
2787
2862
  # the cluster is used.
2788
- #
2789
- # If specifying a capacity provider that uses an Auto Scaling group,
2790
- # the capacity provider must already be created. New capacity
2791
- # providers can be created with the CreateCapacityProvider API
2792
- # operation.
2793
- #
2794
- # To use a AWS Fargate capacity provider, specify either the `FARGATE`
2795
- # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
2796
- # providers are available to all accounts and only need to be
2797
- # associated with a cluster to be used.
2798
- #
2799
- # The PutClusterCapacityProviders API operation is used to update the
2800
- # list of available capacity providers for a cluster after the cluster
2801
- # is created.
2802
2863
  # @return [Array<Types::CapacityProviderStrategyItem>]
2803
2864
  #
2804
2865
  # @!attribute [rw] platform_version
2805
2866
  # The platform version that your tasks in the service are running on.
2806
2867
  # A platform version is specified only for tasks using the Fargate
2807
2868
  # launch type. If one isn't specified, the `LATEST` platform version
2808
- # is used by default. For more information, see [AWS Fargate Platform
2809
- # Versions][1] in the *Amazon Elastic Container Service Developer
2869
+ # is used by default. For more information, see [AWS Fargate platform
2870
+ # versions][1] in the *Amazon Elastic Container Service Developer
2810
2871
  # Guide*.
2811
2872
  #
2812
2873
  #
@@ -2830,14 +2891,14 @@ module Aws::ECS
2830
2891
  # configured to use service discovery, an external deployment
2831
2892
  # controller, multiple target groups, or Elastic Inference
2832
2893
  # accelerators in which case you should not specify a role here. For
2833
- # more information, see [Using Service-Linked Roles for Amazon ECS][1]
2894
+ # more information, see [Using service-linked roles for Amazon ECS][1]
2834
2895
  # in the *Amazon Elastic Container Service Developer Guide*.
2835
2896
  #
2836
2897
  # If your specified role has a path other than `/`, then you must
2837
2898
  # either specify the full role ARN (this is recommended) or prefix the
2838
2899
  # role name with the path. For example, if a role with the name `bar`
2839
2900
  # has a path of `/foo/` then you would specify `/foo/bar` as the role
2840
- # name. For more information, see [Friendly Names and Paths][2] in the
2901
+ # name. For more information, see [Friendly names and paths][2] in the
2841
2902
  # *IAM User Guide*.
2842
2903
  #
2843
2904
  #
@@ -2869,7 +2930,7 @@ module Aws::ECS
2869
2930
  # required for task definitions that use the `awsvpc` network mode to
2870
2931
  # receive their own elastic network interface, and it is not supported
2871
2932
  # for other network modes. For more information, see [Task
2872
- # Networking][1] in the *Amazon Elastic Container Service Developer
2933
+ # networking][1] in the *Amazon Elastic Container Service Developer
2873
2934
  # Guide*.
2874
2935
  #
2875
2936
  #
@@ -2928,7 +2989,8 @@ module Aws::ECS
2928
2989
  # @return [String]
2929
2990
  #
2930
2991
  # @!attribute [rw] deployment_controller
2931
- # The deployment controller to use for the service.
2992
+ # The deployment controller to use for the service. If no deployment
2993
+ # controller is specified, the default value of `ECS` is used.
2932
2994
  # @return [Types::DeploymentController]
2933
2995
  #
2934
2996
  # @!attribute [rw] tags
@@ -2982,6 +3044,12 @@ module Aws::ECS
2982
3044
  # task after service creation, use the TagResource API action.
2983
3045
  # @return [String]
2984
3046
  #
3047
+ # @!attribute [rw] enable_execute_command
3048
+ # Whether or not the execute command functionality is enabled for the
3049
+ # service. If `true`, this enables execute command functionality on
3050
+ # all containers in the service tasks.
3051
+ # @return [Boolean]
3052
+ #
2985
3053
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateServiceRequest AWS API Documentation
2986
3054
  #
2987
3055
  class CreateServiceRequest < Struct.new(
@@ -3005,7 +3073,8 @@ module Aws::ECS
3005
3073
  :deployment_controller,
3006
3074
  :tags,
3007
3075
  :enable_ecs_managed_tags,
3008
- :propagate_tags)
3076
+ :propagate_tags,
3077
+ :enable_execute_command)
3009
3078
  SENSITIVE = []
3010
3079
  include Aws::Structure
3011
3080
  end
@@ -3062,7 +3131,7 @@ module Aws::ECS
3062
3131
  # container_port: 1,
3063
3132
  # },
3064
3133
  # ],
3065
- # launch_type: "EC2", # accepts EC2, FARGATE
3134
+ # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
3066
3135
  # capacity_provider_strategy: [
3067
3136
  # {
3068
3137
  # capacity_provider: "String", # required
@@ -3107,8 +3176,7 @@ module Aws::ECS
3107
3176
  # @return [String]
3108
3177
  #
3109
3178
  # @!attribute [rw] network_configuration
3110
- # An object representing the network configuration for a task or
3111
- # service.
3179
+ # An object representing the network configuration for a task set.
3112
3180
  # @return [Types::NetworkConfiguration]
3113
3181
  #
3114
3182
  # @!attribute [rw] load_balancers
@@ -3240,9 +3308,9 @@ module Aws::ECS
3240
3308
 
3241
3309
  # @!attribute [rw] task_set
3242
3310
  # Information about a set of Amazon ECS tasks in either an AWS
3243
- # CodeDeploy or an `EXTERNAL` deployment. An Amazon ECS task set
3244
- # includes details such as the desired number of tasks, how many tasks
3245
- # are running, and whether the task set serves production traffic.
3311
+ # CodeDeploy or an `EXTERNAL` deployment. A task set includes details
3312
+ # such as the desired number of tasks, how many tasks are running, and
3313
+ # whether the task set serves production traffic.
3246
3314
  # @return [Types::TaskSet]
3247
3315
  #
3248
3316
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSetResponse AWS API Documentation
@@ -3374,7 +3442,7 @@ module Aws::ECS
3374
3442
  end
3375
3443
 
3376
3444
  # @!attribute [rw] capacity_provider
3377
- # The details of a capacity provider.
3445
+ # The details of the capacity provider.
3378
3446
  # @return [Types::CapacityProvider]
3379
3447
  #
3380
3448
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCapacityProviderResponse AWS API Documentation
@@ -3506,10 +3574,7 @@ module Aws::ECS
3506
3574
  end
3507
3575
 
3508
3576
  # @!attribute [rw] task_set
3509
- # Information about a set of Amazon ECS tasks in either an AWS
3510
- # CodeDeploy or an `EXTERNAL` deployment. An Amazon ECS task set
3511
- # includes details such as the desired number of tasks, how many tasks
3512
- # are running, and whether the task set serves production traffic.
3577
+ # Details about the task set.
3513
3578
  # @return [Types::TaskSet]
3514
3579
  #
3515
3580
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSetResponse AWS API Documentation
@@ -4035,7 +4100,7 @@ module Aws::ECS
4035
4100
  #
4036
4101
  # {
4037
4102
  # clusters: ["String"],
4038
- # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, SETTINGS, STATISTICS, TAGS
4103
+ # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, CONFIGURATIONS, SETTINGS, STATISTICS, TAGS
4039
4104
  # }
4040
4105
  #
4041
4106
  # @!attribute [rw] clusters
@@ -4720,12 +4785,12 @@ module Aws::ECS
4720
4785
  # variables contained within an environment file. If multiple
4721
4786
  # environment files are specified that contain the same variable, they
4722
4787
  # are processed from the top down. It is recommended to use unique
4723
- # variable names. For more information, see [Specifying Environment
4724
- # Variables][2] in the *Amazon Elastic Container Service Developer
4788
+ # variable names. For more information, see [Specifying environment
4789
+ # variables][2] in the *Amazon Elastic Container Service Developer
4725
4790
  # Guide*.
4726
4791
  #
4727
- # This field is not valid for containers in tasks using the Fargate
4728
- # launch type.
4792
+ # This field is only valid for containers in Fargate tasks that use
4793
+ # platform version `1.4.0` or later.
4729
4794
  #
4730
4795
  #
4731
4796
  #
@@ -4758,6 +4823,241 @@ module Aws::ECS
4758
4823
  include Aws::Structure
4759
4824
  end
4760
4825
 
4826
+ # The amount of ephemeral storage to allocate for the task. This
4827
+ # parameter is used to expand the total amount of ephemeral storage
4828
+ # available, beyond the default amount, for tasks hosted on AWS Fargate.
4829
+ # For more information, see [Fargate task storage][1] in the *Amazon ECS
4830
+ # User Guide for AWS Fargate*.
4831
+ #
4832
+ # <note markdown="1"> This parameter is only supported for tasks hosted on AWS Fargate using
4833
+ # platform version `1.4.0` or later.
4834
+ #
4835
+ # </note>
4836
+ #
4837
+ #
4838
+ #
4839
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html
4840
+ #
4841
+ # @note When making an API call, you may pass EphemeralStorage
4842
+ # data as a hash:
4843
+ #
4844
+ # {
4845
+ # size_in_gi_b: 1, # required
4846
+ # }
4847
+ #
4848
+ # @!attribute [rw] size_in_gi_b
4849
+ # The total amount, in GiB, of ephemeral storage to set for the task.
4850
+ # The minimum supported value is `21` GiB and the maximum supported
4851
+ # value is `200` GiB.
4852
+ # @return [Integer]
4853
+ #
4854
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/EphemeralStorage AWS API Documentation
4855
+ #
4856
+ class EphemeralStorage < Struct.new(
4857
+ :size_in_gi_b)
4858
+ SENSITIVE = []
4859
+ include Aws::Structure
4860
+ end
4861
+
4862
+ # The details of the execute command configuration.
4863
+ #
4864
+ # @note When making an API call, you may pass ExecuteCommandConfiguration
4865
+ # data as a hash:
4866
+ #
4867
+ # {
4868
+ # kms_key_id: "String",
4869
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
4870
+ # log_configuration: {
4871
+ # cloud_watch_log_group_name: "String",
4872
+ # cloud_watch_encryption_enabled: false,
4873
+ # s3_bucket_name: "String",
4874
+ # s3_encryption_enabled: false,
4875
+ # s3_key_prefix: "String",
4876
+ # },
4877
+ # }
4878
+ #
4879
+ # @!attribute [rw] kms_key_id
4880
+ # Specify an AWS Key Management Service key ID to encrypt the data
4881
+ # between the local client and the container.
4882
+ # @return [String]
4883
+ #
4884
+ # @!attribute [rw] logging
4885
+ # The log setting to use for redirecting logs for your execute command
4886
+ # results. The following log settings are available.
4887
+ #
4888
+ # * `NONE`\: The execute command session is not logged.
4889
+ #
4890
+ # * `DEFAULT`\: The `awslogs` configuration in the task definition is
4891
+ # used. If no logging parameter is specified, it defaults to this
4892
+ # value. If no `awslogs` log driver is configured in the task
4893
+ # definition, the output won't be logged.
4894
+ #
4895
+ # * `OVERRIDE`\: Specify the logging details as a part of
4896
+ # `logConfiguration`. If the `OVERRIDE` logging option is specified,
4897
+ # the `logConfiguration` is required.
4898
+ # @return [String]
4899
+ #
4900
+ # @!attribute [rw] log_configuration
4901
+ # The log configuration for the results of the execute command
4902
+ # actions. The logs can be sent to CloudWatch Logs or an Amazon S3
4903
+ # bucket. When `logging=OVERRIDE` is specified, a `logConfiguration`
4904
+ # must be provided.
4905
+ # @return [Types::ExecuteCommandLogConfiguration]
4906
+ #
4907
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommandConfiguration AWS API Documentation
4908
+ #
4909
+ class ExecuteCommandConfiguration < Struct.new(
4910
+ :kms_key_id,
4911
+ :logging,
4912
+ :log_configuration)
4913
+ SENSITIVE = []
4914
+ include Aws::Structure
4915
+ end
4916
+
4917
+ # The log configuration for the results of the execute command actions.
4918
+ # The logs can be sent to CloudWatch Logs or an Amazon S3 bucket.
4919
+ #
4920
+ # @note When making an API call, you may pass ExecuteCommandLogConfiguration
4921
+ # data as a hash:
4922
+ #
4923
+ # {
4924
+ # cloud_watch_log_group_name: "String",
4925
+ # cloud_watch_encryption_enabled: false,
4926
+ # s3_bucket_name: "String",
4927
+ # s3_encryption_enabled: false,
4928
+ # s3_key_prefix: "String",
4929
+ # }
4930
+ #
4931
+ # @!attribute [rw] cloud_watch_log_group_name
4932
+ # The name of the CloudWatch log group to send logs to.
4933
+ #
4934
+ # <note markdown="1"> The CloudWatch log group must already be created.
4935
+ #
4936
+ # </note>
4937
+ # @return [String]
4938
+ #
4939
+ # @!attribute [rw] cloud_watch_encryption_enabled
4940
+ # Whether or not to enable encryption on the CloudWatch logs. If not
4941
+ # specified, encryption will be disabled.
4942
+ # @return [Boolean]
4943
+ #
4944
+ # @!attribute [rw] s3_bucket_name
4945
+ # The name of the S3 bucket to send logs to.
4946
+ #
4947
+ # <note markdown="1"> The S3 bucket must already be created.
4948
+ #
4949
+ # </note>
4950
+ # @return [String]
4951
+ #
4952
+ # @!attribute [rw] s3_encryption_enabled
4953
+ # Whether or not to enable encryption on the CloudWatch logs. If not
4954
+ # specified, encryption will be disabled.
4955
+ # @return [Boolean]
4956
+ #
4957
+ # @!attribute [rw] s3_key_prefix
4958
+ # An optional folder in the S3 bucket to place logs in.
4959
+ # @return [String]
4960
+ #
4961
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommandLogConfiguration AWS API Documentation
4962
+ #
4963
+ class ExecuteCommandLogConfiguration < Struct.new(
4964
+ :cloud_watch_log_group_name,
4965
+ :cloud_watch_encryption_enabled,
4966
+ :s3_bucket_name,
4967
+ :s3_encryption_enabled,
4968
+ :s3_key_prefix)
4969
+ SENSITIVE = []
4970
+ include Aws::Structure
4971
+ end
4972
+
4973
+ # @note When making an API call, you may pass ExecuteCommandRequest
4974
+ # data as a hash:
4975
+ #
4976
+ # {
4977
+ # cluster: "String",
4978
+ # container: "String",
4979
+ # command: "String", # required
4980
+ # interactive: false, # required
4981
+ # task: "String", # required
4982
+ # }
4983
+ #
4984
+ # @!attribute [rw] cluster
4985
+ # The Amazon Resource Name (ARN) or short name of the cluster the task
4986
+ # is running in. If you do not specify a cluster, the default cluster
4987
+ # is assumed.
4988
+ # @return [String]
4989
+ #
4990
+ # @!attribute [rw] container
4991
+ # The name of the container to execute the command on. A container
4992
+ # name only needs to be specified for tasks containing multiple
4993
+ # containers.
4994
+ # @return [String]
4995
+ #
4996
+ # @!attribute [rw] command
4997
+ # The command to run on the container.
4998
+ # @return [String]
4999
+ #
5000
+ # @!attribute [rw] interactive
5001
+ # Use this flag to run your command in interactive mode.
5002
+ # @return [Boolean]
5003
+ #
5004
+ # @!attribute [rw] task
5005
+ # The Amazon Resource Name (ARN) or ID of the task the container is
5006
+ # part of.
5007
+ # @return [String]
5008
+ #
5009
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommandRequest AWS API Documentation
5010
+ #
5011
+ class ExecuteCommandRequest < Struct.new(
5012
+ :cluster,
5013
+ :container,
5014
+ :command,
5015
+ :interactive,
5016
+ :task)
5017
+ SENSITIVE = []
5018
+ include Aws::Structure
5019
+ end
5020
+
5021
+ # @!attribute [rw] cluster_arn
5022
+ # The Amazon Resource Name (ARN) of the cluster.
5023
+ # @return [String]
5024
+ #
5025
+ # @!attribute [rw] container_arn
5026
+ # The Amazon Resource Name (ARN) of the container.
5027
+ # @return [String]
5028
+ #
5029
+ # @!attribute [rw] container_name
5030
+ # The name of the container.
5031
+ # @return [String]
5032
+ #
5033
+ # @!attribute [rw] interactive
5034
+ # Whether or not the execute command session is running in interactive
5035
+ # mode. Amazon ECS only supports initiating interactive sessions, so
5036
+ # you must specify `true` for this value.
5037
+ # @return [Boolean]
5038
+ #
5039
+ # @!attribute [rw] session
5040
+ # The details of the SSM session that was created for this instance of
5041
+ # execute-command.
5042
+ # @return [Types::Session]
5043
+ #
5044
+ # @!attribute [rw] task_arn
5045
+ # The Amazon Resource Name (ARN) of the task.
5046
+ # @return [String]
5047
+ #
5048
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommandResponse AWS API Documentation
5049
+ #
5050
+ class ExecuteCommandResponse < Struct.new(
5051
+ :cluster_arn,
5052
+ :container_arn,
5053
+ :container_name,
5054
+ :interactive,
5055
+ :session,
5056
+ :task_arn)
5057
+ SENSITIVE = []
5058
+ include Aws::Structure
5059
+ end
5060
+
4761
5061
  # The authorization configuration details for Amazon FSx for Windows
4762
5062
  # File Server file system. See
4763
5063
  # [FSxWindowsFileServerVolumeConfiguration][1] in the *Amazon Elastic
@@ -4918,6 +5218,11 @@ module Aws::ECS
4918
5218
  # FireLens Configuration][1] in the *Amazon Elastic Container Service
4919
5219
  # Developer Guide*.
4920
5220
  #
5221
+ # <note markdown="1"> Tasks hosted on AWS Fargate only support the `file` configuration
5222
+ # file type.
5223
+ #
5224
+ # </note>
5225
+ #
4921
5226
  #
4922
5227
  #
4923
5228
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef
@@ -5500,6 +5805,11 @@ module Aws::ECS
5500
5805
  # The ARN of the principal, which can be an IAM user, IAM role, or the
5501
5806
  # root user. If this field is omitted, the account settings are listed
5502
5807
  # only for the authenticated user.
5808
+ #
5809
+ # <note markdown="1"> Federated users assume the account setting of the root user and
5810
+ # can't have explicit account settings set for them.
5811
+ #
5812
+ # </note>
5503
5813
  # @return [String]
5504
5814
  #
5505
5815
  # @!attribute [rw] effective_settings
@@ -5824,14 +6134,14 @@ module Aws::ECS
5824
6134
  # cluster: "String",
5825
6135
  # next_token: "String",
5826
6136
  # max_results: 1,
5827
- # launch_type: "EC2", # accepts EC2, FARGATE
6137
+ # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
5828
6138
  # scheduling_strategy: "REPLICA", # accepts REPLICA, DAEMON
5829
6139
  # }
5830
6140
  #
5831
6141
  # @!attribute [rw] cluster
5832
- # The short name or full Amazon Resource Name (ARN) of the cluster
5833
- # that hosts the services to list. If you do not specify a cluster,
5834
- # the default cluster is assumed.
6142
+ # The short name or full Amazon Resource Name (ARN) of the cluster to
6143
+ # use when filtering the `ListServices` results. If you do not specify
6144
+ # a cluster, the default cluster is assumed.
5835
6145
  # @return [String]
5836
6146
  #
5837
6147
  # @!attribute [rw] next_token
@@ -5859,11 +6169,12 @@ module Aws::ECS
5859
6169
  # @return [Integer]
5860
6170
  #
5861
6171
  # @!attribute [rw] launch_type
5862
- # The launch type for the services to list.
6172
+ # The launch type to use when filtering the `ListServices` results.
5863
6173
  # @return [String]
5864
6174
  #
5865
6175
  # @!attribute [rw] scheduling_strategy
5866
- # The scheduling strategy for services to list.
6176
+ # The scheduling strategy to use when filtering the `ListServices`
6177
+ # results.
5867
6178
  # @return [String]
5868
6179
  #
5869
6180
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServicesRequest AWS API Documentation
@@ -6129,26 +6440,26 @@ module Aws::ECS
6129
6440
  # started_by: "String",
6130
6441
  # service_name: "String",
6131
6442
  # desired_status: "RUNNING", # accepts RUNNING, PENDING, STOPPED
6132
- # launch_type: "EC2", # accepts EC2, FARGATE
6443
+ # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
6133
6444
  # }
6134
6445
  #
6135
6446
  # @!attribute [rw] cluster
6136
- # The short name or full Amazon Resource Name (ARN) of the cluster
6137
- # that hosts the tasks to list. If you do not specify a cluster, the
6138
- # default cluster is assumed.
6447
+ # The short name or full Amazon Resource Name (ARN) of the cluster to
6448
+ # use when filtering the `ListTasks` results. If you do not specify a
6449
+ # cluster, the default cluster is assumed.
6139
6450
  # @return [String]
6140
6451
  #
6141
6452
  # @!attribute [rw] container_instance
6142
- # The container instance ID or full ARN of the container instance with
6143
- # which to filter the `ListTasks` results. Specifying a
6453
+ # The container instance ID or full ARN of the container instance to
6454
+ # use when filtering the `ListTasks` results. Specifying a
6144
6455
  # `containerInstance` limits the results to tasks that belong to that
6145
6456
  # container instance.
6146
6457
  # @return [String]
6147
6458
  #
6148
6459
  # @!attribute [rw] family
6149
- # The name of the family with which to filter the `ListTasks` results.
6150
- # Specifying a `family` limits the results to tasks that belong to
6151
- # that family.
6460
+ # The name of the task definition family to use when filtering the
6461
+ # `ListTasks` results. Specifying a `family` limits the results to
6462
+ # tasks that belong to that family.
6152
6463
  # @return [String]
6153
6464
  #
6154
6465
  # @!attribute [rw] next_token
@@ -6182,13 +6493,13 @@ module Aws::ECS
6182
6493
  # @return [String]
6183
6494
  #
6184
6495
  # @!attribute [rw] service_name
6185
- # The name of the service with which to filter the `ListTasks`
6496
+ # The name of the service to use when filtering the `ListTasks`
6186
6497
  # results. Specifying a `serviceName` limits the results to tasks that
6187
6498
  # belong to that service.
6188
6499
  # @return [String]
6189
6500
  #
6190
6501
  # @!attribute [rw] desired_status
6191
- # The task desired status with which to filter the `ListTasks`
6502
+ # The task desired status to use when filtering the `ListTasks`
6192
6503
  # results. Specifying a `desiredStatus` of `STOPPED` limits the
6193
6504
  # results to tasks that Amazon ECS has set the desired status to
6194
6505
  # `STOPPED`. This can be useful for debugging tasks that are not
@@ -6205,7 +6516,7 @@ module Aws::ECS
6205
6516
  # @return [String]
6206
6517
  #
6207
6518
  # @!attribute [rw] launch_type
6208
- # The launch type for services to list.
6519
+ # The launch type to use when filtering the `ListTasks` results.
6209
6520
  # @return [String]
6210
6521
  #
6211
6522
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasksRequest AWS API Documentation
@@ -6447,6 +6758,75 @@ module Aws::ECS
6447
6758
  include Aws::Structure
6448
6759
  end
6449
6760
 
6761
+ # Details about the managed agent status for the container.
6762
+ #
6763
+ # @!attribute [rw] last_started_at
6764
+ # The Unix timestamp for when the managed agent was last started.
6765
+ # @return [Time]
6766
+ #
6767
+ # @!attribute [rw] name
6768
+ # The name of the managed agent. When the execute command feature is
6769
+ # enabled, the managed agent name is `ExecuteCommandAgent`.
6770
+ # @return [String]
6771
+ #
6772
+ # @!attribute [rw] reason
6773
+ # The reason for why the managed agent is in the state it is in.
6774
+ # @return [String]
6775
+ #
6776
+ # @!attribute [rw] last_status
6777
+ # The last known status of the managed agent.
6778
+ # @return [String]
6779
+ #
6780
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedAgent AWS API Documentation
6781
+ #
6782
+ class ManagedAgent < Struct.new(
6783
+ :last_started_at,
6784
+ :name,
6785
+ :reason,
6786
+ :last_status)
6787
+ SENSITIVE = []
6788
+ include Aws::Structure
6789
+ end
6790
+
6791
+ # An object representing a change in state for a managed agent.
6792
+ #
6793
+ # @note When making an API call, you may pass ManagedAgentStateChange
6794
+ # data as a hash:
6795
+ #
6796
+ # {
6797
+ # container_name: "String", # required
6798
+ # managed_agent_name: "ExecuteCommandAgent", # required, accepts ExecuteCommandAgent
6799
+ # status: "String", # required
6800
+ # reason: "String",
6801
+ # }
6802
+ #
6803
+ # @!attribute [rw] container_name
6804
+ # The name of the container associated with the managed agent.
6805
+ # @return [String]
6806
+ #
6807
+ # @!attribute [rw] managed_agent_name
6808
+ # The name of the managed agent.
6809
+ # @return [String]
6810
+ #
6811
+ # @!attribute [rw] status
6812
+ # The status of the managed agent.
6813
+ # @return [String]
6814
+ #
6815
+ # @!attribute [rw] reason
6816
+ # The reason for the status of the managed agent.
6817
+ # @return [String]
6818
+ #
6819
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedAgentStateChange AWS API Documentation
6820
+ #
6821
+ class ManagedAgentStateChange < Struct.new(
6822
+ :container_name,
6823
+ :managed_agent_name,
6824
+ :status,
6825
+ :reason)
6826
+ SENSITIVE = []
6827
+ include Aws::Structure
6828
+ end
6829
+
6450
6830
  # The managed scaling settings for the Auto Scaling group capacity
6451
6831
  # provider.
6452
6832
  #
@@ -6820,6 +7200,11 @@ module Aws::ECS
6820
7200
  # The `hostPort` can be left blank or it must be the same value as the
6821
7201
  # `containerPort`.
6822
7202
  #
7203
+ # <note markdown="1"> You cannot expose the same container port for multiple protocols. An
7204
+ # error will be returned if this is attempted
7205
+ #
7206
+ # </note>
7207
+ #
6823
7208
  # After a task reaches the `RUNNING` status, manual and automatic host
6824
7209
  # and container port assignments are visible in the `networkBindings`
6825
7210
  # section of DescribeTasks API responses.
@@ -7019,7 +7404,7 @@ module Aws::ECS
7019
7404
  end
7020
7405
 
7021
7406
  # @!attribute [rw] setting
7022
- # The current account setting for a resource.
7407
+ # The current setting for a resource.
7023
7408
  # @return [Types::Setting]
7024
7409
  #
7025
7410
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefaultResponse AWS API Documentation
@@ -7064,6 +7449,11 @@ module Aws::ECS
7064
7449
  # account unless an IAM user or role explicitly overrides these
7065
7450
  # settings. If this field is omitted, the setting is changed only for
7066
7451
  # the authenticated user.
7452
+ #
7453
+ # <note markdown="1"> Federated users assume the account setting of the root user and
7454
+ # can't have explicit account settings set for them.
7455
+ #
7456
+ # </note>
7067
7457
  # @return [String]
7068
7458
  #
7069
7459
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingRequest AWS API Documentation
@@ -7208,11 +7598,7 @@ module Aws::ECS
7208
7598
  end
7209
7599
 
7210
7600
  # @!attribute [rw] cluster
7211
- # A regional grouping of one or more container instances on which you
7212
- # can run task requests. Each account receives a default cluster the
7213
- # first time you use the Amazon ECS service, but you may also create
7214
- # other clusters. Clusters may contain more than one instance type
7215
- # simultaneously.
7601
+ # Details about the cluster.
7216
7602
  # @return [Types::Cluster]
7217
7603
  #
7218
7604
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProvidersResponse AWS API Documentation
@@ -7571,7 +7957,7 @@ module Aws::ECS
7571
7957
  # expression: "String",
7572
7958
  # },
7573
7959
  # ],
7574
- # requires_compatibilities: ["EC2"], # accepts EC2, FARGATE
7960
+ # requires_compatibilities: ["EC2"], # accepts EC2, FARGATE, EXTERNAL
7575
7961
  # cpu: "String",
7576
7962
  # memory: "String",
7577
7963
  # tags: [
@@ -7598,13 +7984,17 @@ module Aws::ECS
7598
7984
  # device_type: "String", # required
7599
7985
  # },
7600
7986
  # ],
7987
+ # ephemeral_storage: {
7988
+ # size_in_gi_b: 1, # required
7989
+ # },
7601
7990
  # }
7602
7991
  #
7603
7992
  # @!attribute [rw] family
7604
7993
  # You must specify a `family` for a task definition, which allows you
7605
7994
  # to track multiple versions of the same task definition. The `family`
7606
7995
  # is used as a name for your task definition. Up to 255 letters
7607
- # (uppercase and lowercase), numbers, and hyphens are allowed.
7996
+ # (uppercase and lowercase), numbers, underscores, and hyphens are
7997
+ # allowed.
7608
7998
  # @return [String]
7609
7999
  #
7610
8000
  # @!attribute [rw] task_role_arn
@@ -7706,9 +8096,10 @@ module Aws::ECS
7706
8096
  #
7707
8097
  # @!attribute [rw] requires_compatibilities
7708
8098
  # 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`.
8099
+ # definition against. A client exception is returned if the task
8100
+ # definition doesn't validate against the compatibilities specified.
8101
+ # If no value is specified, the parameter is omitted from the
8102
+ # response.
7712
8103
  # @return [Array<String>]
7713
8104
  #
7714
8105
  # @!attribute [rw] cpu
@@ -7829,8 +8220,8 @@ module Aws::ECS
7829
8220
  # risk of undesired process namespace expose. For more information,
7830
8221
  # see [Docker security][2].
7831
8222
  #
7832
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
7833
- # using the Fargate launch type.
8223
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
8224
+ # on AWS Fargate.
7834
8225
  #
7835
8226
  # </note>
7836
8227
  #
@@ -7870,8 +8261,8 @@ module Aws::ECS
7870
8261
  # * For tasks that use the `task` IPC mode, IPC namespace related
7871
8262
  # `systemControls` will apply to all containers within a task.
7872
8263
  #
7873
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
7874
- # using the Fargate launch type.
8264
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
8265
+ # on AWS Fargate.
7875
8266
  #
7876
8267
  # </note>
7877
8268
  #
@@ -7885,17 +8276,18 @@ module Aws::ECS
7885
8276
  # @!attribute [rw] proxy_configuration
7886
8277
  # The configuration details for the App Mesh proxy.
7887
8278
  #
7888
- # For tasks using the EC2 launch type, the container instances require
7889
- # at least version 1.26.0 of the container agent and at least version
7890
- # 1.26.0-1 of the `ecs-init` package to enable a proxy configuration.
7891
- # If your container instances are launched from the Amazon
7892
- # ECS-optimized AMI version `20190301` or later, then they contain the
7893
- # required versions of the container agent and `ecs-init`. For more
7894
- # information, see [Amazon ECS-optimized Linux AMI][1]
8279
+ # For tasks hosted on Amazon EC2 instances, the container instances
8280
+ # require at least version `1.26.0` of the container agent and at
8281
+ # least version `1.26.0-1` of the `ecs-init` package to enable a proxy
8282
+ # configuration. If your container instances are launched from the
8283
+ # Amazon ECS-optimized AMI version `20190301` or later, then they
8284
+ # contain the required versions of the container agent and `ecs-init`.
8285
+ # For more information, see [Amazon ECS-optimized AMI versions][1] in
8286
+ # the *Amazon Elastic Container Service Developer Guide*.
7895
8287
  #
7896
8288
  #
7897
8289
  #
7898
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
8290
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-ami-versions.html
7899
8291
  # @return [Types::ProxyConfiguration]
7900
8292
  #
7901
8293
  # @!attribute [rw] inference_accelerators
@@ -7903,6 +8295,23 @@ module Aws::ECS
7903
8295
  # task.
7904
8296
  # @return [Array<Types::InferenceAccelerator>]
7905
8297
  #
8298
+ # @!attribute [rw] ephemeral_storage
8299
+ # The amount of ephemeral storage to allocate for the task. This
8300
+ # parameter is used to expand the total amount of ephemeral storage
8301
+ # available, beyond the default amount, for tasks hosted on AWS
8302
+ # Fargate. For more information, see [Fargate task storage][1] in the
8303
+ # *Amazon ECS User Guide for AWS Fargate*.
8304
+ #
8305
+ # <note markdown="1"> This parameter is only supported for tasks hosted on AWS Fargate
8306
+ # using platform version `1.4.0` or later.
8307
+ #
8308
+ # </note>
8309
+ #
8310
+ #
8311
+ #
8312
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html
8313
+ # @return [Types::EphemeralStorage]
8314
+ #
7906
8315
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinitionRequest AWS API Documentation
7907
8316
  #
7908
8317
  class RegisterTaskDefinitionRequest < Struct.new(
@@ -7920,7 +8329,8 @@ module Aws::ECS
7920
8329
  :pid_mode,
7921
8330
  :ipc_mode,
7922
8331
  :proxy_configuration,
7923
- :inference_accelerators)
8332
+ :inference_accelerators,
8333
+ :ephemeral_storage)
7924
8334
  SENSITIVE = []
7925
8335
  include Aws::Structure
7926
8336
  end
@@ -8102,8 +8512,9 @@ module Aws::ECS
8102
8512
  # cluster: "String",
8103
8513
  # count: 1,
8104
8514
  # enable_ecs_managed_tags: false,
8515
+ # enable_execute_command: false,
8105
8516
  # group: "String",
8106
- # launch_type: "EC2", # accepts EC2, FARGATE
8517
+ # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
8107
8518
  # network_configuration: {
8108
8519
  # awsvpc_configuration: {
8109
8520
  # subnets: ["String"], # required
@@ -8149,6 +8560,9 @@ module Aws::ECS
8149
8560
  # execution_role_arn: "String",
8150
8561
  # memory: "String",
8151
8562
  # task_role_arn: "String",
8563
+ # ephemeral_storage: {
8564
+ # size_in_gi_b: 1, # required
8565
+ # },
8152
8566
  # },
8153
8567
  # placement_constraints: [
8154
8568
  # {
@@ -8178,31 +8592,10 @@ module Aws::ECS
8178
8592
  # @!attribute [rw] capacity_provider_strategy
8179
8593
  # The capacity provider strategy to use for the task.
8180
8594
  #
8181
- # A capacity provider strategy consists of one or more capacity
8182
- # providers along with the `base` and `weight` to assign to them. A
8183
- # capacity provider must be associated with the cluster to be used in
8184
- # a capacity provider strategy. The PutClusterCapacityProviders API is
8185
- # used to associate a capacity provider with a cluster. Only capacity
8186
- # providers with an `ACTIVE` or `UPDATING` status can be used.
8187
- #
8188
8595
  # If a `capacityProviderStrategy` is specified, the `launchType`
8189
8596
  # parameter must be omitted. If no `capacityProviderStrategy` or
8190
8597
  # `launchType` is specified, the `defaultCapacityProviderStrategy` for
8191
8598
  # the cluster is used.
8192
- #
8193
- # If specifying a capacity provider that uses an Auto Scaling group,
8194
- # the capacity provider must already be created. New capacity
8195
- # providers can be created with the CreateCapacityProvider API
8196
- # operation.
8197
- #
8198
- # To use a AWS Fargate capacity provider, specify either the `FARGATE`
8199
- # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
8200
- # providers are available to all accounts and only need to be
8201
- # associated with a cluster to be used.
8202
- #
8203
- # The PutClusterCapacityProviders API operation is used to update the
8204
- # list of available capacity providers for a cluster after the cluster
8205
- # is created.
8206
8599
  # @return [Array<Types::CapacityProviderStrategyItem>]
8207
8600
  #
8208
8601
  # @!attribute [rw] cluster
@@ -8226,6 +8619,12 @@ module Aws::ECS
8226
8619
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
8227
8620
  # @return [Boolean]
8228
8621
  #
8622
+ # @!attribute [rw] enable_execute_command
8623
+ # Whether or not to enable the execute command functionality for the
8624
+ # containers in this task. If `true`, this enables execute command
8625
+ # functionality on all containers in the task.
8626
+ # @return [Boolean]
8627
+ #
8229
8628
  # @!attribute [rw] group
8230
8629
  # The name of the task group to associate with the task. The default
8231
8630
  # value is the family name of the task definition (for example,
@@ -8233,16 +8632,34 @@ module Aws::ECS
8233
8632
  # @return [String]
8234
8633
  #
8235
8634
  # @!attribute [rw] launch_type
8236
- # The launch type on which to run your task. For more information, see
8237
- # [Amazon ECS Launch Types][1] in the *Amazon Elastic Container
8238
- # Service Developer Guide*.
8635
+ # The infrastructure on which to run your standalone task. For more
8636
+ # information, see [Amazon ECS launch types][1] in the *Amazon Elastic
8637
+ # Container Service Developer Guide*.
8638
+ #
8639
+ # The `FARGATE` launch type runs your tasks on AWS Fargate On-Demand
8640
+ # infrastructure.
8641
+ #
8642
+ # <note markdown="1"> Fargate Spot infrastructure is available for use but a capacity
8643
+ # provider strategy must be used. For more information, see [AWS
8644
+ # Fargate capacity providers][2] in the *Amazon ECS User Guide for AWS
8645
+ # Fargate*.
8646
+ #
8647
+ # </note>
8648
+ #
8649
+ # The `EC2` launch type runs your tasks on Amazon EC2 instances
8650
+ # registered to your cluster.
8651
+ #
8652
+ # The `EXTERNAL` launch type runs your tasks on your on-premise server
8653
+ # or virtual machine (VM) capacity registered to your cluster.
8239
8654
  #
8655
+ # A task can use either a launch type or a capacity provider strategy.
8240
8656
  # If a `launchType` is specified, the `capacityProviderStrategy`
8241
8657
  # parameter must be omitted.
8242
8658
  #
8243
8659
  #
8244
8660
  #
8245
8661
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
8662
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/userguide/fargate-capacity-providers.html
8246
8663
  # @return [String]
8247
8664
  #
8248
8665
  # @!attribute [rw] network_configuration
@@ -8369,6 +8786,7 @@ module Aws::ECS
8369
8786
  :cluster,
8370
8787
  :count,
8371
8788
  :enable_ecs_managed_tags,
8789
+ :enable_execute_command,
8372
8790
  :group,
8373
8791
  :launch_type,
8374
8792
  :network_configuration,
@@ -8508,9 +8926,10 @@ module Aws::ECS
8508
8926
  #
8509
8927
  # @!attribute [rw] service_name
8510
8928
  # The name of your service. Up to 255 letters (uppercase and
8511
- # lowercase), numbers, and hyphens are allowed. Service names must be
8512
- # unique within a cluster, but you can have similarly named services
8513
- # in multiple clusters within a Region or across multiple Regions.
8929
+ # lowercase), numbers, underscores, and hyphens are allowed. Service
8930
+ # names must be unique within a cluster, but you can have similarly
8931
+ # named services in multiple clusters within a Region or across
8932
+ # multiple Regions.
8514
8933
  # @return [String]
8515
8934
  #
8516
8935
  # @!attribute [rw] cluster_arn
@@ -8555,10 +8974,9 @@ module Aws::ECS
8555
8974
  # @return [Integer]
8556
8975
  #
8557
8976
  # @!attribute [rw] launch_type
8558
- # The launch type on which your service is running. If no value is
8559
- # specified, it will default to `EC2`. Valid values include `EC2` and
8560
- # `FARGATE`. For more information, see [Amazon ECS Launch Types][1] in
8561
- # the *Amazon Elastic Container Service Developer Guide*.
8977
+ # The infrastructure on which your service is running. For more
8978
+ # information, see [Amazon ECS launch types][1] in the *Amazon Elastic
8979
+ # Container Service Developer Guide*.
8562
8980
  #
8563
8981
  #
8564
8982
  #
@@ -8727,6 +9145,12 @@ module Aws::ECS
8727
9145
  # propagated.
8728
9146
  # @return [String]
8729
9147
  #
9148
+ # @!attribute [rw] enable_execute_command
9149
+ # Whether or not the execute command functionality is enabled for the
9150
+ # service. If `true`, the execute command functionality is enabled for
9151
+ # all containers in tasks as part of the service.
9152
+ # @return [Boolean]
9153
+ #
8730
9154
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Service AWS API Documentation
8731
9155
  #
8732
9156
  class Service < Struct.new(
@@ -8758,7 +9182,8 @@ module Aws::ECS
8758
9182
  :tags,
8759
9183
  :created_by,
8760
9184
  :enable_ecs_managed_tags,
8761
- :propagate_tags)
9185
+ :propagate_tags,
9186
+ :enable_execute_command)
8762
9187
  SENSITIVE = []
8763
9188
  include Aws::Structure
8764
9189
  end
@@ -8865,6 +9290,33 @@ module Aws::ECS
8865
9290
  include Aws::Structure
8866
9291
  end
8867
9292
 
9293
+ # The details of the execute command session.
9294
+ #
9295
+ # @!attribute [rw] session_id
9296
+ # The ID of the execute command session.
9297
+ # @return [String]
9298
+ #
9299
+ # @!attribute [rw] stream_url
9300
+ # A URL back to managed agent on the container that the SSM Session
9301
+ # Manager client uses to send commands and receive output from the
9302
+ # container.
9303
+ # @return [String]
9304
+ #
9305
+ # @!attribute [rw] token_value
9306
+ # An encrypted token value containing session and caller information.
9307
+ # Used to authenticate the connection to the container.
9308
+ # @return [String]
9309
+ #
9310
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Session AWS API Documentation
9311
+ #
9312
+ class Session < Struct.new(
9313
+ :session_id,
9314
+ :stream_url,
9315
+ :token_value)
9316
+ SENSITIVE = [:token_value]
9317
+ include Aws::Structure
9318
+ end
9319
+
8868
9320
  # The current account setting for a resource.
8869
9321
  #
8870
9322
  # @!attribute [rw] name
@@ -8899,6 +9351,7 @@ module Aws::ECS
8899
9351
  # cluster: "String",
8900
9352
  # container_instances: ["String"], # required
8901
9353
  # enable_ecs_managed_tags: false,
9354
+ # enable_execute_command: false,
8902
9355
  # group: "String",
8903
9356
  # network_configuration: {
8904
9357
  # awsvpc_configuration: {
@@ -8945,6 +9398,9 @@ module Aws::ECS
8945
9398
  # execution_role_arn: "String",
8946
9399
  # memory: "String",
8947
9400
  # task_role_arn: "String",
9401
+ # ephemeral_storage: {
9402
+ # size_in_gi_b: 1, # required
9403
+ # },
8948
9404
  # },
8949
9405
  # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
8950
9406
  # reference_id: "String",
@@ -8980,6 +9436,12 @@ module Aws::ECS
8980
9436
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
8981
9437
  # @return [Boolean]
8982
9438
  #
9439
+ # @!attribute [rw] enable_execute_command
9440
+ # Whether or not the execute command functionality is enabled for the
9441
+ # task. If `true`, this enables execute command functionality on all
9442
+ # containers in the task.
9443
+ # @return [Boolean]
9444
+ #
8983
9445
  # @!attribute [rw] group
8984
9446
  # The name of the task group to associate with the task. The default
8985
9447
  # value is the family name of the task definition (for example,
@@ -9074,6 +9536,7 @@ module Aws::ECS
9074
9536
  :cluster,
9075
9537
  :container_instances,
9076
9538
  :enable_ecs_managed_tags,
9539
+ :enable_execute_command,
9077
9540
  :group,
9078
9541
  :network_configuration,
9079
9542
  :overrides,
@@ -9309,6 +9772,14 @@ module Aws::ECS
9309
9772
  # status: "String", # required
9310
9773
  # },
9311
9774
  # ],
9775
+ # managed_agents: [
9776
+ # {
9777
+ # container_name: "String", # required
9778
+ # managed_agent_name: "ExecuteCommandAgent", # required, accepts ExecuteCommandAgent
9779
+ # status: "String", # required
9780
+ # reason: "String",
9781
+ # },
9782
+ # ],
9312
9783
  # pull_started_at: Time.now,
9313
9784
  # pull_stopped_at: Time.now,
9314
9785
  # execution_stopped_at: Time.now,
@@ -9339,6 +9810,10 @@ module Aws::ECS
9339
9810
  # Any attachments associated with the state change request.
9340
9811
  # @return [Array<Types::AttachmentStateChange>]
9341
9812
  #
9813
+ # @!attribute [rw] managed_agents
9814
+ # The details for the managed agent associated with the task.
9815
+ # @return [Array<Types::ManagedAgentStateChange>]
9816
+ #
9342
9817
  # @!attribute [rw] pull_started_at
9343
9818
  # The Unix timestamp for when the container image pull began.
9344
9819
  # @return [Time]
@@ -9360,6 +9835,7 @@ module Aws::ECS
9360
9835
  :reason,
9361
9836
  :containers,
9362
9837
  :attachments,
9838
+ :managed_agents,
9363
9839
  :pull_started_at,
9364
9840
  :pull_stopped_at,
9365
9841
  :execution_stopped_at)
@@ -9552,6 +10028,13 @@ module Aws::ECS
9552
10028
  #
9553
10029
  class TagResourceResponse < Aws::EmptyStructure; end
9554
10030
 
10031
+ # The target container is not properly configured with the execute
10032
+ # command agent or the container is no longer active or running.
10033
+ #
10034
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TargetNotConnectedException AWS API Documentation
10035
+ #
10036
+ class TargetNotConnectedException < Aws::EmptyStructure; end
10037
+
9555
10038
  # The specified target could not be found. You can view your available
9556
10039
  # container instances with ListContainerInstances. Amazon ECS container
9557
10040
  # instances are cluster-specific and Region-specific.
@@ -9647,6 +10130,12 @@ module Aws::ECS
9647
10130
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html
9648
10131
  # @return [String]
9649
10132
  #
10133
+ # @!attribute [rw] enable_execute_command
10134
+ # Whether or not execute command functionality is enabled for this
10135
+ # task. If `true`, this enables execute command functionality on all
10136
+ # containers in the task.
10137
+ # @return [Boolean]
10138
+ #
9650
10139
  # @!attribute [rw] execution_stopped_at
9651
10140
  # The Unix timestamp for when the task execution stopped.
9652
10141
  # @return [Time]
@@ -9687,9 +10176,9 @@ module Aws::ECS
9687
10176
  # @return [String]
9688
10177
  #
9689
10178
  # @!attribute [rw] launch_type
9690
- # The launch type on which your task is running. For more information,
9691
- # see [Amazon ECS Launch Types][1] in the *Amazon Elastic Container
9692
- # Service Developer Guide*.
10179
+ # The infrastructure on which your task is running. For more
10180
+ # information, see [Amazon ECS launch types][1] in the *Amazon Elastic
10181
+ # Container Service Developer Guide*.
9693
10182
  #
9694
10183
  #
9695
10184
  #
@@ -9829,6 +10318,10 @@ module Aws::ECS
9829
10318
  # version in your event stream is current.
9830
10319
  # @return [Integer]
9831
10320
  #
10321
+ # @!attribute [rw] ephemeral_storage
10322
+ # The ephemeral storage settings for the task.
10323
+ # @return [Types::EphemeralStorage]
10324
+ #
9832
10325
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Task AWS API Documentation
9833
10326
  #
9834
10327
  class Task < Struct.new(
@@ -9844,6 +10337,7 @@ module Aws::ECS
9844
10337
  :cpu,
9845
10338
  :created_at,
9846
10339
  :desired_status,
10340
+ :enable_execute_command,
9847
10341
  :execution_stopped_at,
9848
10342
  :group,
9849
10343
  :health_status,
@@ -9864,7 +10358,8 @@ module Aws::ECS
9864
10358
  :tags,
9865
10359
  :task_arn,
9866
10360
  :task_definition_arn,
9867
- :version)
10361
+ :version,
10362
+ :ephemeral_storage)
9868
10363
  SENSITIVE = []
9869
10364
  include Aws::Structure
9870
10365
  end
@@ -9913,7 +10408,7 @@ module Aws::ECS
9913
10408
  # option is set when you launch the Amazon ECS-optimized Windows AMI.
9914
10409
  # Your containers must also run some configuration code in order to
9915
10410
  # take advantage of the feature. For more information, see [Windows
9916
- # IAM Roles for Tasks][2] in the *Amazon Elastic Container Service
10411
+ # IAM roles for tasks][2] in the *Amazon Elastic Container Service
9917
10412
  # Developer Guide*.
9918
10413
  #
9919
10414
  #
@@ -10000,18 +10495,18 @@ module Aws::ECS
10000
10495
  # @return [Integer]
10001
10496
  #
10002
10497
  # @!attribute [rw] volumes
10003
- # The list of volume definitions for the task.
10498
+ # The list of data volume definitions for the task. For more
10499
+ # information, see [Using data volumes in tasks][1] in the *Amazon
10500
+ # Elastic Container Service Developer Guide*.
10004
10501
  #
10005
- # If your tasks are using the Fargate launch type, the `host` and
10006
- # `sourcePath` parameters are not supported.
10502
+ # <note markdown="1"> The `host` and `sourcePath` parameters are not supported for tasks
10503
+ # run on AWS Fargate.
10007
10504
  #
10008
- # For more information about volume definition parameters and
10009
- # defaults, see [Amazon ECS Task Definitions][1] in the *Amazon
10010
- # Elastic Container Service Developer Guide*.
10505
+ # </note>
10011
10506
  #
10012
10507
  #
10013
10508
  #
10014
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html
10509
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html
10015
10510
  # @return [Array<Types::Volume>]
10016
10511
  #
10017
10512
  # @!attribute [rw] status
@@ -10019,20 +10514,37 @@ module Aws::ECS
10019
10514
  # @return [String]
10020
10515
  #
10021
10516
  # @!attribute [rw] requires_attributes
10022
- # The container instance attributes required by your task. This field
10023
- # is not valid if you are using the Fargate launch type for your task.
10517
+ # The container instance attributes required by your task. When an
10518
+ # Amazon EC2 instance is registered to your cluster, the Amazon ECS
10519
+ # container agent assigns some standard attributes to the instance.
10520
+ # You can apply custom attributes, specified as key-value pairs using
10521
+ # the Amazon ECS console or the PutAttributes API. These attributes
10522
+ # are used when considering task placement for tasks hosted on Amazon
10523
+ # EC2 instances. For more information, see [Attributes][1] in the
10524
+ # *Amazon Elastic Container Service Developer Guide*.
10525
+ #
10526
+ # <note markdown="1"> This parameter is not supported for tasks run on AWS Fargate.
10527
+ #
10528
+ # </note>
10529
+ #
10530
+ #
10531
+ #
10532
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes
10024
10533
  # @return [Array<Types::Attribute>]
10025
10534
  #
10026
10535
  # @!attribute [rw] placement_constraints
10027
- # An array of placement constraint objects to use for tasks. This
10028
- # field is not valid if you are using the Fargate launch type for your
10029
- # task.
10536
+ # An array of placement constraint objects to use for tasks.
10537
+ #
10538
+ # <note markdown="1"> This parameter is not supported for tasks run on AWS Fargate.
10539
+ #
10540
+ # </note>
10030
10541
  # @return [Array<Types::TaskDefinitionPlacementConstraint>]
10031
10542
  #
10032
10543
  # @!attribute [rw] compatibilities
10033
- # The launch type to use with your task. For more information, see
10034
- # [Amazon ECS Launch Types][1] in the *Amazon Elastic Container
10035
- # Service Developer Guide*.
10544
+ # The task launch types the task definition validated against during
10545
+ # task definition registration. For more information, see [Amazon ECS
10546
+ # launch types][1] in the *Amazon Elastic Container Service Developer
10547
+ # Guide*.
10036
10548
  #
10037
10549
  #
10038
10550
  #
@@ -10040,8 +10552,9 @@ module Aws::ECS
10040
10552
  # @return [Array<String>]
10041
10553
  #
10042
10554
  # @!attribute [rw] requires_compatibilities
10043
- # The launch type the task requires. If no value is specified, it will
10044
- # default to `EC2`. Valid values include `EC2` and `FARGATE`.
10555
+ # The task launch types the task definition was validated against. To
10556
+ # determine which task launch types the task definition is validated
10557
+ # for, see the TaskDefinition$compatibilities parameter.
10045
10558
  # @return [Array<String>]
10046
10559
  #
10047
10560
  # @!attribute [rw] cpu
@@ -10071,16 +10584,16 @@ module Aws::ECS
10071
10584
  # @!attribute [rw] memory
10072
10585
  # The amount (in MiB) of memory used by the task.
10073
10586
  #
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].
10587
+ # If your tasks will be run on Amazon EC2 instances, you must specify
10588
+ # either a task-level memory value or a container-level memory value.
10589
+ # This field is optional and any value can be used. If a task-level
10590
+ # memory value is specified then the container-level memory value is
10591
+ # optional. For more information regarding container-level memory and
10592
+ # memory reservation, see [ContainerDefinition][1].
10080
10593
  #
10081
- # If using the Fargate launch type, this field is required and you
10082
- # must use one of the following values, which determines your range of
10083
- # valid values for the `cpu` parameter:
10594
+ # If your tasks will be run on AWS Fargate, this field is required and
10595
+ # you must use one of the following values, which determines your
10596
+ # range of valid values for the `cpu` parameter:
10084
10597
  #
10085
10598
  # * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available `cpu` values:
10086
10599
  # 256 (.25 vCPU)
@@ -10120,8 +10633,8 @@ module Aws::ECS
10120
10633
  # risk of undesired process namespace expose. For more information,
10121
10634
  # see [Docker security][2].
10122
10635
  #
10123
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
10124
- # using the Fargate launch type.
10636
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
10637
+ # on AWS Fargate.
10125
10638
  #
10126
10639
  # </note>
10127
10640
  #
@@ -10161,8 +10674,8 @@ module Aws::ECS
10161
10674
  # * For tasks that use the `task` IPC mode, IPC namespace related
10162
10675
  # `systemControls` will apply to all containers within a task.
10163
10676
  #
10164
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
10165
- # using the Fargate launch type.
10677
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
10678
+ # on AWS Fargate.
10166
10679
  #
10167
10680
  # </note>
10168
10681
  #
@@ -10202,6 +10715,11 @@ module Aws::ECS
10202
10715
  # The principal that registered the task definition.
10203
10716
  # @return [String]
10204
10717
  #
10718
+ # @!attribute [rw] ephemeral_storage
10719
+ # The ephemeral storage settings to use for tasks run with the task
10720
+ # definition.
10721
+ # @return [Types::EphemeralStorage]
10722
+ #
10205
10723
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskDefinition AWS API Documentation
10206
10724
  #
10207
10725
  class TaskDefinition < Struct.new(
@@ -10226,17 +10744,18 @@ module Aws::ECS
10226
10744
  :proxy_configuration,
10227
10745
  :registered_at,
10228
10746
  :deregistered_at,
10229
- :registered_by)
10747
+ :registered_by,
10748
+ :ephemeral_storage)
10230
10749
  SENSITIVE = []
10231
10750
  include Aws::Structure
10232
10751
  end
10233
10752
 
10234
10753
  # An object representing a constraint on task placement in the task
10235
- # definition. For more information, see [Task Placement Constraints][1]
10754
+ # definition. For more information, see [Task placement constraints][1]
10236
10755
  # in the *Amazon Elastic Container Service Developer Guide*.
10237
10756
  #
10238
- # <note markdown="1"> If you are using the Fargate launch type, task placement constraints
10239
- # are not supported.
10757
+ # <note markdown="1"> Task placement constraints are not supported for tasks run on AWS
10758
+ # Fargate.
10240
10759
  #
10241
10760
  # </note>
10242
10761
  #
@@ -10259,7 +10778,7 @@ module Aws::ECS
10259
10778
  #
10260
10779
  # @!attribute [rw] expression
10261
10780
  # A cluster query language expression to apply to the constraint. For
10262
- # more information, see [Cluster Query Language][1] in the *Amazon
10781
+ # more information, see [Cluster query language][1] in the *Amazon
10263
10782
  # Elastic Container Service Developer Guide*.
10264
10783
  #
10265
10784
  #
@@ -10319,6 +10838,9 @@ module Aws::ECS
10319
10838
  # execution_role_arn: "String",
10320
10839
  # memory: "String",
10321
10840
  # task_role_arn: "String",
10841
+ # ephemeral_storage: {
10842
+ # size_in_gi_b: 1, # required
10843
+ # },
10322
10844
  # }
10323
10845
  #
10324
10846
  # @!attribute [rw] container_overrides
@@ -10348,6 +10870,15 @@ module Aws::ECS
10348
10870
  # permissions that are specified in this role.
10349
10871
  # @return [String]
10350
10872
  #
10873
+ # @!attribute [rw] ephemeral_storage
10874
+ # The ephemeral storage setting override for the task.
10875
+ #
10876
+ # <note markdown="1"> This parameter is only supported for tasks hosted on AWS Fargate
10877
+ # using platform version `1.4.0` or later.
10878
+ #
10879
+ # </note>
10880
+ # @return [Types::EphemeralStorage]
10881
+ #
10351
10882
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskOverride AWS API Documentation
10352
10883
  #
10353
10884
  class TaskOverride < Struct.new(
@@ -10356,7 +10887,8 @@ module Aws::ECS
10356
10887
  :inference_accelerator_overrides,
10357
10888
  :execution_role_arn,
10358
10889
  :memory,
10359
- :task_role_arn)
10890
+ :task_role_arn,
10891
+ :ephemeral_storage)
10360
10892
  SENSITIVE = []
10361
10893
  include Aws::Structure
10362
10894
  end
@@ -10456,7 +10988,7 @@ module Aws::ECS
10456
10988
  #
10457
10989
  # @!attribute [rw] launch_type
10458
10990
  # The launch type the tasks in the task set are using. For more
10459
- # information, see [Amazon ECS Launch Types][1] in the *Amazon Elastic
10991
+ # information, see [Amazon ECS launch types][1] in the *Amazon Elastic
10460
10992
  # Container Service Developer Guide*.
10461
10993
  #
10462
10994
  #
@@ -10469,11 +11001,10 @@ module Aws::ECS
10469
11001
  # @return [Array<Types::CapacityProviderStrategyItem>]
10470
11002
  #
10471
11003
  # @!attribute [rw] platform_version
10472
- # The platform version on which the tasks in the task set are running.
10473
- # A platform version is only specified for tasks using the Fargate
10474
- # launch type. If one is not specified, the `LATEST` platform version
10475
- # is used by default. For more information, see [AWS Fargate Platform
10476
- # Versions][1] in the *Amazon Elastic Container Service Developer
11004
+ # The AWS Fargate platform version on which the tasks in the task set
11005
+ # are running. A platform version is only specified for tasks run on
11006
+ # AWS Fargate. For more information, see [AWS Fargate platform
11007
+ # versions][1] in the *Amazon Elastic Container Service Developer
10477
11008
  # Guide*.
10478
11009
  #
10479
11010
  #
@@ -10491,7 +11022,7 @@ module Aws::ECS
10491
11022
  #
10492
11023
  # @!attribute [rw] service_registries
10493
11024
  # The details of the service discovery registries to assign to this
10494
- # task set. For more information, see [Service Discovery][1].
11025
+ # task set. For more information, see [Service discovery][1].
10495
11026
  #
10496
11027
  #
10497
11028
  #
@@ -10639,6 +11170,13 @@ module Aws::ECS
10639
11170
 
10640
11171
  # The `ulimit` settings to pass to the container.
10641
11172
  #
11173
+ # Amazon ECS tasks hosted on Fargate use the default resource limit
11174
+ # values set by the operating system with the exception of the `nofile`
11175
+ # resource limit parameter which Fargate overrides. The `nofile`
11176
+ # resource limit sets a restriction on the number of open files that a
11177
+ # container can use. The default `nofile` soft limit is `1024` and hard
11178
+ # limit is `4096`.
11179
+ #
10642
11180
  # @note When making an API call, you may pass Ulimit
10643
11181
  # data as a hash:
10644
11182
  #
@@ -10744,7 +11282,7 @@ module Aws::ECS
10744
11282
  end
10745
11283
 
10746
11284
  # @!attribute [rw] capacity_provider
10747
- # The details of a capacity provider.
11285
+ # Details about the capacity provider.
10748
11286
  # @return [Types::CapacityProvider]
10749
11287
  #
10750
11288
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCapacityProviderResponse AWS API Documentation
@@ -10755,6 +11293,66 @@ module Aws::ECS
10755
11293
  include Aws::Structure
10756
11294
  end
10757
11295
 
11296
+ # @note When making an API call, you may pass UpdateClusterRequest
11297
+ # data as a hash:
11298
+ #
11299
+ # {
11300
+ # cluster: "String", # required
11301
+ # settings: [
11302
+ # {
11303
+ # name: "containerInsights", # accepts containerInsights
11304
+ # value: "String",
11305
+ # },
11306
+ # ],
11307
+ # configuration: {
11308
+ # execute_command_configuration: {
11309
+ # kms_key_id: "String",
11310
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
11311
+ # log_configuration: {
11312
+ # cloud_watch_log_group_name: "String",
11313
+ # cloud_watch_encryption_enabled: false,
11314
+ # s3_bucket_name: "String",
11315
+ # s3_encryption_enabled: false,
11316
+ # s3_key_prefix: "String",
11317
+ # },
11318
+ # },
11319
+ # },
11320
+ # }
11321
+ #
11322
+ # @!attribute [rw] cluster
11323
+ # The name of the cluster to modify the settings for.
11324
+ # @return [String]
11325
+ #
11326
+ # @!attribute [rw] settings
11327
+ # The cluster settings for your cluster.
11328
+ # @return [Array<Types::ClusterSetting>]
11329
+ #
11330
+ # @!attribute [rw] configuration
11331
+ # The execute command configuration for the cluster.
11332
+ # @return [Types::ClusterConfiguration]
11333
+ #
11334
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterRequest AWS API Documentation
11335
+ #
11336
+ class UpdateClusterRequest < Struct.new(
11337
+ :cluster,
11338
+ :settings,
11339
+ :configuration)
11340
+ SENSITIVE = []
11341
+ include Aws::Structure
11342
+ end
11343
+
11344
+ # @!attribute [rw] cluster
11345
+ # Details about the cluster.
11346
+ # @return [Types::Cluster]
11347
+ #
11348
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterResponse AWS API Documentation
11349
+ #
11350
+ class UpdateClusterResponse < Struct.new(
11351
+ :cluster)
11352
+ SENSITIVE = []
11353
+ include Aws::Structure
11354
+ end
11355
+
10758
11356
  # @note When making an API call, you may pass UpdateClusterSettingsRequest
10759
11357
  # data as a hash:
10760
11358
  #
@@ -10789,11 +11387,7 @@ module Aws::ECS
10789
11387
  end
10790
11388
 
10791
11389
  # @!attribute [rw] cluster
10792
- # A regional grouping of one or more container instances on which you
10793
- # can run task requests. Each account receives a default cluster the
10794
- # first time you use the Amazon ECS service, but you may also create
10795
- # other clusters. Clusters may contain more than one instance type
10796
- # simultaneously.
11390
+ # Details about the cluster
10797
11391
  # @return [Types::Cluster]
10798
11392
  #
10799
11393
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettingsResponse AWS API Documentation
@@ -10947,10 +11541,7 @@ module Aws::ECS
10947
11541
  end
10948
11542
 
10949
11543
  # @!attribute [rw] task_set
10950
- # Information about a set of Amazon ECS tasks in either an AWS
10951
- # CodeDeploy or an `EXTERNAL` deployment. An Amazon ECS task set
10952
- # includes details such as the desired number of tasks, how many tasks
10953
- # are running, and whether the task set serves production traffic.
11544
+ # Details about the task set.
10954
11545
  # @return [Types::TaskSet]
10955
11546
  #
10956
11547
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSetResponse AWS API Documentation
@@ -11006,6 +11597,7 @@ module Aws::ECS
11006
11597
  # platform_version: "String",
11007
11598
  # force_new_deployment: false,
11008
11599
  # health_check_grace_period_seconds: 1,
11600
+ # enable_execute_command: false,
11009
11601
  # }
11010
11602
  #
11011
11603
  # @!attribute [rw] cluster
@@ -11071,8 +11663,7 @@ module Aws::ECS
11071
11663
  # @return [Types::DeploymentConfiguration]
11072
11664
  #
11073
11665
  # @!attribute [rw] network_configuration
11074
- # An object representing the network configuration for a task or
11075
- # service.
11666
+ # An object representing the network configuration for the service.
11076
11667
  # @return [Types::NetworkConfiguration]
11077
11668
  #
11078
11669
  # @!attribute [rw] placement_constraints
@@ -11134,6 +11725,15 @@ module Aws::ECS
11134
11725
  # to come up.
11135
11726
  # @return [Integer]
11136
11727
  #
11728
+ # @!attribute [rw] enable_execute_command
11729
+ # If `true`, this enables execute command functionality on all task
11730
+ # containers.
11731
+ #
11732
+ # If you do not want to override the value that was set when the
11733
+ # service was created, you can set this to `null` when performing this
11734
+ # action.
11735
+ # @return [Boolean]
11736
+ #
11137
11737
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServiceRequest AWS API Documentation
11138
11738
  #
11139
11739
  class UpdateServiceRequest < Struct.new(
@@ -11148,7 +11748,8 @@ module Aws::ECS
11148
11748
  :placement_strategy,
11149
11749
  :platform_version,
11150
11750
  :force_new_deployment,
11151
- :health_check_grace_period_seconds)
11751
+ :health_check_grace_period_seconds,
11752
+ :enable_execute_command)
11152
11753
  SENSITIVE = []
11153
11754
  include Aws::Structure
11154
11755
  end
@@ -11210,10 +11811,7 @@ module Aws::ECS
11210
11811
  end
11211
11812
 
11212
11813
  # @!attribute [rw] task_set
11213
- # Information about a set of Amazon ECS tasks in either an AWS
11214
- # CodeDeploy or an `EXTERNAL` deployment. An Amazon ECS task set
11215
- # includes details such as the desired number of tasks, how many tasks
11216
- # are running, and whether the task set serves production traffic.
11814
+ # Details about the task set.
11217
11815
  # @return [Types::TaskSet]
11218
11816
  #
11219
11817
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSetResponse AWS API Documentation
@@ -11317,8 +11915,9 @@ module Aws::ECS
11317
11915
  #
11318
11916
  # @!attribute [rw] name
11319
11917
  # The name of the volume. Up to 255 letters (uppercase and lowercase),
11320
- # numbers, and hyphens are allowed. This name is referenced in the
11321
- # `sourceVolume` parameter of container definition `mountPoints`.
11918
+ # numbers, underscores, and hyphens are allowed. This name is
11919
+ # referenced in the `sourceVolume` parameter of container definition
11920
+ # `mountPoints`.
11322
11921
  # @return [String]
11323
11922
  #
11324
11923
  # @!attribute [rw] host
@@ -11339,9 +11938,13 @@ module Aws::ECS
11339
11938
  #
11340
11939
  # @!attribute [rw] docker_volume_configuration
11341
11940
  # This parameter is specified when you are using Docker volumes.
11342
- # Docker volumes are only supported when you are using the EC2 launch
11343
- # type. Windows containers only support the use of the `local` driver.
11344
- # To use bind mounts, specify the `host` parameter instead.
11941
+ #
11942
+ # Windows containers only support the use of the `local` driver. To
11943
+ # use bind mounts, specify the `host` parameter instead.
11944
+ #
11945
+ # <note markdown="1"> Docker volumes are not supported by tasks run on AWS Fargate.
11946
+ #
11947
+ # </note>
11345
11948
  # @return [Types::DockerVolumeConfiguration]
11346
11949
  #
11347
11950
  # @!attribute [rw] efs_volume_configuration