aws-sdk-ecs 1.75.0 → 1.80.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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