aws-sdk-ecs 1.74.0 → 1.79.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -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