aws-sdk-ecs 1.75.0 → 1.80.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.
@@ -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
 
@@ -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
@@ -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
  #
@@ -2003,7 +2061,9 @@ module Aws::ECS
2003
2061
  # @return [String]
2004
2062
  #
2005
2063
  # @!attribute [rw] ec2_instance_id
2006
- # The EC2 instance ID of the container instance.
2064
+ # The ID of the container instance. For Amazon EC2 instances, this
2065
+ # value is the Amazon EC2 instance ID. For external instances, this
2066
+ # value is the AWS Systems Manager managed instance ID.
2007
2067
  # @return [String]
2008
2068
  #
2009
2069
  # @!attribute [rw] capacity_provider_name
@@ -2441,6 +2501,19 @@ module Aws::ECS
2441
2501
  # value: "String",
2442
2502
  # },
2443
2503
  # ],
2504
+ # configuration: {
2505
+ # execute_command_configuration: {
2506
+ # kms_key_id: "String",
2507
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
2508
+ # log_configuration: {
2509
+ # cloud_watch_log_group_name: "String",
2510
+ # cloud_watch_encryption_enabled: false,
2511
+ # s3_bucket_name: "String",
2512
+ # s3_encryption_enabled: false,
2513
+ # s3_key_prefix: "String",
2514
+ # },
2515
+ # },
2516
+ # },
2444
2517
  # capacity_providers: ["String"],
2445
2518
  # default_capacity_provider_strategy: [
2446
2519
  # {
@@ -2454,7 +2527,8 @@ module Aws::ECS
2454
2527
  # @!attribute [rw] cluster_name
2455
2528
  # The name of your cluster. If you do not specify a name for your
2456
2529
  # cluster, you create a cluster named `default`. Up to 255 letters
2457
- # (uppercase and lowercase), numbers, and hyphens are allowed.
2530
+ # (uppercase and lowercase), numbers, underscores, and hyphens are
2531
+ # allowed.
2458
2532
  # @return [String]
2459
2533
  #
2460
2534
  # @!attribute [rw] tags
@@ -2495,14 +2569,22 @@ module Aws::ECS
2495
2569
  # with PutAccountSetting or PutAccountSettingDefault.
2496
2570
  # @return [Array<Types::ClusterSetting>]
2497
2571
  #
2572
+ # @!attribute [rw] configuration
2573
+ # The execute command configuration for the cluster.
2574
+ # @return [Types::ClusterConfiguration]
2575
+ #
2498
2576
  # @!attribute [rw] capacity_providers
2499
2577
  # The short name of one or more capacity providers to associate with
2500
- # the cluster.
2578
+ # the cluster. A capacity provider must be associated with a cluster
2579
+ # before it can be included as part of the default capacity provider
2580
+ # strategy of the cluster or used in a capacity provider strategy when
2581
+ # calling the CreateService or RunTask actions.
2501
2582
  #
2502
2583
  # If specifying a capacity provider that uses an Auto Scaling group,
2503
2584
  # 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.
2585
+ # associated with another cluster. New Auto Scaling group capacity
2586
+ # providers can be created with the CreateCapacityProvider API
2587
+ # operation.
2506
2588
  #
2507
2589
  # To use a AWS Fargate capacity provider, specify either the `FARGATE`
2508
2590
  # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
@@ -2515,29 +2597,12 @@ module Aws::ECS
2515
2597
  # @return [Array<String>]
2516
2598
  #
2517
2599
  # @!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
2600
+ # The capacity provider strategy to set as the default for the
2601
+ # cluster. When a default capacity provider strategy is set for a
2602
+ # cluster, when calling the RunTask or CreateService APIs wtih no
2603
+ # capacity provider strategy or launch type specified, the default
2522
2604
  # capacity provider strategy for the cluster is used.
2523
2605
  #
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
2606
  # If a default capacity provider strategy is not defined for a cluster
2542
2607
  # during creation, it can be defined later with the
2543
2608
  # PutClusterCapacityProviders API operation.
@@ -2549,6 +2614,7 @@ module Aws::ECS
2549
2614
  :cluster_name,
2550
2615
  :tags,
2551
2616
  :settings,
2617
+ :configuration,
2552
2618
  :capacity_providers,
2553
2619
  :default_capacity_provider_strategy)
2554
2620
  SENSITIVE = []
@@ -2592,7 +2658,7 @@ module Aws::ECS
2592
2658
  # ],
2593
2659
  # desired_count: 1,
2594
2660
  # client_token: "String",
2595
- # launch_type: "EC2", # accepts EC2, FARGATE
2661
+ # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
2596
2662
  # capacity_provider_strategy: [
2597
2663
  # {
2598
2664
  # capacity_provider: "String", # required
@@ -2642,6 +2708,7 @@ module Aws::ECS
2642
2708
  # ],
2643
2709
  # enable_ecs_managed_tags: false,
2644
2710
  # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
2711
+ # enable_execute_command: false,
2645
2712
  # }
2646
2713
  #
2647
2714
  # @!attribute [rw] cluster
@@ -2652,9 +2719,10 @@ module Aws::ECS
2652
2719
  #
2653
2720
  # @!attribute [rw] service_name
2654
2721
  # 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.
2722
+ # lowercase), numbers, underscores, and hyphens are allowed. Service
2723
+ # names must be unique within a cluster, but you can have similarly
2724
+ # named services in multiple clusters within a Region or across
2725
+ # multiple Regions.
2658
2726
  # @return [String]
2659
2727
  #
2660
2728
  # @!attribute [rw] task_definition
@@ -2676,7 +2744,7 @@ module Aws::ECS
2676
2744
  # Load Balancer, you must specify one or more target group ARNs to
2677
2745
  # attach to the service. The service-linked role is required for
2678
2746
  # services that make use of multiple target groups. For more
2679
- # information, see [Using Service-Linked Roles for Amazon ECS][2] in
2747
+ # information, see [Using service-linked roles for Amazon ECS][2] in
2680
2748
  # the *Amazon Elastic Container Service Developer Guide*.
2681
2749
  #
2682
2750
  # If the service is using the `CODE_DEPLOY` deployment controller, the
@@ -2729,19 +2797,17 @@ module Aws::ECS
2729
2797
  # @return [Array<Types::LoadBalancer>]
2730
2798
  #
2731
2799
  # @!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].
2800
+ # The details of the service discovery registry to associate with this
2801
+ # service. For more information, see [Service discovery][1].
2734
2802
  #
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].
2803
+ # <note markdown="1"> Each service may be associated with one service registry. Multiple
2804
+ # service registries per service isn't supported.
2738
2805
  #
2739
2806
  # </note>
2740
2807
  #
2741
2808
  #
2742
2809
  #
2743
2810
  # [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
2811
  # @return [Array<Types::ServiceRegistry>]
2746
2812
  #
2747
2813
  # @!attribute [rw] desired_count
@@ -2759,54 +2825,51 @@ module Aws::ECS
2759
2825
  # @return [String]
2760
2826
  #
2761
2827
  # @!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*.
2828
+ # The infrastructure on which to run your service. For more
2829
+ # information, see [Amazon ECS launch types][1] in the *Amazon Elastic
2830
+ # Container Service Developer Guide*.
2765
2831
  #
2766
- # If a `launchType` is specified, the `capacityProviderStrategy`
2767
- # parameter must be omitted.
2832
+ # The `FARGATE` launch type runs your tasks on AWS Fargate On-Demand
2833
+ # infrastructure.
2834
+ #
2835
+ # <note markdown="1"> Fargate Spot infrastructure is available for use but a capacity
2836
+ # provider strategy must be used. For more information, see [AWS
2837
+ # Fargate capacity providers][2] in the *Amazon ECS User Guide for AWS
2838
+ # Fargate*.
2839
+ #
2840
+ # </note>
2841
+ #
2842
+ # The `EC2` launch type runs your tasks on Amazon EC2 instances
2843
+ # registered to your cluster.
2844
+ #
2845
+ # The `EXTERNAL` launch type runs your tasks on your on-premise server
2846
+ # or virtual machine (VM) capacity registered to your cluster.
2847
+ #
2848
+ # A service can use either a launch type or a capacity provider
2849
+ # strategy. If a `launchType` is specified, the
2850
+ # `capacityProviderStrategy` parameter must be omitted.
2768
2851
  #
2769
2852
  #
2770
2853
  #
2771
2854
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
2855
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/userguide/fargate-capacity-providers.html
2772
2856
  # @return [String]
2773
2857
  #
2774
2858
  # @!attribute [rw] capacity_provider_strategy
2775
2859
  # The capacity provider strategy to use for the service.
2776
2860
  #
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
2861
  # If a `capacityProviderStrategy` is specified, the `launchType`
2785
2862
  # parameter must be omitted. If no `capacityProviderStrategy` or
2786
2863
  # `launchType` is specified, the `defaultCapacityProviderStrategy` for
2787
2864
  # 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
2865
  # @return [Array<Types::CapacityProviderStrategyItem>]
2803
2866
  #
2804
2867
  # @!attribute [rw] platform_version
2805
2868
  # The platform version that your tasks in the service are running on.
2806
2869
  # A platform version is specified only for tasks using the Fargate
2807
2870
  # 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
2871
+ # is used by default. For more information, see [AWS Fargate platform
2872
+ # versions][1] in the *Amazon Elastic Container Service Developer
2810
2873
  # Guide*.
2811
2874
  #
2812
2875
  #
@@ -2830,14 +2893,14 @@ module Aws::ECS
2830
2893
  # configured to use service discovery, an external deployment
2831
2894
  # controller, multiple target groups, or Elastic Inference
2832
2895
  # accelerators in which case you should not specify a role here. For
2833
- # more information, see [Using Service-Linked Roles for Amazon ECS][1]
2896
+ # more information, see [Using service-linked roles for Amazon ECS][1]
2834
2897
  # in the *Amazon Elastic Container Service Developer Guide*.
2835
2898
  #
2836
2899
  # If your specified role has a path other than `/`, then you must
2837
2900
  # either specify the full role ARN (this is recommended) or prefix the
2838
2901
  # role name with the path. For example, if a role with the name `bar`
2839
2902
  # 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
2903
+ # name. For more information, see [Friendly names and paths][2] in the
2841
2904
  # *IAM User Guide*.
2842
2905
  #
2843
2906
  #
@@ -2869,7 +2932,7 @@ module Aws::ECS
2869
2932
  # required for task definitions that use the `awsvpc` network mode to
2870
2933
  # receive their own elastic network interface, and it is not supported
2871
2934
  # for other network modes. For more information, see [Task
2872
- # Networking][1] in the *Amazon Elastic Container Service Developer
2935
+ # networking][1] in the *Amazon Elastic Container Service Developer
2873
2936
  # Guide*.
2874
2937
  #
2875
2938
  #
@@ -2928,7 +2991,8 @@ module Aws::ECS
2928
2991
  # @return [String]
2929
2992
  #
2930
2993
  # @!attribute [rw] deployment_controller
2931
- # The deployment controller to use for the service.
2994
+ # The deployment controller to use for the service. If no deployment
2995
+ # controller is specified, the default value of `ECS` is used.
2932
2996
  # @return [Types::DeploymentController]
2933
2997
  #
2934
2998
  # @!attribute [rw] tags
@@ -2982,6 +3046,12 @@ module Aws::ECS
2982
3046
  # task after service creation, use the TagResource API action.
2983
3047
  # @return [String]
2984
3048
  #
3049
+ # @!attribute [rw] enable_execute_command
3050
+ # Whether or not the execute command functionality is enabled for the
3051
+ # service. If `true`, this enables execute command functionality on
3052
+ # all containers in the service tasks.
3053
+ # @return [Boolean]
3054
+ #
2985
3055
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateServiceRequest AWS API Documentation
2986
3056
  #
2987
3057
  class CreateServiceRequest < Struct.new(
@@ -3005,7 +3075,8 @@ module Aws::ECS
3005
3075
  :deployment_controller,
3006
3076
  :tags,
3007
3077
  :enable_ecs_managed_tags,
3008
- :propagate_tags)
3078
+ :propagate_tags,
3079
+ :enable_execute_command)
3009
3080
  SENSITIVE = []
3010
3081
  include Aws::Structure
3011
3082
  end
@@ -3062,7 +3133,7 @@ module Aws::ECS
3062
3133
  # container_port: 1,
3063
3134
  # },
3064
3135
  # ],
3065
- # launch_type: "EC2", # accepts EC2, FARGATE
3136
+ # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
3066
3137
  # capacity_provider_strategy: [
3067
3138
  # {
3068
3139
  # capacity_provider: "String", # required
@@ -3107,8 +3178,7 @@ module Aws::ECS
3107
3178
  # @return [String]
3108
3179
  #
3109
3180
  # @!attribute [rw] network_configuration
3110
- # An object representing the network configuration for a task or
3111
- # service.
3181
+ # An object representing the network configuration for a task set.
3112
3182
  # @return [Types::NetworkConfiguration]
3113
3183
  #
3114
3184
  # @!attribute [rw] load_balancers
@@ -3240,9 +3310,9 @@ module Aws::ECS
3240
3310
 
3241
3311
  # @!attribute [rw] task_set
3242
3312
  # 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.
3313
+ # CodeDeploy or an `EXTERNAL` deployment. A task set includes details
3314
+ # such as the desired number of tasks, how many tasks are running, and
3315
+ # whether the task set serves production traffic.
3246
3316
  # @return [Types::TaskSet]
3247
3317
  #
3248
3318
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSetResponse AWS API Documentation
@@ -3374,7 +3444,7 @@ module Aws::ECS
3374
3444
  end
3375
3445
 
3376
3446
  # @!attribute [rw] capacity_provider
3377
- # The details of a capacity provider.
3447
+ # The details of the capacity provider.
3378
3448
  # @return [Types::CapacityProvider]
3379
3449
  #
3380
3450
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCapacityProviderResponse AWS API Documentation
@@ -3506,10 +3576,7 @@ module Aws::ECS
3506
3576
  end
3507
3577
 
3508
3578
  # @!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.
3579
+ # Details about the task set.
3513
3580
  # @return [Types::TaskSet]
3514
3581
  #
3515
3582
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSetResponse AWS API Documentation
@@ -4035,7 +4102,7 @@ module Aws::ECS
4035
4102
  #
4036
4103
  # {
4037
4104
  # clusters: ["String"],
4038
- # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, SETTINGS, STATISTICS, TAGS
4105
+ # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, CONFIGURATIONS, SETTINGS, STATISTICS, TAGS
4039
4106
  # }
4040
4107
  #
4041
4108
  # @!attribute [rw] clusters
@@ -4045,9 +4112,9 @@ module Aws::ECS
4045
4112
  # @return [Array<String>]
4046
4113
  #
4047
4114
  # @!attribute [rw] include
4048
- # Whether to include additional information about your clusters in the
4049
- # response. If this field is omitted, the attachments, statistics, and
4050
- # tags are not included.
4115
+ # Whether to include additional information about the clusters in the
4116
+ # response. If this field is omitted, this information isn't
4117
+ # included.
4051
4118
  #
4052
4119
  # If `ATTACHMENTS` is specified, the attachments for the container
4053
4120
  # instances or tasks within the cluster are included.
@@ -4055,24 +4122,8 @@ module Aws::ECS
4055
4122
  # If `SETTINGS` is specified, the settings for the cluster are
4056
4123
  # included.
4057
4124
  #
4058
- # If `STATISTICS` is specified, the following additional information,
4059
- # separated by launch type, is included:
4060
- #
4061
- # * runningEC2TasksCount
4062
- #
4063
- # * runningFargateTasksCount
4064
- #
4065
- # * pendingEC2TasksCount
4066
- #
4067
- # * pendingFargateTasksCount
4068
- #
4069
- # * activeEC2ServiceCount
4070
- #
4071
- # * activeFargateServiceCount
4072
- #
4073
- # * drainingEC2ServiceCount
4074
- #
4075
- # * drainingFargateServiceCount
4125
+ # If `STATISTICS` is specified, the task and service count is
4126
+ # included, separated by launch type.
4076
4127
  #
4077
4128
  # If `TAGS` is specified, the metadata tags associated with the
4078
4129
  # cluster are included.
@@ -4720,12 +4771,12 @@ module Aws::ECS
4720
4771
  # variables contained within an environment file. If multiple
4721
4772
  # environment files are specified that contain the same variable, they
4722
4773
  # 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
4774
+ # variable names. For more information, see [Specifying environment
4775
+ # variables][2] in the *Amazon Elastic Container Service Developer
4725
4776
  # Guide*.
4726
4777
  #
4727
- # This field is not valid for containers in tasks using the Fargate
4728
- # launch type.
4778
+ # This field is only valid for containers in Fargate tasks that use
4779
+ # platform version `1.4.0` or later.
4729
4780
  #
4730
4781
  #
4731
4782
  #
@@ -4758,6 +4809,241 @@ module Aws::ECS
4758
4809
  include Aws::Structure
4759
4810
  end
4760
4811
 
4812
+ # The amount of ephemeral storage to allocate for the task. This
4813
+ # parameter is used to expand the total amount of ephemeral storage
4814
+ # available, beyond the default amount, for tasks hosted on AWS Fargate.
4815
+ # For more information, see [Fargate task storage][1] in the *Amazon ECS
4816
+ # User Guide for AWS Fargate*.
4817
+ #
4818
+ # <note markdown="1"> This parameter is only supported for tasks hosted on AWS Fargate using
4819
+ # platform version `1.4.0` or later.
4820
+ #
4821
+ # </note>
4822
+ #
4823
+ #
4824
+ #
4825
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html
4826
+ #
4827
+ # @note When making an API call, you may pass EphemeralStorage
4828
+ # data as a hash:
4829
+ #
4830
+ # {
4831
+ # size_in_gi_b: 1, # required
4832
+ # }
4833
+ #
4834
+ # @!attribute [rw] size_in_gi_b
4835
+ # The total amount, in GiB, of ephemeral storage to set for the task.
4836
+ # The minimum supported value is `21` GiB and the maximum supported
4837
+ # value is `200` GiB.
4838
+ # @return [Integer]
4839
+ #
4840
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/EphemeralStorage AWS API Documentation
4841
+ #
4842
+ class EphemeralStorage < Struct.new(
4843
+ :size_in_gi_b)
4844
+ SENSITIVE = []
4845
+ include Aws::Structure
4846
+ end
4847
+
4848
+ # The details of the execute command configuration.
4849
+ #
4850
+ # @note When making an API call, you may pass ExecuteCommandConfiguration
4851
+ # data as a hash:
4852
+ #
4853
+ # {
4854
+ # kms_key_id: "String",
4855
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
4856
+ # log_configuration: {
4857
+ # cloud_watch_log_group_name: "String",
4858
+ # cloud_watch_encryption_enabled: false,
4859
+ # s3_bucket_name: "String",
4860
+ # s3_encryption_enabled: false,
4861
+ # s3_key_prefix: "String",
4862
+ # },
4863
+ # }
4864
+ #
4865
+ # @!attribute [rw] kms_key_id
4866
+ # Specify an AWS Key Management Service key ID to encrypt the data
4867
+ # between the local client and the container.
4868
+ # @return [String]
4869
+ #
4870
+ # @!attribute [rw] logging
4871
+ # The log setting to use for redirecting logs for your execute command
4872
+ # results. The following log settings are available.
4873
+ #
4874
+ # * `NONE`\: The execute command session is not logged.
4875
+ #
4876
+ # * `DEFAULT`\: The `awslogs` configuration in the task definition is
4877
+ # used. If no logging parameter is specified, it defaults to this
4878
+ # value. If no `awslogs` log driver is configured in the task
4879
+ # definition, the output won't be logged.
4880
+ #
4881
+ # * `OVERRIDE`\: Specify the logging details as a part of
4882
+ # `logConfiguration`. If the `OVERRIDE` logging option is specified,
4883
+ # the `logConfiguration` is required.
4884
+ # @return [String]
4885
+ #
4886
+ # @!attribute [rw] log_configuration
4887
+ # The log configuration for the results of the execute command
4888
+ # actions. The logs can be sent to CloudWatch Logs or an Amazon S3
4889
+ # bucket. When `logging=OVERRIDE` is specified, a `logConfiguration`
4890
+ # must be provided.
4891
+ # @return [Types::ExecuteCommandLogConfiguration]
4892
+ #
4893
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommandConfiguration AWS API Documentation
4894
+ #
4895
+ class ExecuteCommandConfiguration < Struct.new(
4896
+ :kms_key_id,
4897
+ :logging,
4898
+ :log_configuration)
4899
+ SENSITIVE = []
4900
+ include Aws::Structure
4901
+ end
4902
+
4903
+ # The log configuration for the results of the execute command actions.
4904
+ # The logs can be sent to CloudWatch Logs or an Amazon S3 bucket.
4905
+ #
4906
+ # @note When making an API call, you may pass ExecuteCommandLogConfiguration
4907
+ # data as a hash:
4908
+ #
4909
+ # {
4910
+ # cloud_watch_log_group_name: "String",
4911
+ # cloud_watch_encryption_enabled: false,
4912
+ # s3_bucket_name: "String",
4913
+ # s3_encryption_enabled: false,
4914
+ # s3_key_prefix: "String",
4915
+ # }
4916
+ #
4917
+ # @!attribute [rw] cloud_watch_log_group_name
4918
+ # The name of the CloudWatch log group to send logs to.
4919
+ #
4920
+ # <note markdown="1"> The CloudWatch log group must already be created.
4921
+ #
4922
+ # </note>
4923
+ # @return [String]
4924
+ #
4925
+ # @!attribute [rw] cloud_watch_encryption_enabled
4926
+ # Whether or not to enable encryption on the CloudWatch logs. If not
4927
+ # specified, encryption will be disabled.
4928
+ # @return [Boolean]
4929
+ #
4930
+ # @!attribute [rw] s3_bucket_name
4931
+ # The name of the S3 bucket to send logs to.
4932
+ #
4933
+ # <note markdown="1"> The S3 bucket must already be created.
4934
+ #
4935
+ # </note>
4936
+ # @return [String]
4937
+ #
4938
+ # @!attribute [rw] s3_encryption_enabled
4939
+ # Whether or not to enable encryption on the CloudWatch logs. If not
4940
+ # specified, encryption will be disabled.
4941
+ # @return [Boolean]
4942
+ #
4943
+ # @!attribute [rw] s3_key_prefix
4944
+ # An optional folder in the S3 bucket to place logs in.
4945
+ # @return [String]
4946
+ #
4947
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommandLogConfiguration AWS API Documentation
4948
+ #
4949
+ class ExecuteCommandLogConfiguration < Struct.new(
4950
+ :cloud_watch_log_group_name,
4951
+ :cloud_watch_encryption_enabled,
4952
+ :s3_bucket_name,
4953
+ :s3_encryption_enabled,
4954
+ :s3_key_prefix)
4955
+ SENSITIVE = []
4956
+ include Aws::Structure
4957
+ end
4958
+
4959
+ # @note When making an API call, you may pass ExecuteCommandRequest
4960
+ # data as a hash:
4961
+ #
4962
+ # {
4963
+ # cluster: "String",
4964
+ # container: "String",
4965
+ # command: "String", # required
4966
+ # interactive: false, # required
4967
+ # task: "String", # required
4968
+ # }
4969
+ #
4970
+ # @!attribute [rw] cluster
4971
+ # The Amazon Resource Name (ARN) or short name of the cluster the task
4972
+ # is running in. If you do not specify a cluster, the default cluster
4973
+ # is assumed.
4974
+ # @return [String]
4975
+ #
4976
+ # @!attribute [rw] container
4977
+ # The name of the container to execute the command on. A container
4978
+ # name only needs to be specified for tasks containing multiple
4979
+ # containers.
4980
+ # @return [String]
4981
+ #
4982
+ # @!attribute [rw] command
4983
+ # The command to run on the container.
4984
+ # @return [String]
4985
+ #
4986
+ # @!attribute [rw] interactive
4987
+ # Use this flag to run your command in interactive mode.
4988
+ # @return [Boolean]
4989
+ #
4990
+ # @!attribute [rw] task
4991
+ # The Amazon Resource Name (ARN) or ID of the task the container is
4992
+ # part of.
4993
+ # @return [String]
4994
+ #
4995
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommandRequest AWS API Documentation
4996
+ #
4997
+ class ExecuteCommandRequest < Struct.new(
4998
+ :cluster,
4999
+ :container,
5000
+ :command,
5001
+ :interactive,
5002
+ :task)
5003
+ SENSITIVE = []
5004
+ include Aws::Structure
5005
+ end
5006
+
5007
+ # @!attribute [rw] cluster_arn
5008
+ # The Amazon Resource Name (ARN) of the cluster.
5009
+ # @return [String]
5010
+ #
5011
+ # @!attribute [rw] container_arn
5012
+ # The Amazon Resource Name (ARN) of the container.
5013
+ # @return [String]
5014
+ #
5015
+ # @!attribute [rw] container_name
5016
+ # The name of the container.
5017
+ # @return [String]
5018
+ #
5019
+ # @!attribute [rw] interactive
5020
+ # Whether or not the execute command session is running in interactive
5021
+ # mode. Amazon ECS only supports initiating interactive sessions, so
5022
+ # you must specify `true` for this value.
5023
+ # @return [Boolean]
5024
+ #
5025
+ # @!attribute [rw] session
5026
+ # The details of the SSM session that was created for this instance of
5027
+ # execute-command.
5028
+ # @return [Types::Session]
5029
+ #
5030
+ # @!attribute [rw] task_arn
5031
+ # The Amazon Resource Name (ARN) of the task.
5032
+ # @return [String]
5033
+ #
5034
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommandResponse AWS API Documentation
5035
+ #
5036
+ class ExecuteCommandResponse < Struct.new(
5037
+ :cluster_arn,
5038
+ :container_arn,
5039
+ :container_name,
5040
+ :interactive,
5041
+ :session,
5042
+ :task_arn)
5043
+ SENSITIVE = []
5044
+ include Aws::Structure
5045
+ end
5046
+
4761
5047
  # The authorization configuration details for Amazon FSx for Windows
4762
5048
  # File Server file system. See
4763
5049
  # [FSxWindowsFileServerVolumeConfiguration][1] in the *Amazon Elastic
@@ -4918,6 +5204,11 @@ module Aws::ECS
4918
5204
  # FireLens Configuration][1] in the *Amazon Elastic Container Service
4919
5205
  # Developer Guide*.
4920
5206
  #
5207
+ # <note markdown="1"> Tasks hosted on AWS Fargate only support the `file` configuration
5208
+ # file type.
5209
+ #
5210
+ # </note>
5211
+ #
4921
5212
  #
4922
5213
  #
4923
5214
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef
@@ -5500,6 +5791,11 @@ module Aws::ECS
5500
5791
  # The ARN of the principal, which can be an IAM user, IAM role, or the
5501
5792
  # root user. If this field is omitted, the account settings are listed
5502
5793
  # only for the authenticated user.
5794
+ #
5795
+ # <note markdown="1"> Federated users assume the account setting of the root user and
5796
+ # can't have explicit account settings set for them.
5797
+ #
5798
+ # </note>
5503
5799
  # @return [String]
5504
5800
  #
5505
5801
  # @!attribute [rw] effective_settings
@@ -5824,14 +6120,14 @@ module Aws::ECS
5824
6120
  # cluster: "String",
5825
6121
  # next_token: "String",
5826
6122
  # max_results: 1,
5827
- # launch_type: "EC2", # accepts EC2, FARGATE
6123
+ # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
5828
6124
  # scheduling_strategy: "REPLICA", # accepts REPLICA, DAEMON
5829
6125
  # }
5830
6126
  #
5831
6127
  # @!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.
6128
+ # The short name or full Amazon Resource Name (ARN) of the cluster to
6129
+ # use when filtering the `ListServices` results. If you do not specify
6130
+ # a cluster, the default cluster is assumed.
5835
6131
  # @return [String]
5836
6132
  #
5837
6133
  # @!attribute [rw] next_token
@@ -5859,11 +6155,12 @@ module Aws::ECS
5859
6155
  # @return [Integer]
5860
6156
  #
5861
6157
  # @!attribute [rw] launch_type
5862
- # The launch type for the services to list.
6158
+ # The launch type to use when filtering the `ListServices` results.
5863
6159
  # @return [String]
5864
6160
  #
5865
6161
  # @!attribute [rw] scheduling_strategy
5866
- # The scheduling strategy for services to list.
6162
+ # The scheduling strategy to use when filtering the `ListServices`
6163
+ # results.
5867
6164
  # @return [String]
5868
6165
  #
5869
6166
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServicesRequest AWS API Documentation
@@ -6129,26 +6426,26 @@ module Aws::ECS
6129
6426
  # started_by: "String",
6130
6427
  # service_name: "String",
6131
6428
  # desired_status: "RUNNING", # accepts RUNNING, PENDING, STOPPED
6132
- # launch_type: "EC2", # accepts EC2, FARGATE
6429
+ # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
6133
6430
  # }
6134
6431
  #
6135
6432
  # @!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.
6433
+ # The short name or full Amazon Resource Name (ARN) of the cluster to
6434
+ # use when filtering the `ListTasks` results. If you do not specify a
6435
+ # cluster, the default cluster is assumed.
6139
6436
  # @return [String]
6140
6437
  #
6141
6438
  # @!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
6439
+ # The container instance ID or full ARN of the container instance to
6440
+ # use when filtering the `ListTasks` results. Specifying a
6144
6441
  # `containerInstance` limits the results to tasks that belong to that
6145
6442
  # container instance.
6146
6443
  # @return [String]
6147
6444
  #
6148
6445
  # @!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.
6446
+ # The name of the task definition family to use when filtering the
6447
+ # `ListTasks` results. Specifying a `family` limits the results to
6448
+ # tasks that belong to that family.
6152
6449
  # @return [String]
6153
6450
  #
6154
6451
  # @!attribute [rw] next_token
@@ -6182,13 +6479,13 @@ module Aws::ECS
6182
6479
  # @return [String]
6183
6480
  #
6184
6481
  # @!attribute [rw] service_name
6185
- # The name of the service with which to filter the `ListTasks`
6482
+ # The name of the service to use when filtering the `ListTasks`
6186
6483
  # results. Specifying a `serviceName` limits the results to tasks that
6187
6484
  # belong to that service.
6188
6485
  # @return [String]
6189
6486
  #
6190
6487
  # @!attribute [rw] desired_status
6191
- # The task desired status with which to filter the `ListTasks`
6488
+ # The task desired status to use when filtering the `ListTasks`
6192
6489
  # results. Specifying a `desiredStatus` of `STOPPED` limits the
6193
6490
  # results to tasks that Amazon ECS has set the desired status to
6194
6491
  # `STOPPED`. This can be useful for debugging tasks that are not
@@ -6205,7 +6502,7 @@ module Aws::ECS
6205
6502
  # @return [String]
6206
6503
  #
6207
6504
  # @!attribute [rw] launch_type
6208
- # The launch type for services to list.
6505
+ # The launch type to use when filtering the `ListTasks` results.
6209
6506
  # @return [String]
6210
6507
  #
6211
6508
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasksRequest AWS API Documentation
@@ -6447,6 +6744,75 @@ module Aws::ECS
6447
6744
  include Aws::Structure
6448
6745
  end
6449
6746
 
6747
+ # Details about the managed agent status for the container.
6748
+ #
6749
+ # @!attribute [rw] last_started_at
6750
+ # The Unix timestamp for when the managed agent was last started.
6751
+ # @return [Time]
6752
+ #
6753
+ # @!attribute [rw] name
6754
+ # The name of the managed agent. When the execute command feature is
6755
+ # enabled, the managed agent name is `ExecuteCommandAgent`.
6756
+ # @return [String]
6757
+ #
6758
+ # @!attribute [rw] reason
6759
+ # The reason for why the managed agent is in the state it is in.
6760
+ # @return [String]
6761
+ #
6762
+ # @!attribute [rw] last_status
6763
+ # The last known status of the managed agent.
6764
+ # @return [String]
6765
+ #
6766
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedAgent AWS API Documentation
6767
+ #
6768
+ class ManagedAgent < Struct.new(
6769
+ :last_started_at,
6770
+ :name,
6771
+ :reason,
6772
+ :last_status)
6773
+ SENSITIVE = []
6774
+ include Aws::Structure
6775
+ end
6776
+
6777
+ # An object representing a change in state for a managed agent.
6778
+ #
6779
+ # @note When making an API call, you may pass ManagedAgentStateChange
6780
+ # data as a hash:
6781
+ #
6782
+ # {
6783
+ # container_name: "String", # required
6784
+ # managed_agent_name: "ExecuteCommandAgent", # required, accepts ExecuteCommandAgent
6785
+ # status: "String", # required
6786
+ # reason: "String",
6787
+ # }
6788
+ #
6789
+ # @!attribute [rw] container_name
6790
+ # The name of the container associated with the managed agent.
6791
+ # @return [String]
6792
+ #
6793
+ # @!attribute [rw] managed_agent_name
6794
+ # The name of the managed agent.
6795
+ # @return [String]
6796
+ #
6797
+ # @!attribute [rw] status
6798
+ # The status of the managed agent.
6799
+ # @return [String]
6800
+ #
6801
+ # @!attribute [rw] reason
6802
+ # The reason for the status of the managed agent.
6803
+ # @return [String]
6804
+ #
6805
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedAgentStateChange AWS API Documentation
6806
+ #
6807
+ class ManagedAgentStateChange < Struct.new(
6808
+ :container_name,
6809
+ :managed_agent_name,
6810
+ :status,
6811
+ :reason)
6812
+ SENSITIVE = []
6813
+ include Aws::Structure
6814
+ end
6815
+
6450
6816
  # The managed scaling settings for the Auto Scaling group capacity
6451
6817
  # provider.
6452
6818
  #
@@ -6820,6 +7186,11 @@ module Aws::ECS
6820
7186
  # The `hostPort` can be left blank or it must be the same value as the
6821
7187
  # `containerPort`.
6822
7188
  #
7189
+ # <note markdown="1"> You cannot expose the same container port for multiple protocols. An
7190
+ # error will be returned if this is attempted
7191
+ #
7192
+ # </note>
7193
+ #
6823
7194
  # After a task reaches the `RUNNING` status, manual and automatic host
6824
7195
  # and container port assignments are visible in the `networkBindings`
6825
7196
  # section of DescribeTasks API responses.
@@ -7019,7 +7390,7 @@ module Aws::ECS
7019
7390
  end
7020
7391
 
7021
7392
  # @!attribute [rw] setting
7022
- # The current account setting for a resource.
7393
+ # The current setting for a resource.
7023
7394
  # @return [Types::Setting]
7024
7395
  #
7025
7396
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefaultResponse AWS API Documentation
@@ -7064,6 +7435,11 @@ module Aws::ECS
7064
7435
  # account unless an IAM user or role explicitly overrides these
7065
7436
  # settings. If this field is omitted, the setting is changed only for
7066
7437
  # the authenticated user.
7438
+ #
7439
+ # <note markdown="1"> Federated users assume the account setting of the root user and
7440
+ # can't have explicit account settings set for them.
7441
+ #
7442
+ # </note>
7067
7443
  # @return [String]
7068
7444
  #
7069
7445
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingRequest AWS API Documentation
@@ -7208,11 +7584,7 @@ module Aws::ECS
7208
7584
  end
7209
7585
 
7210
7586
  # @!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.
7587
+ # Details about the cluster.
7216
7588
  # @return [Types::Cluster]
7217
7589
  #
7218
7590
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProvidersResponse AWS API Documentation
@@ -7571,7 +7943,7 @@ module Aws::ECS
7571
7943
  # expression: "String",
7572
7944
  # },
7573
7945
  # ],
7574
- # requires_compatibilities: ["EC2"], # accepts EC2, FARGATE
7946
+ # requires_compatibilities: ["EC2"], # accepts EC2, FARGATE, EXTERNAL
7575
7947
  # cpu: "String",
7576
7948
  # memory: "String",
7577
7949
  # tags: [
@@ -7598,13 +7970,17 @@ module Aws::ECS
7598
7970
  # device_type: "String", # required
7599
7971
  # },
7600
7972
  # ],
7973
+ # ephemeral_storage: {
7974
+ # size_in_gi_b: 1, # required
7975
+ # },
7601
7976
  # }
7602
7977
  #
7603
7978
  # @!attribute [rw] family
7604
7979
  # You must specify a `family` for a task definition, which allows you
7605
7980
  # to track multiple versions of the same task definition. The `family`
7606
7981
  # is used as a name for your task definition. Up to 255 letters
7607
- # (uppercase and lowercase), numbers, and hyphens are allowed.
7982
+ # (uppercase and lowercase), numbers, underscores, and hyphens are
7983
+ # allowed.
7608
7984
  # @return [String]
7609
7985
  #
7610
7986
  # @!attribute [rw] task_role_arn
@@ -7706,9 +8082,10 @@ module Aws::ECS
7706
8082
  #
7707
8083
  # @!attribute [rw] requires_compatibilities
7708
8084
  # 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`.
8085
+ # definition against. A client exception is returned if the task
8086
+ # definition doesn't validate against the compatibilities specified.
8087
+ # If no value is specified, the parameter is omitted from the
8088
+ # response.
7712
8089
  # @return [Array<String>]
7713
8090
  #
7714
8091
  # @!attribute [rw] cpu
@@ -7829,8 +8206,8 @@ module Aws::ECS
7829
8206
  # risk of undesired process namespace expose. For more information,
7830
8207
  # see [Docker security][2].
7831
8208
  #
7832
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
7833
- # using the Fargate launch type.
8209
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
8210
+ # on AWS Fargate.
7834
8211
  #
7835
8212
  # </note>
7836
8213
  #
@@ -7870,8 +8247,8 @@ module Aws::ECS
7870
8247
  # * For tasks that use the `task` IPC mode, IPC namespace related
7871
8248
  # `systemControls` will apply to all containers within a task.
7872
8249
  #
7873
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
7874
- # using the Fargate launch type.
8250
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
8251
+ # on AWS Fargate.
7875
8252
  #
7876
8253
  # </note>
7877
8254
  #
@@ -7885,17 +8262,18 @@ module Aws::ECS
7885
8262
  # @!attribute [rw] proxy_configuration
7886
8263
  # The configuration details for the App Mesh proxy.
7887
8264
  #
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]
8265
+ # For tasks hosted on Amazon EC2 instances, the container instances
8266
+ # require at least version `1.26.0` of the container agent and at
8267
+ # least version `1.26.0-1` of the `ecs-init` package to enable a proxy
8268
+ # configuration. If your container instances are launched from the
8269
+ # Amazon ECS-optimized AMI version `20190301` or later, then they
8270
+ # contain the required versions of the container agent and `ecs-init`.
8271
+ # For more information, see [Amazon ECS-optimized AMI versions][1] in
8272
+ # the *Amazon Elastic Container Service Developer Guide*.
7895
8273
  #
7896
8274
  #
7897
8275
  #
7898
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
8276
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-ami-versions.html
7899
8277
  # @return [Types::ProxyConfiguration]
7900
8278
  #
7901
8279
  # @!attribute [rw] inference_accelerators
@@ -7903,6 +8281,23 @@ module Aws::ECS
7903
8281
  # task.
7904
8282
  # @return [Array<Types::InferenceAccelerator>]
7905
8283
  #
8284
+ # @!attribute [rw] ephemeral_storage
8285
+ # The amount of ephemeral storage to allocate for the task. This
8286
+ # parameter is used to expand the total amount of ephemeral storage
8287
+ # available, beyond the default amount, for tasks hosted on AWS
8288
+ # Fargate. For more information, see [Fargate task storage][1] in the
8289
+ # *Amazon ECS User Guide for AWS Fargate*.
8290
+ #
8291
+ # <note markdown="1"> This parameter is only supported for tasks hosted on AWS Fargate
8292
+ # using platform version `1.4.0` or later.
8293
+ #
8294
+ # </note>
8295
+ #
8296
+ #
8297
+ #
8298
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html
8299
+ # @return [Types::EphemeralStorage]
8300
+ #
7906
8301
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinitionRequest AWS API Documentation
7907
8302
  #
7908
8303
  class RegisterTaskDefinitionRequest < Struct.new(
@@ -7920,7 +8315,8 @@ module Aws::ECS
7920
8315
  :pid_mode,
7921
8316
  :ipc_mode,
7922
8317
  :proxy_configuration,
7923
- :inference_accelerators)
8318
+ :inference_accelerators,
8319
+ :ephemeral_storage)
7924
8320
  SENSITIVE = []
7925
8321
  include Aws::Structure
7926
8322
  end
@@ -8102,8 +8498,9 @@ module Aws::ECS
8102
8498
  # cluster: "String",
8103
8499
  # count: 1,
8104
8500
  # enable_ecs_managed_tags: false,
8501
+ # enable_execute_command: false,
8105
8502
  # group: "String",
8106
- # launch_type: "EC2", # accepts EC2, FARGATE
8503
+ # launch_type: "EC2", # accepts EC2, FARGATE, EXTERNAL
8107
8504
  # network_configuration: {
8108
8505
  # awsvpc_configuration: {
8109
8506
  # subnets: ["String"], # required
@@ -8149,6 +8546,9 @@ module Aws::ECS
8149
8546
  # execution_role_arn: "String",
8150
8547
  # memory: "String",
8151
8548
  # task_role_arn: "String",
8549
+ # ephemeral_storage: {
8550
+ # size_in_gi_b: 1, # required
8551
+ # },
8152
8552
  # },
8153
8553
  # placement_constraints: [
8154
8554
  # {
@@ -8178,31 +8578,10 @@ module Aws::ECS
8178
8578
  # @!attribute [rw] capacity_provider_strategy
8179
8579
  # The capacity provider strategy to use for the task.
8180
8580
  #
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
8581
  # If a `capacityProviderStrategy` is specified, the `launchType`
8189
8582
  # parameter must be omitted. If no `capacityProviderStrategy` or
8190
8583
  # `launchType` is specified, the `defaultCapacityProviderStrategy` for
8191
8584
  # 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
8585
  # @return [Array<Types::CapacityProviderStrategyItem>]
8207
8586
  #
8208
8587
  # @!attribute [rw] cluster
@@ -8226,6 +8605,12 @@ module Aws::ECS
8226
8605
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
8227
8606
  # @return [Boolean]
8228
8607
  #
8608
+ # @!attribute [rw] enable_execute_command
8609
+ # Whether or not to enable the execute command functionality for the
8610
+ # containers in this task. If `true`, this enables execute command
8611
+ # functionality on all containers in the task.
8612
+ # @return [Boolean]
8613
+ #
8229
8614
  # @!attribute [rw] group
8230
8615
  # The name of the task group to associate with the task. The default
8231
8616
  # value is the family name of the task definition (for example,
@@ -8233,16 +8618,34 @@ module Aws::ECS
8233
8618
  # @return [String]
8234
8619
  #
8235
8620
  # @!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*.
8621
+ # The infrastructure on which to run your standalone task. For more
8622
+ # information, see [Amazon ECS launch types][1] in the *Amazon Elastic
8623
+ # Container Service Developer Guide*.
8624
+ #
8625
+ # The `FARGATE` launch type runs your tasks on AWS Fargate On-Demand
8626
+ # infrastructure.
8239
8627
  #
8628
+ # <note markdown="1"> Fargate Spot infrastructure is available for use but a capacity
8629
+ # provider strategy must be used. For more information, see [AWS
8630
+ # Fargate capacity providers][2] in the *Amazon ECS User Guide for AWS
8631
+ # Fargate*.
8632
+ #
8633
+ # </note>
8634
+ #
8635
+ # The `EC2` launch type runs your tasks on Amazon EC2 instances
8636
+ # registered to your cluster.
8637
+ #
8638
+ # The `EXTERNAL` launch type runs your tasks on your on-premise server
8639
+ # or virtual machine (VM) capacity registered to your cluster.
8640
+ #
8641
+ # A task can use either a launch type or a capacity provider strategy.
8240
8642
  # If a `launchType` is specified, the `capacityProviderStrategy`
8241
8643
  # parameter must be omitted.
8242
8644
  #
8243
8645
  #
8244
8646
  #
8245
8647
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
8648
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/userguide/fargate-capacity-providers.html
8246
8649
  # @return [String]
8247
8650
  #
8248
8651
  # @!attribute [rw] network_configuration
@@ -8369,6 +8772,7 @@ module Aws::ECS
8369
8772
  :cluster,
8370
8773
  :count,
8371
8774
  :enable_ecs_managed_tags,
8775
+ :enable_execute_command,
8372
8776
  :group,
8373
8777
  :launch_type,
8374
8778
  :network_configuration,
@@ -8508,9 +8912,10 @@ module Aws::ECS
8508
8912
  #
8509
8913
  # @!attribute [rw] service_name
8510
8914
  # 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.
8915
+ # lowercase), numbers, underscores, and hyphens are allowed. Service
8916
+ # names must be unique within a cluster, but you can have similarly
8917
+ # named services in multiple clusters within a Region or across
8918
+ # multiple Regions.
8514
8919
  # @return [String]
8515
8920
  #
8516
8921
  # @!attribute [rw] cluster_arn
@@ -8555,10 +8960,9 @@ module Aws::ECS
8555
8960
  # @return [Integer]
8556
8961
  #
8557
8962
  # @!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*.
8963
+ # The infrastructure on which your service is running. For more
8964
+ # information, see [Amazon ECS launch types][1] in the *Amazon Elastic
8965
+ # Container Service Developer Guide*.
8562
8966
  #
8563
8967
  #
8564
8968
  #
@@ -8727,6 +9131,12 @@ module Aws::ECS
8727
9131
  # propagated.
8728
9132
  # @return [String]
8729
9133
  #
9134
+ # @!attribute [rw] enable_execute_command
9135
+ # Whether or not the execute command functionality is enabled for the
9136
+ # service. If `true`, the execute command functionality is enabled for
9137
+ # all containers in tasks as part of the service.
9138
+ # @return [Boolean]
9139
+ #
8730
9140
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Service AWS API Documentation
8731
9141
  #
8732
9142
  class Service < Struct.new(
@@ -8758,7 +9168,8 @@ module Aws::ECS
8758
9168
  :tags,
8759
9169
  :created_by,
8760
9170
  :enable_ecs_managed_tags,
8761
- :propagate_tags)
9171
+ :propagate_tags,
9172
+ :enable_execute_command)
8762
9173
  SENSITIVE = []
8763
9174
  include Aws::Structure
8764
9175
  end
@@ -8865,6 +9276,33 @@ module Aws::ECS
8865
9276
  include Aws::Structure
8866
9277
  end
8867
9278
 
9279
+ # The details of the execute command session.
9280
+ #
9281
+ # @!attribute [rw] session_id
9282
+ # The ID of the execute command session.
9283
+ # @return [String]
9284
+ #
9285
+ # @!attribute [rw] stream_url
9286
+ # A URL back to managed agent on the container that the SSM Session
9287
+ # Manager client uses to send commands and receive output from the
9288
+ # container.
9289
+ # @return [String]
9290
+ #
9291
+ # @!attribute [rw] token_value
9292
+ # An encrypted token value containing session and caller information.
9293
+ # Used to authenticate the connection to the container.
9294
+ # @return [String]
9295
+ #
9296
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Session AWS API Documentation
9297
+ #
9298
+ class Session < Struct.new(
9299
+ :session_id,
9300
+ :stream_url,
9301
+ :token_value)
9302
+ SENSITIVE = [:token_value]
9303
+ include Aws::Structure
9304
+ end
9305
+
8868
9306
  # The current account setting for a resource.
8869
9307
  #
8870
9308
  # @!attribute [rw] name
@@ -8899,6 +9337,7 @@ module Aws::ECS
8899
9337
  # cluster: "String",
8900
9338
  # container_instances: ["String"], # required
8901
9339
  # enable_ecs_managed_tags: false,
9340
+ # enable_execute_command: false,
8902
9341
  # group: "String",
8903
9342
  # network_configuration: {
8904
9343
  # awsvpc_configuration: {
@@ -8945,6 +9384,9 @@ module Aws::ECS
8945
9384
  # execution_role_arn: "String",
8946
9385
  # memory: "String",
8947
9386
  # task_role_arn: "String",
9387
+ # ephemeral_storage: {
9388
+ # size_in_gi_b: 1, # required
9389
+ # },
8948
9390
  # },
8949
9391
  # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
8950
9392
  # reference_id: "String",
@@ -8980,6 +9422,12 @@ module Aws::ECS
8980
9422
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
8981
9423
  # @return [Boolean]
8982
9424
  #
9425
+ # @!attribute [rw] enable_execute_command
9426
+ # Whether or not the execute command functionality is enabled for the
9427
+ # task. If `true`, this enables execute command functionality on all
9428
+ # containers in the task.
9429
+ # @return [Boolean]
9430
+ #
8983
9431
  # @!attribute [rw] group
8984
9432
  # The name of the task group to associate with the task. The default
8985
9433
  # value is the family name of the task definition (for example,
@@ -9074,6 +9522,7 @@ module Aws::ECS
9074
9522
  :cluster,
9075
9523
  :container_instances,
9076
9524
  :enable_ecs_managed_tags,
9525
+ :enable_execute_command,
9077
9526
  :group,
9078
9527
  :network_configuration,
9079
9528
  :overrides,
@@ -9309,6 +9758,14 @@ module Aws::ECS
9309
9758
  # status: "String", # required
9310
9759
  # },
9311
9760
  # ],
9761
+ # managed_agents: [
9762
+ # {
9763
+ # container_name: "String", # required
9764
+ # managed_agent_name: "ExecuteCommandAgent", # required, accepts ExecuteCommandAgent
9765
+ # status: "String", # required
9766
+ # reason: "String",
9767
+ # },
9768
+ # ],
9312
9769
  # pull_started_at: Time.now,
9313
9770
  # pull_stopped_at: Time.now,
9314
9771
  # execution_stopped_at: Time.now,
@@ -9339,6 +9796,10 @@ module Aws::ECS
9339
9796
  # Any attachments associated with the state change request.
9340
9797
  # @return [Array<Types::AttachmentStateChange>]
9341
9798
  #
9799
+ # @!attribute [rw] managed_agents
9800
+ # The details for the managed agent associated with the task.
9801
+ # @return [Array<Types::ManagedAgentStateChange>]
9802
+ #
9342
9803
  # @!attribute [rw] pull_started_at
9343
9804
  # The Unix timestamp for when the container image pull began.
9344
9805
  # @return [Time]
@@ -9360,6 +9821,7 @@ module Aws::ECS
9360
9821
  :reason,
9361
9822
  :containers,
9362
9823
  :attachments,
9824
+ :managed_agents,
9363
9825
  :pull_started_at,
9364
9826
  :pull_stopped_at,
9365
9827
  :execution_stopped_at)
@@ -9552,6 +10014,13 @@ module Aws::ECS
9552
10014
  #
9553
10015
  class TagResourceResponse < Aws::EmptyStructure; end
9554
10016
 
10017
+ # The target container is not properly configured with the execute
10018
+ # command agent or the container is no longer active or running.
10019
+ #
10020
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TargetNotConnectedException AWS API Documentation
10021
+ #
10022
+ class TargetNotConnectedException < Aws::EmptyStructure; end
10023
+
9555
10024
  # The specified target could not be found. You can view your available
9556
10025
  # container instances with ListContainerInstances. Amazon ECS container
9557
10026
  # instances are cluster-specific and Region-specific.
@@ -9647,6 +10116,12 @@ module Aws::ECS
9647
10116
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html
9648
10117
  # @return [String]
9649
10118
  #
10119
+ # @!attribute [rw] enable_execute_command
10120
+ # Whether or not execute command functionality is enabled for this
10121
+ # task. If `true`, this enables execute command functionality on all
10122
+ # containers in the task.
10123
+ # @return [Boolean]
10124
+ #
9650
10125
  # @!attribute [rw] execution_stopped_at
9651
10126
  # The Unix timestamp for when the task execution stopped.
9652
10127
  # @return [Time]
@@ -9687,9 +10162,9 @@ module Aws::ECS
9687
10162
  # @return [String]
9688
10163
  #
9689
10164
  # @!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*.
10165
+ # The infrastructure on which your task is running. For more
10166
+ # information, see [Amazon ECS launch types][1] in the *Amazon Elastic
10167
+ # Container Service Developer Guide*.
9693
10168
  #
9694
10169
  #
9695
10170
  #
@@ -9829,6 +10304,10 @@ module Aws::ECS
9829
10304
  # version in your event stream is current.
9830
10305
  # @return [Integer]
9831
10306
  #
10307
+ # @!attribute [rw] ephemeral_storage
10308
+ # The ephemeral storage settings for the task.
10309
+ # @return [Types::EphemeralStorage]
10310
+ #
9832
10311
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Task AWS API Documentation
9833
10312
  #
9834
10313
  class Task < Struct.new(
@@ -9844,6 +10323,7 @@ module Aws::ECS
9844
10323
  :cpu,
9845
10324
  :created_at,
9846
10325
  :desired_status,
10326
+ :enable_execute_command,
9847
10327
  :execution_stopped_at,
9848
10328
  :group,
9849
10329
  :health_status,
@@ -9864,7 +10344,8 @@ module Aws::ECS
9864
10344
  :tags,
9865
10345
  :task_arn,
9866
10346
  :task_definition_arn,
9867
- :version)
10347
+ :version,
10348
+ :ephemeral_storage)
9868
10349
  SENSITIVE = []
9869
10350
  include Aws::Structure
9870
10351
  end
@@ -9913,7 +10394,7 @@ module Aws::ECS
9913
10394
  # option is set when you launch the Amazon ECS-optimized Windows AMI.
9914
10395
  # Your containers must also run some configuration code in order to
9915
10396
  # take advantage of the feature. For more information, see [Windows
9916
- # IAM Roles for Tasks][2] in the *Amazon Elastic Container Service
10397
+ # IAM roles for tasks][2] in the *Amazon Elastic Container Service
9917
10398
  # Developer Guide*.
9918
10399
  #
9919
10400
  #
@@ -10000,18 +10481,18 @@ module Aws::ECS
10000
10481
  # @return [Integer]
10001
10482
  #
10002
10483
  # @!attribute [rw] volumes
10003
- # The list of volume definitions for the task.
10484
+ # The list of data volume definitions for the task. For more
10485
+ # information, see [Using data volumes in tasks][1] in the *Amazon
10486
+ # Elastic Container Service Developer Guide*.
10004
10487
  #
10005
- # If your tasks are using the Fargate launch type, the `host` and
10006
- # `sourcePath` parameters are not supported.
10488
+ # <note markdown="1"> The `host` and `sourcePath` parameters are not supported for tasks
10489
+ # run on AWS Fargate.
10007
10490
  #
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*.
10491
+ # </note>
10011
10492
  #
10012
10493
  #
10013
10494
  #
10014
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html
10495
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html
10015
10496
  # @return [Array<Types::Volume>]
10016
10497
  #
10017
10498
  # @!attribute [rw] status
@@ -10019,20 +10500,37 @@ module Aws::ECS
10019
10500
  # @return [String]
10020
10501
  #
10021
10502
  # @!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.
10503
+ # The container instance attributes required by your task. When an
10504
+ # Amazon EC2 instance is registered to your cluster, the Amazon ECS
10505
+ # container agent assigns some standard attributes to the instance.
10506
+ # You can apply custom attributes, specified as key-value pairs using
10507
+ # the Amazon ECS console or the PutAttributes API. These attributes
10508
+ # are used when considering task placement for tasks hosted on Amazon
10509
+ # EC2 instances. For more information, see [Attributes][1] in the
10510
+ # *Amazon Elastic Container Service Developer Guide*.
10511
+ #
10512
+ # <note markdown="1"> This parameter is not supported for tasks run on AWS Fargate.
10513
+ #
10514
+ # </note>
10515
+ #
10516
+ #
10517
+ #
10518
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes
10024
10519
  # @return [Array<Types::Attribute>]
10025
10520
  #
10026
10521
  # @!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.
10522
+ # An array of placement constraint objects to use for tasks.
10523
+ #
10524
+ # <note markdown="1"> This parameter is not supported for tasks run on AWS Fargate.
10525
+ #
10526
+ # </note>
10030
10527
  # @return [Array<Types::TaskDefinitionPlacementConstraint>]
10031
10528
  #
10032
10529
  # @!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*.
10530
+ # The task launch types the task definition validated against during
10531
+ # task definition registration. For more information, see [Amazon ECS
10532
+ # launch types][1] in the *Amazon Elastic Container Service Developer
10533
+ # Guide*.
10036
10534
  #
10037
10535
  #
10038
10536
  #
@@ -10040,8 +10538,9 @@ module Aws::ECS
10040
10538
  # @return [Array<String>]
10041
10539
  #
10042
10540
  # @!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`.
10541
+ # The task launch types the task definition was validated against. To
10542
+ # determine which task launch types the task definition is validated
10543
+ # for, see the TaskDefinition$compatibilities parameter.
10045
10544
  # @return [Array<String>]
10046
10545
  #
10047
10546
  # @!attribute [rw] cpu
@@ -10071,16 +10570,16 @@ module Aws::ECS
10071
10570
  # @!attribute [rw] memory
10072
10571
  # The amount (in MiB) of memory used by the task.
10073
10572
  #
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].
10573
+ # If your tasks will be run on Amazon EC2 instances, you must specify
10574
+ # either a task-level memory value or a container-level memory value.
10575
+ # This field is optional and any value can be used. If a task-level
10576
+ # memory value is specified then the container-level memory value is
10577
+ # optional. For more information regarding container-level memory and
10578
+ # memory reservation, see [ContainerDefinition][1].
10080
10579
  #
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:
10580
+ # If your tasks will be run on AWS Fargate, this field is required and
10581
+ # you must use one of the following values, which determines your
10582
+ # range of valid values for the `cpu` parameter:
10084
10583
  #
10085
10584
  # * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available `cpu` values:
10086
10585
  # 256 (.25 vCPU)
@@ -10120,8 +10619,8 @@ module Aws::ECS
10120
10619
  # risk of undesired process namespace expose. For more information,
10121
10620
  # see [Docker security][2].
10122
10621
  #
10123
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
10124
- # using the Fargate launch type.
10622
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
10623
+ # on AWS Fargate.
10125
10624
  #
10126
10625
  # </note>
10127
10626
  #
@@ -10161,8 +10660,8 @@ module Aws::ECS
10161
10660
  # * For tasks that use the `task` IPC mode, IPC namespace related
10162
10661
  # `systemControls` will apply to all containers within a task.
10163
10662
  #
10164
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
10165
- # using the Fargate launch type.
10663
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
10664
+ # on AWS Fargate.
10166
10665
  #
10167
10666
  # </note>
10168
10667
  #
@@ -10202,6 +10701,11 @@ module Aws::ECS
10202
10701
  # The principal that registered the task definition.
10203
10702
  # @return [String]
10204
10703
  #
10704
+ # @!attribute [rw] ephemeral_storage
10705
+ # The ephemeral storage settings to use for tasks run with the task
10706
+ # definition.
10707
+ # @return [Types::EphemeralStorage]
10708
+ #
10205
10709
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskDefinition AWS API Documentation
10206
10710
  #
10207
10711
  class TaskDefinition < Struct.new(
@@ -10226,17 +10730,18 @@ module Aws::ECS
10226
10730
  :proxy_configuration,
10227
10731
  :registered_at,
10228
10732
  :deregistered_at,
10229
- :registered_by)
10733
+ :registered_by,
10734
+ :ephemeral_storage)
10230
10735
  SENSITIVE = []
10231
10736
  include Aws::Structure
10232
10737
  end
10233
10738
 
10234
10739
  # An object representing a constraint on task placement in the task
10235
- # definition. For more information, see [Task Placement Constraints][1]
10740
+ # definition. For more information, see [Task placement constraints][1]
10236
10741
  # in the *Amazon Elastic Container Service Developer Guide*.
10237
10742
  #
10238
- # <note markdown="1"> If you are using the Fargate launch type, task placement constraints
10239
- # are not supported.
10743
+ # <note markdown="1"> Task placement constraints are not supported for tasks run on AWS
10744
+ # Fargate.
10240
10745
  #
10241
10746
  # </note>
10242
10747
  #
@@ -10259,7 +10764,7 @@ module Aws::ECS
10259
10764
  #
10260
10765
  # @!attribute [rw] expression
10261
10766
  # A cluster query language expression to apply to the constraint. For
10262
- # more information, see [Cluster Query Language][1] in the *Amazon
10767
+ # more information, see [Cluster query language][1] in the *Amazon
10263
10768
  # Elastic Container Service Developer Guide*.
10264
10769
  #
10265
10770
  #
@@ -10319,6 +10824,9 @@ module Aws::ECS
10319
10824
  # execution_role_arn: "String",
10320
10825
  # memory: "String",
10321
10826
  # task_role_arn: "String",
10827
+ # ephemeral_storage: {
10828
+ # size_in_gi_b: 1, # required
10829
+ # },
10322
10830
  # }
10323
10831
  #
10324
10832
  # @!attribute [rw] container_overrides
@@ -10348,6 +10856,15 @@ module Aws::ECS
10348
10856
  # permissions that are specified in this role.
10349
10857
  # @return [String]
10350
10858
  #
10859
+ # @!attribute [rw] ephemeral_storage
10860
+ # The ephemeral storage setting override for the task.
10861
+ #
10862
+ # <note markdown="1"> This parameter is only supported for tasks hosted on AWS Fargate
10863
+ # using platform version `1.4.0` or later.
10864
+ #
10865
+ # </note>
10866
+ # @return [Types::EphemeralStorage]
10867
+ #
10351
10868
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskOverride AWS API Documentation
10352
10869
  #
10353
10870
  class TaskOverride < Struct.new(
@@ -10356,7 +10873,8 @@ module Aws::ECS
10356
10873
  :inference_accelerator_overrides,
10357
10874
  :execution_role_arn,
10358
10875
  :memory,
10359
- :task_role_arn)
10876
+ :task_role_arn,
10877
+ :ephemeral_storage)
10360
10878
  SENSITIVE = []
10361
10879
  include Aws::Structure
10362
10880
  end
@@ -10456,7 +10974,7 @@ module Aws::ECS
10456
10974
  #
10457
10975
  # @!attribute [rw] launch_type
10458
10976
  # 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
10977
+ # information, see [Amazon ECS launch types][1] in the *Amazon Elastic
10460
10978
  # Container Service Developer Guide*.
10461
10979
  #
10462
10980
  #
@@ -10469,11 +10987,10 @@ module Aws::ECS
10469
10987
  # @return [Array<Types::CapacityProviderStrategyItem>]
10470
10988
  #
10471
10989
  # @!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
10990
+ # The AWS Fargate platform version on which the tasks in the task set
10991
+ # are running. A platform version is only specified for tasks run on
10992
+ # AWS Fargate. For more information, see [AWS Fargate platform
10993
+ # versions][1] in the *Amazon Elastic Container Service Developer
10477
10994
  # Guide*.
10478
10995
  #
10479
10996
  #
@@ -10491,7 +11008,7 @@ module Aws::ECS
10491
11008
  #
10492
11009
  # @!attribute [rw] service_registries
10493
11010
  # The details of the service discovery registries to assign to this
10494
- # task set. For more information, see [Service Discovery][1].
11011
+ # task set. For more information, see [Service discovery][1].
10495
11012
  #
10496
11013
  #
10497
11014
  #
@@ -10639,6 +11156,13 @@ module Aws::ECS
10639
11156
 
10640
11157
  # The `ulimit` settings to pass to the container.
10641
11158
  #
11159
+ # Amazon ECS tasks hosted on Fargate use the default resource limit
11160
+ # values set by the operating system with the exception of the `nofile`
11161
+ # resource limit parameter which Fargate overrides. The `nofile`
11162
+ # resource limit sets a restriction on the number of open files that a
11163
+ # container can use. The default `nofile` soft limit is `1024` and hard
11164
+ # limit is `4096`.
11165
+ #
10642
11166
  # @note When making an API call, you may pass Ulimit
10643
11167
  # data as a hash:
10644
11168
  #
@@ -10744,7 +11268,7 @@ module Aws::ECS
10744
11268
  end
10745
11269
 
10746
11270
  # @!attribute [rw] capacity_provider
10747
- # The details of a capacity provider.
11271
+ # Details about the capacity provider.
10748
11272
  # @return [Types::CapacityProvider]
10749
11273
  #
10750
11274
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCapacityProviderResponse AWS API Documentation
@@ -10755,6 +11279,66 @@ module Aws::ECS
10755
11279
  include Aws::Structure
10756
11280
  end
10757
11281
 
11282
+ # @note When making an API call, you may pass UpdateClusterRequest
11283
+ # data as a hash:
11284
+ #
11285
+ # {
11286
+ # cluster: "String", # required
11287
+ # settings: [
11288
+ # {
11289
+ # name: "containerInsights", # accepts containerInsights
11290
+ # value: "String",
11291
+ # },
11292
+ # ],
11293
+ # configuration: {
11294
+ # execute_command_configuration: {
11295
+ # kms_key_id: "String",
11296
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
11297
+ # log_configuration: {
11298
+ # cloud_watch_log_group_name: "String",
11299
+ # cloud_watch_encryption_enabled: false,
11300
+ # s3_bucket_name: "String",
11301
+ # s3_encryption_enabled: false,
11302
+ # s3_key_prefix: "String",
11303
+ # },
11304
+ # },
11305
+ # },
11306
+ # }
11307
+ #
11308
+ # @!attribute [rw] cluster
11309
+ # The name of the cluster to modify the settings for.
11310
+ # @return [String]
11311
+ #
11312
+ # @!attribute [rw] settings
11313
+ # The cluster settings for your cluster.
11314
+ # @return [Array<Types::ClusterSetting>]
11315
+ #
11316
+ # @!attribute [rw] configuration
11317
+ # The execute command configuration for the cluster.
11318
+ # @return [Types::ClusterConfiguration]
11319
+ #
11320
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterRequest AWS API Documentation
11321
+ #
11322
+ class UpdateClusterRequest < Struct.new(
11323
+ :cluster,
11324
+ :settings,
11325
+ :configuration)
11326
+ SENSITIVE = []
11327
+ include Aws::Structure
11328
+ end
11329
+
11330
+ # @!attribute [rw] cluster
11331
+ # Details about the cluster.
11332
+ # @return [Types::Cluster]
11333
+ #
11334
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterResponse AWS API Documentation
11335
+ #
11336
+ class UpdateClusterResponse < Struct.new(
11337
+ :cluster)
11338
+ SENSITIVE = []
11339
+ include Aws::Structure
11340
+ end
11341
+
10758
11342
  # @note When making an API call, you may pass UpdateClusterSettingsRequest
10759
11343
  # data as a hash:
10760
11344
  #
@@ -10789,11 +11373,7 @@ module Aws::ECS
10789
11373
  end
10790
11374
 
10791
11375
  # @!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.
11376
+ # Details about the cluster
10797
11377
  # @return [Types::Cluster]
10798
11378
  #
10799
11379
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettingsResponse AWS API Documentation
@@ -10947,10 +11527,7 @@ module Aws::ECS
10947
11527
  end
10948
11528
 
10949
11529
  # @!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.
11530
+ # Details about the task set.
10954
11531
  # @return [Types::TaskSet]
10955
11532
  #
10956
11533
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSetResponse AWS API Documentation
@@ -11006,6 +11583,7 @@ module Aws::ECS
11006
11583
  # platform_version: "String",
11007
11584
  # force_new_deployment: false,
11008
11585
  # health_check_grace_period_seconds: 1,
11586
+ # enable_execute_command: false,
11009
11587
  # }
11010
11588
  #
11011
11589
  # @!attribute [rw] cluster
@@ -11071,8 +11649,7 @@ module Aws::ECS
11071
11649
  # @return [Types::DeploymentConfiguration]
11072
11650
  #
11073
11651
  # @!attribute [rw] network_configuration
11074
- # An object representing the network configuration for a task or
11075
- # service.
11652
+ # An object representing the network configuration for the service.
11076
11653
  # @return [Types::NetworkConfiguration]
11077
11654
  #
11078
11655
  # @!attribute [rw] placement_constraints
@@ -11134,6 +11711,15 @@ module Aws::ECS
11134
11711
  # to come up.
11135
11712
  # @return [Integer]
11136
11713
  #
11714
+ # @!attribute [rw] enable_execute_command
11715
+ # If `true`, this enables execute command functionality on all task
11716
+ # containers.
11717
+ #
11718
+ # If you do not want to override the value that was set when the
11719
+ # service was created, you can set this to `null` when performing this
11720
+ # action.
11721
+ # @return [Boolean]
11722
+ #
11137
11723
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServiceRequest AWS API Documentation
11138
11724
  #
11139
11725
  class UpdateServiceRequest < Struct.new(
@@ -11148,7 +11734,8 @@ module Aws::ECS
11148
11734
  :placement_strategy,
11149
11735
  :platform_version,
11150
11736
  :force_new_deployment,
11151
- :health_check_grace_period_seconds)
11737
+ :health_check_grace_period_seconds,
11738
+ :enable_execute_command)
11152
11739
  SENSITIVE = []
11153
11740
  include Aws::Structure
11154
11741
  end
@@ -11210,10 +11797,7 @@ module Aws::ECS
11210
11797
  end
11211
11798
 
11212
11799
  # @!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.
11800
+ # Details about the task set.
11217
11801
  # @return [Types::TaskSet]
11218
11802
  #
11219
11803
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSetResponse AWS API Documentation
@@ -11317,8 +11901,9 @@ module Aws::ECS
11317
11901
  #
11318
11902
  # @!attribute [rw] name
11319
11903
  # 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`.
11904
+ # numbers, underscores, and hyphens are allowed. This name is
11905
+ # referenced in the `sourceVolume` parameter of container definition
11906
+ # `mountPoints`.
11322
11907
  # @return [String]
11323
11908
  #
11324
11909
  # @!attribute [rw] host
@@ -11339,9 +11924,13 @@ module Aws::ECS
11339
11924
  #
11340
11925
  # @!attribute [rw] docker_volume_configuration
11341
11926
  # 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.
11927
+ #
11928
+ # Windows containers only support the use of the `local` driver. To
11929
+ # use bind mounts, specify the `host` parameter instead.
11930
+ #
11931
+ # <note markdown="1"> Docker volumes are not supported by tasks run on AWS Fargate.
11932
+ #
11933
+ # </note>
11345
11934
  # @return [Types::DockerVolumeConfiguration]
11346
11935
  #
11347
11936
  # @!attribute [rw] efs_volume_configuration