aws-sdk-ecs 1.73.0 → 1.78.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -43,6 +43,7 @@ module Aws::ECS
43
43
  CapacityProviders = Shapes::ListShape.new(name: 'CapacityProviders')
44
44
  ClientException = Shapes::StructureShape.new(name: 'ClientException')
45
45
  Cluster = Shapes::StructureShape.new(name: 'Cluster')
46
+ ClusterConfiguration = Shapes::StructureShape.new(name: 'ClusterConfiguration')
46
47
  ClusterContainsContainerInstancesException = Shapes::StructureShape.new(name: 'ClusterContainsContainerInstancesException')
47
48
  ClusterContainsServicesException = Shapes::StructureShape.new(name: 'ClusterContainsServicesException')
48
49
  ClusterContainsTasksException = Shapes::StructureShape.new(name: 'ClusterContainsTasksException')
@@ -135,6 +136,12 @@ module Aws::ECS
135
136
  EnvironmentFileType = Shapes::StringShape.new(name: 'EnvironmentFileType')
136
137
  EnvironmentFiles = Shapes::ListShape.new(name: 'EnvironmentFiles')
137
138
  EnvironmentVariables = Shapes::ListShape.new(name: 'EnvironmentVariables')
139
+ EphemeralStorage = Shapes::StructureShape.new(name: 'EphemeralStorage')
140
+ ExecuteCommandConfiguration = Shapes::StructureShape.new(name: 'ExecuteCommandConfiguration')
141
+ ExecuteCommandLogConfiguration = Shapes::StructureShape.new(name: 'ExecuteCommandLogConfiguration')
142
+ ExecuteCommandLogging = Shapes::StringShape.new(name: 'ExecuteCommandLogging')
143
+ ExecuteCommandRequest = Shapes::StructureShape.new(name: 'ExecuteCommandRequest')
144
+ ExecuteCommandResponse = Shapes::StructureShape.new(name: 'ExecuteCommandResponse')
138
145
  FSxWindowsFileServerAuthorizationConfig = Shapes::StructureShape.new(name: 'FSxWindowsFileServerAuthorizationConfig')
139
146
  FSxWindowsFileServerVolumeConfiguration = Shapes::StructureShape.new(name: 'FSxWindowsFileServerVolumeConfiguration')
140
147
  Failure = Shapes::StructureShape.new(name: 'Failure')
@@ -184,6 +191,11 @@ module Aws::ECS
184
191
  LogConfigurationOptionsMap = Shapes::MapShape.new(name: 'LogConfigurationOptionsMap')
185
192
  LogDriver = Shapes::StringShape.new(name: 'LogDriver')
186
193
  Long = Shapes::IntegerShape.new(name: 'Long')
194
+ ManagedAgent = Shapes::StructureShape.new(name: 'ManagedAgent')
195
+ ManagedAgentName = Shapes::StringShape.new(name: 'ManagedAgentName')
196
+ ManagedAgentStateChange = Shapes::StructureShape.new(name: 'ManagedAgentStateChange')
197
+ ManagedAgentStateChanges = Shapes::ListShape.new(name: 'ManagedAgentStateChanges')
198
+ ManagedAgents = Shapes::ListShape.new(name: 'ManagedAgents')
187
199
  ManagedScaling = Shapes::StructureShape.new(name: 'ManagedScaling')
188
200
  ManagedScalingInstanceWarmupPeriod = Shapes::IntegerShape.new(name: 'ManagedScalingInstanceWarmupPeriod')
189
201
  ManagedScalingStatus = Shapes::StringShape.new(name: 'ManagedScalingStatus')
@@ -247,6 +259,7 @@ module Aws::ECS
247
259
  Scope = Shapes::StringShape.new(name: 'Scope')
248
260
  Secret = Shapes::StructureShape.new(name: 'Secret')
249
261
  SecretList = Shapes::ListShape.new(name: 'SecretList')
262
+ SensitiveString = Shapes::StringShape.new(name: 'SensitiveString')
250
263
  ServerException = Shapes::StructureShape.new(name: 'ServerException')
251
264
  Service = Shapes::StructureShape.new(name: 'Service')
252
265
  ServiceEvent = Shapes::StructureShape.new(name: 'ServiceEvent')
@@ -258,6 +271,7 @@ module Aws::ECS
258
271
  ServiceRegistries = Shapes::ListShape.new(name: 'ServiceRegistries')
259
272
  ServiceRegistry = Shapes::StructureShape.new(name: 'ServiceRegistry')
260
273
  Services = Shapes::ListShape.new(name: 'Services')
274
+ Session = Shapes::StructureShape.new(name: 'Session')
261
275
  Setting = Shapes::StructureShape.new(name: 'Setting')
262
276
  SettingName = Shapes::StringShape.new(name: 'SettingName')
263
277
  Settings = Shapes::ListShape.new(name: 'Settings')
@@ -286,6 +300,7 @@ module Aws::ECS
286
300
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
287
301
  TagValue = Shapes::StringShape.new(name: 'TagValue')
288
302
  Tags = Shapes::ListShape.new(name: 'Tags')
303
+ TargetNotConnectedException = Shapes::StructureShape.new(name: 'TargetNotConnectedException')
289
304
  TargetNotFoundException = Shapes::StructureShape.new(name: 'TargetNotFoundException')
290
305
  TargetType = Shapes::StringShape.new(name: 'TargetType')
291
306
  Task = Shapes::StructureShape.new(name: 'Task')
@@ -319,6 +334,8 @@ module Aws::ECS
319
334
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
320
335
  UpdateCapacityProviderRequest = Shapes::StructureShape.new(name: 'UpdateCapacityProviderRequest')
321
336
  UpdateCapacityProviderResponse = Shapes::StructureShape.new(name: 'UpdateCapacityProviderResponse')
337
+ UpdateClusterRequest = Shapes::StructureShape.new(name: 'UpdateClusterRequest')
338
+ UpdateClusterResponse = Shapes::StructureShape.new(name: 'UpdateClusterResponse')
322
339
  UpdateClusterSettingsRequest = Shapes::StructureShape.new(name: 'UpdateClusterSettingsRequest')
323
340
  UpdateClusterSettingsResponse = Shapes::StructureShape.new(name: 'UpdateClusterSettingsResponse')
324
341
  UpdateContainerAgentRequest = Shapes::StructureShape.new(name: 'UpdateContainerAgentRequest')
@@ -407,6 +424,7 @@ module Aws::ECS
407
424
 
408
425
  Cluster.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: String, location_name: "clusterArn"))
409
426
  Cluster.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, location_name: "clusterName"))
427
+ Cluster.add_member(:configuration, Shapes::ShapeRef.new(shape: ClusterConfiguration, location_name: "configuration"))
410
428
  Cluster.add_member(:status, Shapes::ShapeRef.new(shape: String, location_name: "status"))
411
429
  Cluster.add_member(:registered_container_instances_count, Shapes::ShapeRef.new(shape: Integer, location_name: "registeredContainerInstancesCount"))
412
430
  Cluster.add_member(:running_tasks_count, Shapes::ShapeRef.new(shape: Integer, location_name: "runningTasksCount"))
@@ -421,6 +439,9 @@ module Aws::ECS
421
439
  Cluster.add_member(:attachments_status, Shapes::ShapeRef.new(shape: String, location_name: "attachmentsStatus"))
422
440
  Cluster.struct_class = Types::Cluster
423
441
 
442
+ ClusterConfiguration.add_member(:execute_command_configuration, Shapes::ShapeRef.new(shape: ExecuteCommandConfiguration, location_name: "executeCommandConfiguration"))
443
+ ClusterConfiguration.struct_class = Types::ClusterConfiguration
444
+
424
445
  ClusterContainsContainerInstancesException.struct_class = Types::ClusterContainsContainerInstancesException
425
446
 
426
447
  ClusterContainsServicesException.struct_class = Types::ClusterContainsServicesException
@@ -453,6 +474,7 @@ module Aws::ECS
453
474
  Container.add_member(:network_bindings, Shapes::ShapeRef.new(shape: NetworkBindings, location_name: "networkBindings"))
454
475
  Container.add_member(:network_interfaces, Shapes::ShapeRef.new(shape: NetworkInterfaces, location_name: "networkInterfaces"))
455
476
  Container.add_member(:health_status, Shapes::ShapeRef.new(shape: HealthStatus, location_name: "healthStatus"))
477
+ Container.add_member(:managed_agents, Shapes::ShapeRef.new(shape: ManagedAgents, location_name: "managedAgents"))
456
478
  Container.add_member(:cpu, Shapes::ShapeRef.new(shape: String, location_name: "cpu"))
457
479
  Container.add_member(:memory, Shapes::ShapeRef.new(shape: String, location_name: "memory"))
458
480
  Container.add_member(:memory_reservation, Shapes::ShapeRef.new(shape: String, location_name: "memoryReservation"))
@@ -567,6 +589,7 @@ module Aws::ECS
567
589
  CreateClusterRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, location_name: "clusterName"))
568
590
  CreateClusterRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
569
591
  CreateClusterRequest.add_member(:settings, Shapes::ShapeRef.new(shape: ClusterSettings, location_name: "settings"))
592
+ CreateClusterRequest.add_member(:configuration, Shapes::ShapeRef.new(shape: ClusterConfiguration, location_name: "configuration"))
570
593
  CreateClusterRequest.add_member(:capacity_providers, Shapes::ShapeRef.new(shape: StringList, location_name: "capacityProviders"))
571
594
  CreateClusterRequest.add_member(:default_capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, location_name: "defaultCapacityProviderStrategy"))
572
595
  CreateClusterRequest.struct_class = Types::CreateClusterRequest
@@ -595,6 +618,7 @@ module Aws::ECS
595
618
  CreateServiceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
596
619
  CreateServiceRequest.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
597
620
  CreateServiceRequest.add_member(:propagate_tags, Shapes::ShapeRef.new(shape: PropagateTags, location_name: "propagateTags"))
621
+ CreateServiceRequest.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
598
622
  CreateServiceRequest.struct_class = Types::CreateServiceRequest
599
623
 
600
624
  CreateServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
@@ -816,6 +840,36 @@ module Aws::ECS
816
840
 
817
841
  EnvironmentVariables.member = Shapes::ShapeRef.new(shape: KeyValuePair)
818
842
 
843
+ EphemeralStorage.add_member(:size_in_gi_b, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "sizeInGiB"))
844
+ EphemeralStorage.struct_class = Types::EphemeralStorage
845
+
846
+ ExecuteCommandConfiguration.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: String, location_name: "kmsKeyId"))
847
+ ExecuteCommandConfiguration.add_member(:logging, Shapes::ShapeRef.new(shape: ExecuteCommandLogging, location_name: "logging"))
848
+ ExecuteCommandConfiguration.add_member(:log_configuration, Shapes::ShapeRef.new(shape: ExecuteCommandLogConfiguration, location_name: "logConfiguration"))
849
+ ExecuteCommandConfiguration.struct_class = Types::ExecuteCommandConfiguration
850
+
851
+ ExecuteCommandLogConfiguration.add_member(:cloud_watch_log_group_name, Shapes::ShapeRef.new(shape: String, location_name: "cloudWatchLogGroupName"))
852
+ ExecuteCommandLogConfiguration.add_member(:cloud_watch_encryption_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "cloudWatchEncryptionEnabled"))
853
+ ExecuteCommandLogConfiguration.add_member(:s3_bucket_name, Shapes::ShapeRef.new(shape: String, location_name: "s3BucketName"))
854
+ ExecuteCommandLogConfiguration.add_member(:s3_encryption_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "s3EncryptionEnabled"))
855
+ ExecuteCommandLogConfiguration.add_member(:s3_key_prefix, Shapes::ShapeRef.new(shape: String, location_name: "s3KeyPrefix"))
856
+ ExecuteCommandLogConfiguration.struct_class = Types::ExecuteCommandLogConfiguration
857
+
858
+ ExecuteCommandRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
859
+ ExecuteCommandRequest.add_member(:container, Shapes::ShapeRef.new(shape: String, location_name: "container"))
860
+ ExecuteCommandRequest.add_member(:command, Shapes::ShapeRef.new(shape: String, required: true, location_name: "command"))
861
+ ExecuteCommandRequest.add_member(:interactive, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "interactive"))
862
+ ExecuteCommandRequest.add_member(:task, Shapes::ShapeRef.new(shape: String, required: true, location_name: "task"))
863
+ ExecuteCommandRequest.struct_class = Types::ExecuteCommandRequest
864
+
865
+ ExecuteCommandResponse.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: String, location_name: "clusterArn"))
866
+ ExecuteCommandResponse.add_member(:container_arn, Shapes::ShapeRef.new(shape: String, location_name: "containerArn"))
867
+ ExecuteCommandResponse.add_member(:container_name, Shapes::ShapeRef.new(shape: String, location_name: "containerName"))
868
+ ExecuteCommandResponse.add_member(:interactive, Shapes::ShapeRef.new(shape: Boolean, location_name: "interactive"))
869
+ ExecuteCommandResponse.add_member(:session, Shapes::ShapeRef.new(shape: Session, location_name: "session"))
870
+ ExecuteCommandResponse.add_member(:task_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskArn"))
871
+ ExecuteCommandResponse.struct_class = Types::ExecuteCommandResponse
872
+
819
873
  FSxWindowsFileServerAuthorizationConfig.add_member(:credentials_parameter, Shapes::ShapeRef.new(shape: String, required: true, location_name: "credentialsParameter"))
820
874
  FSxWindowsFileServerAuthorizationConfig.add_member(:domain, Shapes::ShapeRef.new(shape: String, required: true, location_name: "domain"))
821
875
  FSxWindowsFileServerAuthorizationConfig.struct_class = Types::FSxWindowsFileServerAuthorizationConfig
@@ -1002,6 +1056,22 @@ module Aws::ECS
1002
1056
  LogConfigurationOptionsMap.key = Shapes::ShapeRef.new(shape: String)
1003
1057
  LogConfigurationOptionsMap.value = Shapes::ShapeRef.new(shape: String)
1004
1058
 
1059
+ ManagedAgent.add_member(:last_started_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastStartedAt"))
1060
+ ManagedAgent.add_member(:name, Shapes::ShapeRef.new(shape: ManagedAgentName, location_name: "name"))
1061
+ ManagedAgent.add_member(:reason, Shapes::ShapeRef.new(shape: String, location_name: "reason"))
1062
+ ManagedAgent.add_member(:last_status, Shapes::ShapeRef.new(shape: String, location_name: "lastStatus"))
1063
+ ManagedAgent.struct_class = Types::ManagedAgent
1064
+
1065
+ ManagedAgentStateChange.add_member(:container_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "containerName"))
1066
+ ManagedAgentStateChange.add_member(:managed_agent_name, Shapes::ShapeRef.new(shape: ManagedAgentName, required: true, location_name: "managedAgentName"))
1067
+ ManagedAgentStateChange.add_member(:status, Shapes::ShapeRef.new(shape: String, required: true, location_name: "status"))
1068
+ ManagedAgentStateChange.add_member(:reason, Shapes::ShapeRef.new(shape: String, location_name: "reason"))
1069
+ ManagedAgentStateChange.struct_class = Types::ManagedAgentStateChange
1070
+
1071
+ ManagedAgentStateChanges.member = Shapes::ShapeRef.new(shape: ManagedAgentStateChange)
1072
+
1073
+ ManagedAgents.member = Shapes::ShapeRef.new(shape: ManagedAgent)
1074
+
1005
1075
  ManagedScaling.add_member(:status, Shapes::ShapeRef.new(shape: ManagedScalingStatus, location_name: "status"))
1006
1076
  ManagedScaling.add_member(:target_capacity, Shapes::ShapeRef.new(shape: ManagedScalingTargetCapacity, location_name: "targetCapacity"))
1007
1077
  ManagedScaling.add_member(:minimum_scaling_step_size, Shapes::ShapeRef.new(shape: ManagedScalingStepSize, location_name: "minimumScalingStepSize"))
@@ -1133,6 +1203,7 @@ module Aws::ECS
1133
1203
  RegisterTaskDefinitionRequest.add_member(:ipc_mode, Shapes::ShapeRef.new(shape: IpcMode, location_name: "ipcMode"))
1134
1204
  RegisterTaskDefinitionRequest.add_member(:proxy_configuration, Shapes::ShapeRef.new(shape: ProxyConfiguration, location_name: "proxyConfiguration"))
1135
1205
  RegisterTaskDefinitionRequest.add_member(:inference_accelerators, Shapes::ShapeRef.new(shape: InferenceAccelerators, location_name: "inferenceAccelerators"))
1206
+ RegisterTaskDefinitionRequest.add_member(:ephemeral_storage, Shapes::ShapeRef.new(shape: EphemeralStorage, location_name: "ephemeralStorage"))
1136
1207
  RegisterTaskDefinitionRequest.struct_class = Types::RegisterTaskDefinitionRequest
1137
1208
 
1138
1209
  RegisterTaskDefinitionResponse.add_member(:task_definition, Shapes::ShapeRef.new(shape: TaskDefinition, location_name: "taskDefinition"))
@@ -1168,6 +1239,7 @@ module Aws::ECS
1168
1239
  RunTaskRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
1169
1240
  RunTaskRequest.add_member(:count, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "count"))
1170
1241
  RunTaskRequest.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
1242
+ RunTaskRequest.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
1171
1243
  RunTaskRequest.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
1172
1244
  RunTaskRequest.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
1173
1245
  RunTaskRequest.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
@@ -1228,6 +1300,7 @@ module Aws::ECS
1228
1300
  Service.add_member(:created_by, Shapes::ShapeRef.new(shape: String, location_name: "createdBy"))
1229
1301
  Service.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
1230
1302
  Service.add_member(:propagate_tags, Shapes::ShapeRef.new(shape: PropagateTags, location_name: "propagateTags"))
1303
+ Service.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
1231
1304
  Service.struct_class = Types::Service
1232
1305
 
1233
1306
  ServiceEvent.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
@@ -1253,6 +1326,11 @@ module Aws::ECS
1253
1326
 
1254
1327
  Services.member = Shapes::ShapeRef.new(shape: Service)
1255
1328
 
1329
+ Session.add_member(:session_id, Shapes::ShapeRef.new(shape: String, location_name: "sessionId"))
1330
+ Session.add_member(:stream_url, Shapes::ShapeRef.new(shape: String, location_name: "streamUrl"))
1331
+ Session.add_member(:token_value, Shapes::ShapeRef.new(shape: SensitiveString, location_name: "tokenValue"))
1332
+ Session.struct_class = Types::Session
1333
+
1256
1334
  Setting.add_member(:name, Shapes::ShapeRef.new(shape: SettingName, location_name: "name"))
1257
1335
  Setting.add_member(:value, Shapes::ShapeRef.new(shape: String, location_name: "value"))
1258
1336
  Setting.add_member(:principal_arn, Shapes::ShapeRef.new(shape: String, location_name: "principalArn"))
@@ -1263,6 +1341,7 @@ module Aws::ECS
1263
1341
  StartTaskRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
1264
1342
  StartTaskRequest.add_member(:container_instances, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "containerInstances"))
1265
1343
  StartTaskRequest.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
1344
+ StartTaskRequest.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
1266
1345
  StartTaskRequest.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
1267
1346
  StartTaskRequest.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
1268
1347
  StartTaskRequest.add_member(:overrides, Shapes::ShapeRef.new(shape: TaskOverride, location_name: "overrides"))
@@ -1318,6 +1397,7 @@ module Aws::ECS
1318
1397
  SubmitTaskStateChangeRequest.add_member(:reason, Shapes::ShapeRef.new(shape: String, location_name: "reason"))
1319
1398
  SubmitTaskStateChangeRequest.add_member(:containers, Shapes::ShapeRef.new(shape: ContainerStateChanges, location_name: "containers"))
1320
1399
  SubmitTaskStateChangeRequest.add_member(:attachments, Shapes::ShapeRef.new(shape: AttachmentStateChanges, location_name: "attachments"))
1400
+ SubmitTaskStateChangeRequest.add_member(:managed_agents, Shapes::ShapeRef.new(shape: ManagedAgentStateChanges, location_name: "managedAgents"))
1321
1401
  SubmitTaskStateChangeRequest.add_member(:pull_started_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "pullStartedAt"))
1322
1402
  SubmitTaskStateChangeRequest.add_member(:pull_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "pullStoppedAt"))
1323
1403
  SubmitTaskStateChangeRequest.add_member(:execution_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "executionStoppedAt"))
@@ -1346,6 +1426,8 @@ module Aws::ECS
1346
1426
 
1347
1427
  Tags.member = Shapes::ShapeRef.new(shape: Tag)
1348
1428
 
1429
+ TargetNotConnectedException.struct_class = Types::TargetNotConnectedException
1430
+
1349
1431
  TargetNotFoundException.struct_class = Types::TargetNotFoundException
1350
1432
 
1351
1433
  Task.add_member(:attachments, Shapes::ShapeRef.new(shape: Attachments, location_name: "attachments"))
@@ -1360,6 +1442,7 @@ module Aws::ECS
1360
1442
  Task.add_member(:cpu, Shapes::ShapeRef.new(shape: String, location_name: "cpu"))
1361
1443
  Task.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdAt"))
1362
1444
  Task.add_member(:desired_status, Shapes::ShapeRef.new(shape: String, location_name: "desiredStatus"))
1445
+ Task.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
1363
1446
  Task.add_member(:execution_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "executionStoppedAt"))
1364
1447
  Task.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
1365
1448
  Task.add_member(:health_status, Shapes::ShapeRef.new(shape: HealthStatus, location_name: "healthStatus"))
@@ -1381,6 +1464,7 @@ module Aws::ECS
1381
1464
  Task.add_member(:task_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskArn"))
1382
1465
  Task.add_member(:task_definition_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskDefinitionArn"))
1383
1466
  Task.add_member(:version, Shapes::ShapeRef.new(shape: Long, location_name: "version"))
1467
+ Task.add_member(:ephemeral_storage, Shapes::ShapeRef.new(shape: EphemeralStorage, location_name: "ephemeralStorage"))
1384
1468
  Task.struct_class = Types::Task
1385
1469
 
1386
1470
  TaskDefinition.add_member(:task_definition_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskDefinitionArn"))
@@ -1405,6 +1489,7 @@ module Aws::ECS
1405
1489
  TaskDefinition.add_member(:registered_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "registeredAt"))
1406
1490
  TaskDefinition.add_member(:deregistered_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "deregisteredAt"))
1407
1491
  TaskDefinition.add_member(:registered_by, Shapes::ShapeRef.new(shape: String, location_name: "registeredBy"))
1492
+ TaskDefinition.add_member(:ephemeral_storage, Shapes::ShapeRef.new(shape: EphemeralStorage, location_name: "ephemeralStorage"))
1408
1493
  TaskDefinition.struct_class = Types::TaskDefinition
1409
1494
 
1410
1495
  TaskDefinitionFieldList.member = Shapes::ShapeRef.new(shape: TaskDefinitionField)
@@ -1423,6 +1508,7 @@ module Aws::ECS
1423
1508
  TaskOverride.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "executionRoleArn"))
1424
1509
  TaskOverride.add_member(:memory, Shapes::ShapeRef.new(shape: String, location_name: "memory"))
1425
1510
  TaskOverride.add_member(:task_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskRoleArn"))
1511
+ TaskOverride.add_member(:ephemeral_storage, Shapes::ShapeRef.new(shape: EphemeralStorage, location_name: "ephemeralStorage"))
1426
1512
  TaskOverride.struct_class = Types::TaskOverride
1427
1513
 
1428
1514
  TaskSet.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
@@ -1487,6 +1573,14 @@ module Aws::ECS
1487
1573
  UpdateCapacityProviderResponse.add_member(:capacity_provider, Shapes::ShapeRef.new(shape: CapacityProvider, location_name: "capacityProvider"))
1488
1574
  UpdateCapacityProviderResponse.struct_class = Types::UpdateCapacityProviderResponse
1489
1575
 
1576
+ UpdateClusterRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
1577
+ UpdateClusterRequest.add_member(:settings, Shapes::ShapeRef.new(shape: ClusterSettings, location_name: "settings"))
1578
+ UpdateClusterRequest.add_member(:configuration, Shapes::ShapeRef.new(shape: ClusterConfiguration, location_name: "configuration"))
1579
+ UpdateClusterRequest.struct_class = Types::UpdateClusterRequest
1580
+
1581
+ UpdateClusterResponse.add_member(:cluster, Shapes::ShapeRef.new(shape: Cluster, location_name: "cluster"))
1582
+ UpdateClusterResponse.struct_class = Types::UpdateClusterResponse
1583
+
1490
1584
  UpdateClusterSettingsRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
1491
1585
  UpdateClusterSettingsRequest.add_member(:settings, Shapes::ShapeRef.new(shape: ClusterSettings, required: true, location_name: "settings"))
1492
1586
  UpdateClusterSettingsRequest.struct_class = Types::UpdateClusterSettingsRequest
@@ -1532,6 +1626,7 @@ module Aws::ECS
1532
1626
  UpdateServiceRequest.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
1533
1627
  UpdateServiceRequest.add_member(:force_new_deployment, Shapes::ShapeRef.new(shape: Boolean, location_name: "forceNewDeployment"))
1534
1628
  UpdateServiceRequest.add_member(:health_check_grace_period_seconds, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "healthCheckGracePeriodSeconds"))
1629
+ UpdateServiceRequest.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "enableExecuteCommand"))
1535
1630
  UpdateServiceRequest.struct_class = Types::UpdateServiceRequest
1536
1631
 
1537
1632
  UpdateServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
@@ -1840,6 +1935,20 @@ module Aws::ECS
1840
1935
  o.errors << Shapes::ShapeRef.new(shape: ClientException)
1841
1936
  end)
1842
1937
 
1938
+ api.add_operation(:execute_command, Seahorse::Model::Operation.new.tap do |o|
1939
+ o.name = "ExecuteCommand"
1940
+ o.http_method = "POST"
1941
+ o.http_request_uri = "/"
1942
+ o.input = Shapes::ShapeRef.new(shape: ExecuteCommandRequest)
1943
+ o.output = Shapes::ShapeRef.new(shape: ExecuteCommandResponse)
1944
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
1945
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1946
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1947
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1948
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
1949
+ o.errors << Shapes::ShapeRef.new(shape: TargetNotConnectedException)
1950
+ end)
1951
+
1843
1952
  api.add_operation(:list_account_settings, Seahorse::Model::Operation.new.tap do |o|
1844
1953
  o.name = "ListAccountSettings"
1845
1954
  o.http_method = "POST"
@@ -2174,6 +2283,18 @@ module Aws::ECS
2174
2283
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2175
2284
  end)
2176
2285
 
2286
+ api.add_operation(:update_cluster, Seahorse::Model::Operation.new.tap do |o|
2287
+ o.name = "UpdateCluster"
2288
+ o.http_method = "POST"
2289
+ o.http_request_uri = "/"
2290
+ o.input = Shapes::ShapeRef.new(shape: UpdateClusterRequest)
2291
+ o.output = Shapes::ShapeRef.new(shape: UpdateClusterResponse)
2292
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
2293
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
2294
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
2295
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2296
+ end)
2297
+
2177
2298
  api.add_operation(:update_cluster_settings, Seahorse::Model::Operation.new.tap do |o|
2178
2299
  o.name = "UpdateClusterSettings"
2179
2300
  o.http_method = "POST"
@@ -2,7 +2,7 @@
2
2
  # WARNING ABOUT GENERATED CODE
3
3
  #
4
4
  # This file is generated. See the contributing for info on making contributions:
5
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
6
6
  #
7
7
  # WARNING ABOUT GENERATED CODE
8
8
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -46,6 +46,7 @@ module Aws::ECS
46
46
  # * {ServerException}
47
47
  # * {ServiceNotActiveException}
48
48
  # * {ServiceNotFoundException}
49
+ # * {TargetNotConnectedException}
49
50
  # * {TargetNotFoundException}
50
51
  # * {TaskSetNotFoundException}
51
52
  # * {UnsupportedFeatureException}
@@ -257,6 +258,16 @@ module Aws::ECS
257
258
  end
258
259
  end
259
260
 
261
+ class TargetNotConnectedException < ServiceError
262
+
263
+ # @param [Seahorse::Client::RequestContext] context
264
+ # @param [String] message
265
+ # @param [Aws::ECS::Types::TargetNotConnectedException] data
266
+ def initialize(context, message, data = Aws::EmptyStructure.new)
267
+ super(context, message, data)
268
+ end
269
+ end
270
+
260
271
  class TargetNotFoundException < ServiceError
261
272
 
262
273
  # @param [Seahorse::Client::RequestContext] context
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -222,21 +222,6 @@ module Aws::ECS
222
222
  # @!attribute [rw] managed_scaling
223
223
  # The managed scaling settings for the Auto Scaling group capacity
224
224
  # provider.
225
- #
226
- # When managed scaling is enabled, Amazon ECS manages the scale-in and
227
- # scale-out actions of the Auto Scaling group. Amazon ECS manages a
228
- # target tracking scaling policy using an Amazon ECS-managed
229
- # CloudWatch metric with the specified `targetCapacity` value as the
230
- # target value for the metric. For more information, see [Using
231
- # Managed Scaling][1] in the *Amazon Elastic Container Service
232
- # Developer Guide*.
233
- #
234
- # If managed scaling is disabled, the user must manage the scaling of
235
- # the Auto Scaling group.
236
- #
237
- #
238
- #
239
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling
240
225
  # @return [Types::ManagedScaling]
241
226
  #
242
227
  # @!attribute [rw] managed_termination_protection
@@ -421,7 +406,25 @@ module Aws::ECS
421
406
  include Aws::Structure
422
407
  end
423
408
 
424
- # The details of a capacity provider strategy.
409
+ # The details of a capacity provider strategy. A capacity provider
410
+ # strategy can be set when using the RunTask or CreateCluster APIs or as
411
+ # the default capacity provider strategy for a cluster with the
412
+ # CreateCluster API.
413
+ #
414
+ # Only capacity providers that are already associated with a cluster and
415
+ # have an `ACTIVE` or `UPDATING` status can be used in a capacity
416
+ # provider strategy. The PutClusterCapacityProviders API is used to
417
+ # associate a capacity provider with a cluster.
418
+ #
419
+ # If specifying a capacity provider that uses an Auto Scaling group, the
420
+ # capacity provider must already be created. New Auto Scaling group
421
+ # capacity providers can be created with the CreateCapacityProvider API
422
+ # operation.
423
+ #
424
+ # To use a AWS Fargate capacity provider, specify either the `FARGATE`
425
+ # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
426
+ # providers are available to all accounts and only need to be associated
427
+ # with a cluster to be used in a capacity provider strategy.
425
428
  #
426
429
  # @note When making an API call, you may pass CapacityProviderStrategyItem
427
430
  # data as a hash:
@@ -439,21 +442,32 @@ module Aws::ECS
439
442
  # @!attribute [rw] weight
440
443
  # The *weight* value designates the relative percentage of the total
441
444
  # number of tasks launched that should use the specified capacity
442
- # provider.
443
- #
444
- # For example, if you have a strategy that contains two capacity
445
- # providers and both have a weight of `1`, then when the `base` is
446
- # satisfied, the tasks will be split evenly across the two capacity
447
- # providers. Using that same logic, if you specify a weight of `1` for
448
- # *capacityProviderA* and a weight of `4` for *capacityProviderB*,
449
- # then for every one task that is run using *capacityProviderA*, four
450
- # tasks would use *capacityProviderB*.
445
+ # provider. The `weight` value is taken into consideration after the
446
+ # `base` value, if defined, is satisfied.
447
+ #
448
+ # If no `weight` value is specified, the default value of `0` is used.
449
+ # When multiple capacity providers are specified within a capacity
450
+ # provider strategy, at least one of the capacity providers must have
451
+ # a weight value greater than zero and any capacity providers with a
452
+ # weight of `0` will not be used to place tasks. If you specify
453
+ # multiple capacity providers in a strategy that all have a weight of
454
+ # `0`, any `RunTask` or `CreateService` actions using the capacity
455
+ # provider strategy will fail.
456
+ #
457
+ # An example scenario for using weights is defining a strategy that
458
+ # contains two capacity providers and both have a weight of `1`, then
459
+ # when the `base` is satisfied, the tasks will be split evenly across
460
+ # the two capacity providers. Using that same logic, if you specify a
461
+ # weight of `1` for *capacityProviderA* and a weight of `4` for
462
+ # *capacityProviderB*, then for every one task that is run using
463
+ # *capacityProviderA*, four tasks would use *capacityProviderB*.
451
464
  # @return [Integer]
452
465
  #
453
466
  # @!attribute [rw] base
454
467
  # The *base* value designates how many tasks, at a minimum, to run on
455
468
  # the specified capacity provider. Only one capacity provider in a
456
- # capacity provider strategy can have a *base* defined.
469
+ # capacity provider strategy can have a *base* defined. If no value is
470
+ # specified, the default value of `0` is used.
457
471
  # @return [Integer]
458
472
  #
459
473
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CapacityProviderStrategyItem AWS API Documentation
@@ -500,6 +514,10 @@ module Aws::ECS
500
514
  # A user-generated string that you use to identify your cluster.
501
515
  # @return [String]
502
516
  #
517
+ # @!attribute [rw] configuration
518
+ # The execute command configuration for the cluster.
519
+ # @return [Types::ClusterConfiguration]
520
+ #
503
521
  # @!attribute [rw] status
504
522
  # The status of the cluster. The following are the possible states
505
523
  # that will be returned.
@@ -648,6 +666,7 @@ module Aws::ECS
648
666
  class Cluster < Struct.new(
649
667
  :cluster_arn,
650
668
  :cluster_name,
669
+ :configuration,
651
670
  :status,
652
671
  :registered_container_instances_count,
653
672
  :running_tasks_count,
@@ -664,6 +683,37 @@ module Aws::ECS
664
683
  include Aws::Structure
665
684
  end
666
685
 
686
+ # The execute command configuration for the cluster.
687
+ #
688
+ # @note When making an API call, you may pass ClusterConfiguration
689
+ # data as a hash:
690
+ #
691
+ # {
692
+ # execute_command_configuration: {
693
+ # kms_key_id: "String",
694
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
695
+ # log_configuration: {
696
+ # cloud_watch_log_group_name: "String",
697
+ # cloud_watch_encryption_enabled: false,
698
+ # s3_bucket_name: "String",
699
+ # s3_encryption_enabled: false,
700
+ # s3_key_prefix: "String",
701
+ # },
702
+ # },
703
+ # }
704
+ #
705
+ # @!attribute [rw] execute_command_configuration
706
+ # The details of the execute command configuration.
707
+ # @return [Types::ExecuteCommandConfiguration]
708
+ #
709
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ClusterConfiguration AWS API Documentation
710
+ #
711
+ class ClusterConfiguration < Struct.new(
712
+ :execute_command_configuration)
713
+ SENSITIVE = []
714
+ include Aws::Structure
715
+ end
716
+
667
717
  # You cannot delete a cluster that has registered container instances.
668
718
  # First, deregister the container instances before you can delete the
669
719
  # cluster. For more information, see DeregisterContainerInstance.
@@ -786,6 +836,11 @@ module Aws::ECS
786
836
  # reports the health status as `UNKNOWN`.
787
837
  # @return [String]
788
838
  #
839
+ # @!attribute [rw] managed_agents
840
+ # The details of any Amazon ECS managed agents associated with the
841
+ # container.
842
+ # @return [Array<Types::ManagedAgent>]
843
+ #
789
844
  # @!attribute [rw] cpu
790
845
  # The number of CPU units set for the container. The value will be `0`
791
846
  # if no value was specified in the container definition when the task
@@ -819,6 +874,7 @@ module Aws::ECS
819
874
  :network_bindings,
820
875
  :network_interfaces,
821
876
  :health_status,
877
+ :managed_agents,
822
878
  :cpu,
823
879
  :memory,
824
880
  :memory_reservation,
@@ -987,9 +1043,9 @@ module Aws::ECS
987
1043
  # together in a task definition, the `name` of one container can be
988
1044
  # entered in the `links` of another container to connect the
989
1045
  # containers. Up to 255 letters (uppercase and lowercase), numbers,
990
- # and hyphens are allowed. This parameter maps to `name` in the
991
- # [Create a container][1] section of the [Docker Remote API][2] and
992
- # the `--name` option to [docker run][3].
1046
+ # underscores, and hyphens are allowed. This parameter maps to `name`
1047
+ # in the [Create a container][1] section of the [Docker Remote API][2]
1048
+ # and the `--name` option to [docker run][3].
993
1049
  #
994
1050
  #
995
1051
  #
@@ -1177,15 +1233,14 @@ module Aws::ECS
1177
1233
  # other without the need for port mappings. This parameter is only
1178
1234
  # supported if the network mode of a task definition is `bridge`. The
1179
1235
  # `name:internalName` construct is analogous to `name:alias` in Docker
1180
- # links. Up to 255 letters (uppercase and lowercase), numbers, and
1181
- # hyphens are allowed. For more information about linking Docker
1182
- # containers, go to [Legacy container links][1] in the Docker
1183
- # documentation. This parameter maps to `Links` in the [Create a
1184
- # container][2] section of the [Docker Remote API][3] and the `--link`
1185
- # option to [docker run][4].
1236
+ # links. Up to 255 letters (uppercase and lowercase), numbers,
1237
+ # underscores, and hyphens are allowed. For more information about
1238
+ # linking Docker containers, go to [Legacy container links][1] in the
1239
+ # Docker documentation. This parameter maps to `Links` in the [Create
1240
+ # a container][2] section of the [Docker Remote API][3] and the
1241
+ # `--link` option to [docker run][4].
1186
1242
  #
1187
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1188
- # use the awsvpc network mode.
1243
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1189
1244
  #
1190
1245
  # </note>
1191
1246
  #
@@ -1533,8 +1588,7 @@ module Aws::ECS
1533
1588
  #
1534
1589
  # * `uid:group`
1535
1590
  #
1536
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1537
- # use the awsvpc network mode.
1591
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1538
1592
  #
1539
1593
  # </note>
1540
1594
  #
@@ -1563,8 +1617,7 @@ module Aws::ECS
1563
1617
  # container. This parameter maps to `NetworkDisabled` in the [Create a
1564
1618
  # container][1] section of the [Docker Remote API][2].
1565
1619
  #
1566
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1567
- # use the awsvpc network mode.
1620
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1568
1621
  #
1569
1622
  # </note>
1570
1623
  #
@@ -1581,8 +1634,8 @@ module Aws::ECS
1581
1634
  # container][1] section of the [Docker Remote API][2] and the
1582
1635
  # `--privileged` option to [docker run][3].
1583
1636
  #
1584
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
1585
- # using the Fargate launch type.
1637
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
1638
+ # on AWS Fargate.
1586
1639
  #
1587
1640
  # </note>
1588
1641
  #
@@ -1599,8 +1652,7 @@ module Aws::ECS
1599
1652
  # the [Create a container][1] section of the [Docker Remote API][2]
1600
1653
  # and the `--read-only` option to [docker run][3].
1601
1654
  #
1602
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1603
- # use the awsvpc network mode.
1655
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1604
1656
  #
1605
1657
  # </note>
1606
1658
  #
@@ -1617,8 +1669,7 @@ module Aws::ECS
1617
1669
  # the [Docker Remote API][2] and the `--dns` option to [docker
1618
1670
  # run][3].
1619
1671
  #
1620
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1621
- # use the awsvpc network mode.
1672
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1622
1673
  #
1623
1674
  # </note>
1624
1675
  #
@@ -1635,8 +1686,7 @@ module Aws::ECS
1635
1686
  # section of the [Docker Remote API][2] and the `--dns-search` option
1636
1687
  # to [docker run][3].
1637
1688
  #
1638
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1639
- # use the awsvpc network mode.
1689
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1640
1690
  #
1641
1691
  # </note>
1642
1692
  #
@@ -1753,14 +1803,22 @@ module Aws::ECS
1753
1803
  # set by Docker. This parameter maps to `Ulimits` in the [Create a
1754
1804
  # container][1] section of the [Docker Remote API][2] and the
1755
1805
  # `--ulimit` option to [docker run][3]. Valid naming values are
1756
- # displayed in the Ulimit data type. This parameter requires version
1757
- # 1.18 of the Docker Remote API or greater on your container instance.
1758
- # To check the Docker Remote API version on your container instance,
1759
- # log in to your container instance and run the following command:
1760
- # `sudo docker version --format '\{\{.Server.APIVersion\}\}'`
1806
+ # displayed in the Ulimit data type.
1761
1807
  #
1762
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1763
- # use the awsvpc network mode.
1808
+ # Amazon ECS tasks hosted on Fargate use the default resource limit
1809
+ # values set by the operating system with the exception of the
1810
+ # `nofile` resource limit parameter which Fargate overrides. The
1811
+ # `nofile` resource limit sets a restriction on the number of open
1812
+ # files that a container can use. The default `nofile` soft limit is
1813
+ # `1024` and hard limit is `4096`.
1814
+ #
1815
+ # This parameter requires version 1.18 of the Docker Remote API or
1816
+ # greater on your container instance. To check the Docker Remote API
1817
+ # version on your container instance, log in to your container
1818
+ # instance and run the following command: `sudo docker version
1819
+ # --format '\{\{.Server.APIVersion\}\}'`
1820
+ #
1821
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1764
1822
  #
1765
1823
  # </note>
1766
1824
  #
@@ -2441,6 +2499,19 @@ module Aws::ECS
2441
2499
  # value: "String",
2442
2500
  # },
2443
2501
  # ],
2502
+ # configuration: {
2503
+ # execute_command_configuration: {
2504
+ # kms_key_id: "String",
2505
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
2506
+ # log_configuration: {
2507
+ # cloud_watch_log_group_name: "String",
2508
+ # cloud_watch_encryption_enabled: false,
2509
+ # s3_bucket_name: "String",
2510
+ # s3_encryption_enabled: false,
2511
+ # s3_key_prefix: "String",
2512
+ # },
2513
+ # },
2514
+ # },
2444
2515
  # capacity_providers: ["String"],
2445
2516
  # default_capacity_provider_strategy: [
2446
2517
  # {
@@ -2454,7 +2525,8 @@ module Aws::ECS
2454
2525
  # @!attribute [rw] cluster_name
2455
2526
  # The name of your cluster. If you do not specify a name for your
2456
2527
  # cluster, you create a cluster named `default`. Up to 255 letters
2457
- # (uppercase and lowercase), numbers, and hyphens are allowed.
2528
+ # (uppercase and lowercase), numbers, underscores, and hyphens are
2529
+ # allowed.
2458
2530
  # @return [String]
2459
2531
  #
2460
2532
  # @!attribute [rw] tags
@@ -2495,14 +2567,22 @@ module Aws::ECS
2495
2567
  # with PutAccountSetting or PutAccountSettingDefault.
2496
2568
  # @return [Array<Types::ClusterSetting>]
2497
2569
  #
2570
+ # @!attribute [rw] configuration
2571
+ # The execute command configuration for the cluster.
2572
+ # @return [Types::ClusterConfiguration]
2573
+ #
2498
2574
  # @!attribute [rw] capacity_providers
2499
2575
  # The short name of one or more capacity providers to associate with
2500
- # the cluster.
2576
+ # the cluster. A capacity provider must be associated with a cluster
2577
+ # before it can be included as part of the default capacity provider
2578
+ # strategy of the cluster or used in a capacity provider strategy when
2579
+ # calling the CreateService or RunTask actions.
2501
2580
  #
2502
2581
  # If specifying a capacity provider that uses an Auto Scaling group,
2503
2582
  # the capacity provider must already be created and not already
2504
- # associated with another cluster. New capacity providers can be
2505
- # created with the CreateCapacityProvider API operation.
2583
+ # associated with another cluster. New Auto Scaling group capacity
2584
+ # providers can be created with the CreateCapacityProvider API
2585
+ # operation.
2506
2586
  #
2507
2587
  # To use a AWS Fargate capacity provider, specify either the `FARGATE`
2508
2588
  # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
@@ -2515,29 +2595,12 @@ module Aws::ECS
2515
2595
  # @return [Array<String>]
2516
2596
  #
2517
2597
  # @!attribute [rw] default_capacity_provider_strategy
2518
- # The capacity provider strategy to use by default for the cluster.
2519
- #
2520
- # When creating a service or running a task on a cluster, if no
2521
- # capacity provider or launch type is specified then the default
2598
+ # The capacity provider strategy to set as the default for the
2599
+ # cluster. When a default capacity provider strategy is set for a
2600
+ # cluster, when calling the RunTask or CreateService APIs wtih no
2601
+ # capacity provider strategy or launch type specified, the default
2522
2602
  # capacity provider strategy for the cluster is used.
2523
2603
  #
2524
- # A capacity provider strategy consists of one or more capacity
2525
- # providers along with the `base` and `weight` to assign to them. A
2526
- # capacity provider must be associated with the cluster to be used in
2527
- # a capacity provider strategy. The PutClusterCapacityProviders API is
2528
- # used to associate a capacity provider with a cluster. Only capacity
2529
- # providers with an `ACTIVE` or `UPDATING` status can be used.
2530
- #
2531
- # If specifying a capacity provider that uses an Auto Scaling group,
2532
- # the capacity provider must already be created. New capacity
2533
- # providers can be created with the CreateCapacityProvider API
2534
- # operation.
2535
- #
2536
- # To use a AWS Fargate capacity provider, specify either the `FARGATE`
2537
- # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
2538
- # providers are available to all accounts and only need to be
2539
- # associated with a cluster to be used.
2540
- #
2541
2604
  # If a default capacity provider strategy is not defined for a cluster
2542
2605
  # during creation, it can be defined later with the
2543
2606
  # PutClusterCapacityProviders API operation.
@@ -2549,6 +2612,7 @@ module Aws::ECS
2549
2612
  :cluster_name,
2550
2613
  :tags,
2551
2614
  :settings,
2615
+ :configuration,
2552
2616
  :capacity_providers,
2553
2617
  :default_capacity_provider_strategy)
2554
2618
  SENSITIVE = []
@@ -2642,6 +2706,7 @@ module Aws::ECS
2642
2706
  # ],
2643
2707
  # enable_ecs_managed_tags: false,
2644
2708
  # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
2709
+ # enable_execute_command: false,
2645
2710
  # }
2646
2711
  #
2647
2712
  # @!attribute [rw] cluster
@@ -2652,9 +2717,10 @@ module Aws::ECS
2652
2717
  #
2653
2718
  # @!attribute [rw] service_name
2654
2719
  # The name of your service. Up to 255 letters (uppercase and
2655
- # lowercase), numbers, and hyphens are allowed. Service names must be
2656
- # unique within a cluster, but you can have similarly named services
2657
- # in multiple clusters within a Region or across multiple Regions.
2720
+ # lowercase), numbers, underscores, and hyphens are allowed. Service
2721
+ # names must be unique within a cluster, but you can have similarly
2722
+ # named services in multiple clusters within a Region or across
2723
+ # multiple Regions.
2658
2724
  # @return [String]
2659
2725
  #
2660
2726
  # @!attribute [rw] task_definition
@@ -2676,7 +2742,7 @@ module Aws::ECS
2676
2742
  # Load Balancer, you must specify one or more target group ARNs to
2677
2743
  # attach to the service. The service-linked role is required for
2678
2744
  # services that make use of multiple target groups. For more
2679
- # information, see [Using Service-Linked Roles for Amazon ECS][2] in
2745
+ # information, see [Using service-linked roles for Amazon ECS][2] in
2680
2746
  # the *Amazon Elastic Container Service Developer Guide*.
2681
2747
  #
2682
2748
  # If the service is using the `CODE_DEPLOY` deployment controller, the
@@ -2729,19 +2795,17 @@ module Aws::ECS
2729
2795
  # @return [Array<Types::LoadBalancer>]
2730
2796
  #
2731
2797
  # @!attribute [rw] service_registries
2732
- # The details of the service discovery registries to assign to this
2733
- # service. For more information, see [Service Discovery][1].
2798
+ # The details of the service discovery registry to associate with this
2799
+ # service. For more information, see [Service discovery][1].
2734
2800
  #
2735
- # <note markdown="1"> Service discovery is supported for Fargate tasks if you are using
2736
- # platform version v1.1.0 or later. For more information, see [AWS
2737
- # Fargate Platform Versions][2].
2801
+ # <note markdown="1"> Each service may be associated with one service registry. Multiple
2802
+ # service registries per service isn't supported.
2738
2803
  #
2739
2804
  # </note>
2740
2805
  #
2741
2806
  #
2742
2807
  #
2743
2808
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html
2744
- # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html
2745
2809
  # @return [Array<Types::ServiceRegistry>]
2746
2810
  #
2747
2811
  # @!attribute [rw] desired_count
@@ -2759,9 +2823,18 @@ module Aws::ECS
2759
2823
  # @return [String]
2760
2824
  #
2761
2825
  # @!attribute [rw] launch_type
2762
- # The launch type on which to run your service. For more information,
2763
- # see [Amazon ECS Launch Types][1] in the *Amazon Elastic Container
2764
- # Service Developer Guide*.
2826
+ # The launch type on which to run your service. The accepted values
2827
+ # are `FARGATE` and `EC2`. For more information, see [Amazon ECS
2828
+ # launch types][1] in the *Amazon Elastic Container Service Developer
2829
+ # Guide*.
2830
+ #
2831
+ # When a value of `FARGATE` is specified, your tasks are launched on
2832
+ # AWS Fargate On-Demand infrastructure. To use Fargate Spot, you must
2833
+ # use a capacity provider strategy with the `FARGATE_SPOT` capacity
2834
+ # provider.
2835
+ #
2836
+ # When a value of `EC2` is specified, your tasks are launched on
2837
+ # Amazon EC2 instances registered to your cluster.
2765
2838
  #
2766
2839
  # If a `launchType` is specified, the `capacityProviderStrategy`
2767
2840
  # parameter must be omitted.
@@ -2774,39 +2847,18 @@ module Aws::ECS
2774
2847
  # @!attribute [rw] capacity_provider_strategy
2775
2848
  # The capacity provider strategy to use for the service.
2776
2849
  #
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
2850
  # If a `capacityProviderStrategy` is specified, the `launchType`
2785
2851
  # parameter must be omitted. If no `capacityProviderStrategy` or
2786
2852
  # `launchType` is specified, the `defaultCapacityProviderStrategy` for
2787
2853
  # 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
2854
  # @return [Array<Types::CapacityProviderStrategyItem>]
2803
2855
  #
2804
2856
  # @!attribute [rw] platform_version
2805
2857
  # The platform version that your tasks in the service are running on.
2806
2858
  # A platform version is specified only for tasks using the Fargate
2807
2859
  # 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
2860
+ # is used by default. For more information, see [AWS Fargate platform
2861
+ # versions][1] in the *Amazon Elastic Container Service Developer
2810
2862
  # Guide*.
2811
2863
  #
2812
2864
  #
@@ -2830,14 +2882,14 @@ module Aws::ECS
2830
2882
  # configured to use service discovery, an external deployment
2831
2883
  # controller, multiple target groups, or Elastic Inference
2832
2884
  # accelerators in which case you should not specify a role here. For
2833
- # more information, see [Using Service-Linked Roles for Amazon ECS][1]
2885
+ # more information, see [Using service-linked roles for Amazon ECS][1]
2834
2886
  # in the *Amazon Elastic Container Service Developer Guide*.
2835
2887
  #
2836
2888
  # If your specified role has a path other than `/`, then you must
2837
2889
  # either specify the full role ARN (this is recommended) or prefix the
2838
2890
  # role name with the path. For example, if a role with the name `bar`
2839
2891
  # 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
2892
+ # name. For more information, see [Friendly names and paths][2] in the
2841
2893
  # *IAM User Guide*.
2842
2894
  #
2843
2895
  #
@@ -2869,7 +2921,7 @@ module Aws::ECS
2869
2921
  # required for task definitions that use the `awsvpc` network mode to
2870
2922
  # receive their own elastic network interface, and it is not supported
2871
2923
  # for other network modes. For more information, see [Task
2872
- # Networking][1] in the *Amazon Elastic Container Service Developer
2924
+ # networking][1] in the *Amazon Elastic Container Service Developer
2873
2925
  # Guide*.
2874
2926
  #
2875
2927
  #
@@ -2928,7 +2980,8 @@ module Aws::ECS
2928
2980
  # @return [String]
2929
2981
  #
2930
2982
  # @!attribute [rw] deployment_controller
2931
- # The deployment controller to use for the service.
2983
+ # The deployment controller to use for the service. If no deployment
2984
+ # controller is specified, the default value of `ECS` is used.
2932
2985
  # @return [Types::DeploymentController]
2933
2986
  #
2934
2987
  # @!attribute [rw] tags
@@ -2982,6 +3035,12 @@ module Aws::ECS
2982
3035
  # task after service creation, use the TagResource API action.
2983
3036
  # @return [String]
2984
3037
  #
3038
+ # @!attribute [rw] enable_execute_command
3039
+ # Whether or not the execute command functionality is enabled for the
3040
+ # service. If `true`, this enables execute command functionality on
3041
+ # all containers in the service tasks.
3042
+ # @return [Boolean]
3043
+ #
2985
3044
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateServiceRequest AWS API Documentation
2986
3045
  #
2987
3046
  class CreateServiceRequest < Struct.new(
@@ -3005,7 +3064,8 @@ module Aws::ECS
3005
3064
  :deployment_controller,
3006
3065
  :tags,
3007
3066
  :enable_ecs_managed_tags,
3008
- :propagate_tags)
3067
+ :propagate_tags,
3068
+ :enable_execute_command)
3009
3069
  SENSITIVE = []
3010
3070
  include Aws::Structure
3011
3071
  end
@@ -3107,8 +3167,7 @@ module Aws::ECS
3107
3167
  # @return [String]
3108
3168
  #
3109
3169
  # @!attribute [rw] network_configuration
3110
- # An object representing the network configuration for a task or
3111
- # service.
3170
+ # An object representing the network configuration for a task set.
3112
3171
  # @return [Types::NetworkConfiguration]
3113
3172
  #
3114
3173
  # @!attribute [rw] load_balancers
@@ -3240,9 +3299,9 @@ module Aws::ECS
3240
3299
 
3241
3300
  # @!attribute [rw] task_set
3242
3301
  # 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.
3302
+ # CodeDeploy or an `EXTERNAL` deployment. A task set includes details
3303
+ # such as the desired number of tasks, how many tasks are running, and
3304
+ # whether the task set serves production traffic.
3246
3305
  # @return [Types::TaskSet]
3247
3306
  #
3248
3307
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSetResponse AWS API Documentation
@@ -3374,7 +3433,7 @@ module Aws::ECS
3374
3433
  end
3375
3434
 
3376
3435
  # @!attribute [rw] capacity_provider
3377
- # The details of a capacity provider.
3436
+ # The details of the capacity provider.
3378
3437
  # @return [Types::CapacityProvider]
3379
3438
  #
3380
3439
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCapacityProviderResponse AWS API Documentation
@@ -3506,10 +3565,7 @@ module Aws::ECS
3506
3565
  end
3507
3566
 
3508
3567
  # @!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.
3568
+ # Details about the task set.
3513
3569
  # @return [Types::TaskSet]
3514
3570
  #
3515
3571
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSetResponse AWS API Documentation
@@ -4035,7 +4091,7 @@ module Aws::ECS
4035
4091
  #
4036
4092
  # {
4037
4093
  # clusters: ["String"],
4038
- # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, SETTINGS, STATISTICS, TAGS
4094
+ # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, CONFIGURATIONS, SETTINGS, STATISTICS, TAGS
4039
4095
  # }
4040
4096
  #
4041
4097
  # @!attribute [rw] clusters
@@ -4720,12 +4776,12 @@ module Aws::ECS
4720
4776
  # variables contained within an environment file. If multiple
4721
4777
  # environment files are specified that contain the same variable, they
4722
4778
  # 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
4779
+ # variable names. For more information, see [Specifying environment
4780
+ # variables][2] in the *Amazon Elastic Container Service Developer
4725
4781
  # Guide*.
4726
4782
  #
4727
- # This field is not valid for containers in tasks using the Fargate
4728
- # launch type.
4783
+ # This field is only valid for containers in Fargate tasks that use
4784
+ # platform version `1.4.0` or later.
4729
4785
  #
4730
4786
  #
4731
4787
  #
@@ -4758,6 +4814,241 @@ module Aws::ECS
4758
4814
  include Aws::Structure
4759
4815
  end
4760
4816
 
4817
+ # The amount of ephemeral storage to allocate for the task. This
4818
+ # parameter is used to expand the total amount of ephemeral storage
4819
+ # available, beyond the default amount, for tasks hosted on AWS Fargate.
4820
+ # For more information, see [Fargate task storage][1] in the *Amazon ECS
4821
+ # User Guide for AWS Fargate*.
4822
+ #
4823
+ # <note markdown="1"> This parameter is only supported for tasks hosted on AWS Fargate using
4824
+ # platform version `1.4.0` or later.
4825
+ #
4826
+ # </note>
4827
+ #
4828
+ #
4829
+ #
4830
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html
4831
+ #
4832
+ # @note When making an API call, you may pass EphemeralStorage
4833
+ # data as a hash:
4834
+ #
4835
+ # {
4836
+ # size_in_gi_b: 1, # required
4837
+ # }
4838
+ #
4839
+ # @!attribute [rw] size_in_gi_b
4840
+ # The total amount, in GiB, of ephemeral storage to set for the task.
4841
+ # The minimum supported value is `21` GiB and the maximum supported
4842
+ # value is `200` GiB.
4843
+ # @return [Integer]
4844
+ #
4845
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/EphemeralStorage AWS API Documentation
4846
+ #
4847
+ class EphemeralStorage < Struct.new(
4848
+ :size_in_gi_b)
4849
+ SENSITIVE = []
4850
+ include Aws::Structure
4851
+ end
4852
+
4853
+ # The details of the execute command configuration.
4854
+ #
4855
+ # @note When making an API call, you may pass ExecuteCommandConfiguration
4856
+ # data as a hash:
4857
+ #
4858
+ # {
4859
+ # kms_key_id: "String",
4860
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
4861
+ # log_configuration: {
4862
+ # cloud_watch_log_group_name: "String",
4863
+ # cloud_watch_encryption_enabled: false,
4864
+ # s3_bucket_name: "String",
4865
+ # s3_encryption_enabled: false,
4866
+ # s3_key_prefix: "String",
4867
+ # },
4868
+ # }
4869
+ #
4870
+ # @!attribute [rw] kms_key_id
4871
+ # Specify an AWS Key Management Service key ID to encrypt the data
4872
+ # between the local client and the container.
4873
+ # @return [String]
4874
+ #
4875
+ # @!attribute [rw] logging
4876
+ # The log setting to use for redirecting logs for your execute command
4877
+ # results. The following log settings are available.
4878
+ #
4879
+ # * `NONE`\: The execute command session is not logged.
4880
+ #
4881
+ # * `DEFAULT`\: The `awslogs` configuration in the task definition is
4882
+ # used. If no logging parameter is specified, it defaults to this
4883
+ # value. If no `awslogs` log driver is configured in the task
4884
+ # definition, the output won't be logged.
4885
+ #
4886
+ # * `OVERRIDE`\: Specify the logging details as a part of
4887
+ # `logConfiguration`. If the `OVERRIDE` logging option is specified,
4888
+ # the `logConfiguration` is required.
4889
+ # @return [String]
4890
+ #
4891
+ # @!attribute [rw] log_configuration
4892
+ # The log configuration for the results of the execute command
4893
+ # actions. The logs can be sent to CloudWatch Logs or an Amazon S3
4894
+ # bucket. When `logging=OVERRIDE` is specified, a `logConfiguration`
4895
+ # must be provided.
4896
+ # @return [Types::ExecuteCommandLogConfiguration]
4897
+ #
4898
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommandConfiguration AWS API Documentation
4899
+ #
4900
+ class ExecuteCommandConfiguration < Struct.new(
4901
+ :kms_key_id,
4902
+ :logging,
4903
+ :log_configuration)
4904
+ SENSITIVE = []
4905
+ include Aws::Structure
4906
+ end
4907
+
4908
+ # The log configuration for the results of the execute command actions.
4909
+ # The logs can be sent to CloudWatch Logs or an Amazon S3 bucket.
4910
+ #
4911
+ # @note When making an API call, you may pass ExecuteCommandLogConfiguration
4912
+ # data as a hash:
4913
+ #
4914
+ # {
4915
+ # cloud_watch_log_group_name: "String",
4916
+ # cloud_watch_encryption_enabled: false,
4917
+ # s3_bucket_name: "String",
4918
+ # s3_encryption_enabled: false,
4919
+ # s3_key_prefix: "String",
4920
+ # }
4921
+ #
4922
+ # @!attribute [rw] cloud_watch_log_group_name
4923
+ # The name of the CloudWatch log group to send logs to.
4924
+ #
4925
+ # <note markdown="1"> The CloudWatch log group must already be created.
4926
+ #
4927
+ # </note>
4928
+ # @return [String]
4929
+ #
4930
+ # @!attribute [rw] cloud_watch_encryption_enabled
4931
+ # Whether or not to enable encryption on the CloudWatch logs. If not
4932
+ # specified, encryption will be disabled.
4933
+ # @return [Boolean]
4934
+ #
4935
+ # @!attribute [rw] s3_bucket_name
4936
+ # The name of the S3 bucket to send logs to.
4937
+ #
4938
+ # <note markdown="1"> The S3 bucket must already be created.
4939
+ #
4940
+ # </note>
4941
+ # @return [String]
4942
+ #
4943
+ # @!attribute [rw] s3_encryption_enabled
4944
+ # Whether or not to enable encryption on the CloudWatch logs. If not
4945
+ # specified, encryption will be disabled.
4946
+ # @return [Boolean]
4947
+ #
4948
+ # @!attribute [rw] s3_key_prefix
4949
+ # An optional folder in the S3 bucket to place logs in.
4950
+ # @return [String]
4951
+ #
4952
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommandLogConfiguration AWS API Documentation
4953
+ #
4954
+ class ExecuteCommandLogConfiguration < Struct.new(
4955
+ :cloud_watch_log_group_name,
4956
+ :cloud_watch_encryption_enabled,
4957
+ :s3_bucket_name,
4958
+ :s3_encryption_enabled,
4959
+ :s3_key_prefix)
4960
+ SENSITIVE = []
4961
+ include Aws::Structure
4962
+ end
4963
+
4964
+ # @note When making an API call, you may pass ExecuteCommandRequest
4965
+ # data as a hash:
4966
+ #
4967
+ # {
4968
+ # cluster: "String",
4969
+ # container: "String",
4970
+ # command: "String", # required
4971
+ # interactive: false, # required
4972
+ # task: "String", # required
4973
+ # }
4974
+ #
4975
+ # @!attribute [rw] cluster
4976
+ # The Amazon Resource Name (ARN) or short name of the cluster the task
4977
+ # is running in. If you do not specify a cluster, the default cluster
4978
+ # is assumed.
4979
+ # @return [String]
4980
+ #
4981
+ # @!attribute [rw] container
4982
+ # The name of the container to execute the command on. A container
4983
+ # name only needs to be specified for tasks containing multiple
4984
+ # containers.
4985
+ # @return [String]
4986
+ #
4987
+ # @!attribute [rw] command
4988
+ # The command to run on the container.
4989
+ # @return [String]
4990
+ #
4991
+ # @!attribute [rw] interactive
4992
+ # Use this flag to run your command in interactive mode.
4993
+ # @return [Boolean]
4994
+ #
4995
+ # @!attribute [rw] task
4996
+ # The Amazon Resource Name (ARN) or ID of the task the container is
4997
+ # part of.
4998
+ # @return [String]
4999
+ #
5000
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommandRequest AWS API Documentation
5001
+ #
5002
+ class ExecuteCommandRequest < Struct.new(
5003
+ :cluster,
5004
+ :container,
5005
+ :command,
5006
+ :interactive,
5007
+ :task)
5008
+ SENSITIVE = []
5009
+ include Aws::Structure
5010
+ end
5011
+
5012
+ # @!attribute [rw] cluster_arn
5013
+ # The Amazon Resource Name (ARN) of the cluster.
5014
+ # @return [String]
5015
+ #
5016
+ # @!attribute [rw] container_arn
5017
+ # The Amazon Resource Name (ARN) of the container.
5018
+ # @return [String]
5019
+ #
5020
+ # @!attribute [rw] container_name
5021
+ # The name of the container.
5022
+ # @return [String]
5023
+ #
5024
+ # @!attribute [rw] interactive
5025
+ # Whether or not the execute command session is running in interactive
5026
+ # mode. Amazon ECS only supports initiating interactive sessions, so
5027
+ # you must specify `true` for this value.
5028
+ # @return [Boolean]
5029
+ #
5030
+ # @!attribute [rw] session
5031
+ # The details of the SSM session that was created for this instance of
5032
+ # execute-command.
5033
+ # @return [Types::Session]
5034
+ #
5035
+ # @!attribute [rw] task_arn
5036
+ # The Amazon Resource Name (ARN) of the task.
5037
+ # @return [String]
5038
+ #
5039
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommandResponse AWS API Documentation
5040
+ #
5041
+ class ExecuteCommandResponse < Struct.new(
5042
+ :cluster_arn,
5043
+ :container_arn,
5044
+ :container_name,
5045
+ :interactive,
5046
+ :session,
5047
+ :task_arn)
5048
+ SENSITIVE = []
5049
+ include Aws::Structure
5050
+ end
5051
+
4761
5052
  # The authorization configuration details for Amazon FSx for Windows
4762
5053
  # File Server file system. See
4763
5054
  # [FSxWindowsFileServerVolumeConfiguration][1] in the *Amazon Elastic
@@ -4918,6 +5209,11 @@ module Aws::ECS
4918
5209
  # FireLens Configuration][1] in the *Amazon Elastic Container Service
4919
5210
  # Developer Guide*.
4920
5211
  #
5212
+ # <note markdown="1"> Tasks hosted on AWS Fargate only support the `file` configuration
5213
+ # file type.
5214
+ #
5215
+ # </note>
5216
+ #
4921
5217
  #
4922
5218
  #
4923
5219
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef
@@ -5500,6 +5796,11 @@ module Aws::ECS
5500
5796
  # The ARN of the principal, which can be an IAM user, IAM role, or the
5501
5797
  # root user. If this field is omitted, the account settings are listed
5502
5798
  # only for the authenticated user.
5799
+ #
5800
+ # <note markdown="1"> Federated users assume the account setting of the root user and
5801
+ # can't have explicit account settings set for them.
5802
+ #
5803
+ # </note>
5503
5804
  # @return [String]
5504
5805
  #
5505
5806
  # @!attribute [rw] effective_settings
@@ -6447,6 +6748,75 @@ module Aws::ECS
6447
6748
  include Aws::Structure
6448
6749
  end
6449
6750
 
6751
+ # Details about the managed agent status for the container.
6752
+ #
6753
+ # @!attribute [rw] last_started_at
6754
+ # The Unix timestamp for when the managed agent was last started.
6755
+ # @return [Time]
6756
+ #
6757
+ # @!attribute [rw] name
6758
+ # The name of the managed agent. When the execute command feature is
6759
+ # enabled, the managed agent name is `ExecuteCommandAgent`.
6760
+ # @return [String]
6761
+ #
6762
+ # @!attribute [rw] reason
6763
+ # The reason for why the managed agent is in the state it is in.
6764
+ # @return [String]
6765
+ #
6766
+ # @!attribute [rw] last_status
6767
+ # The last known status of the managed agent.
6768
+ # @return [String]
6769
+ #
6770
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedAgent AWS API Documentation
6771
+ #
6772
+ class ManagedAgent < Struct.new(
6773
+ :last_started_at,
6774
+ :name,
6775
+ :reason,
6776
+ :last_status)
6777
+ SENSITIVE = []
6778
+ include Aws::Structure
6779
+ end
6780
+
6781
+ # An object representing a change in state for a managed agent.
6782
+ #
6783
+ # @note When making an API call, you may pass ManagedAgentStateChange
6784
+ # data as a hash:
6785
+ #
6786
+ # {
6787
+ # container_name: "String", # required
6788
+ # managed_agent_name: "ExecuteCommandAgent", # required, accepts ExecuteCommandAgent
6789
+ # status: "String", # required
6790
+ # reason: "String",
6791
+ # }
6792
+ #
6793
+ # @!attribute [rw] container_name
6794
+ # The name of the container associated with the managed agent.
6795
+ # @return [String]
6796
+ #
6797
+ # @!attribute [rw] managed_agent_name
6798
+ # The name of the managed agent.
6799
+ # @return [String]
6800
+ #
6801
+ # @!attribute [rw] status
6802
+ # The status of the managed agent.
6803
+ # @return [String]
6804
+ #
6805
+ # @!attribute [rw] reason
6806
+ # The reason for the status of the managed agent.
6807
+ # @return [String]
6808
+ #
6809
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedAgentStateChange AWS API Documentation
6810
+ #
6811
+ class ManagedAgentStateChange < Struct.new(
6812
+ :container_name,
6813
+ :managed_agent_name,
6814
+ :status,
6815
+ :reason)
6816
+ SENSITIVE = []
6817
+ include Aws::Structure
6818
+ end
6819
+
6450
6820
  # The managed scaling settings for the Auto Scaling group capacity
6451
6821
  # provider.
6452
6822
  #
@@ -6820,6 +7190,11 @@ module Aws::ECS
6820
7190
  # The `hostPort` can be left blank or it must be the same value as the
6821
7191
  # `containerPort`.
6822
7192
  #
7193
+ # <note markdown="1"> You cannot expose the same container port for multiple protocols. An
7194
+ # error will be returned if this is attempted
7195
+ #
7196
+ # </note>
7197
+ #
6823
7198
  # After a task reaches the `RUNNING` status, manual and automatic host
6824
7199
  # and container port assignments are visible in the `networkBindings`
6825
7200
  # section of DescribeTasks API responses.
@@ -7019,7 +7394,7 @@ module Aws::ECS
7019
7394
  end
7020
7395
 
7021
7396
  # @!attribute [rw] setting
7022
- # The current account setting for a resource.
7397
+ # The current setting for a resource.
7023
7398
  # @return [Types::Setting]
7024
7399
  #
7025
7400
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefaultResponse AWS API Documentation
@@ -7064,6 +7439,11 @@ module Aws::ECS
7064
7439
  # account unless an IAM user or role explicitly overrides these
7065
7440
  # settings. If this field is omitted, the setting is changed only for
7066
7441
  # the authenticated user.
7442
+ #
7443
+ # <note markdown="1"> Federated users assume the account setting of the root user and
7444
+ # can't have explicit account settings set for them.
7445
+ #
7446
+ # </note>
7067
7447
  # @return [String]
7068
7448
  #
7069
7449
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingRequest AWS API Documentation
@@ -7208,11 +7588,7 @@ module Aws::ECS
7208
7588
  end
7209
7589
 
7210
7590
  # @!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.
7591
+ # Details about the cluster.
7216
7592
  # @return [Types::Cluster]
7217
7593
  #
7218
7594
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProvidersResponse AWS API Documentation
@@ -7598,13 +7974,17 @@ module Aws::ECS
7598
7974
  # device_type: "String", # required
7599
7975
  # },
7600
7976
  # ],
7977
+ # ephemeral_storage: {
7978
+ # size_in_gi_b: 1, # required
7979
+ # },
7601
7980
  # }
7602
7981
  #
7603
7982
  # @!attribute [rw] family
7604
7983
  # You must specify a `family` for a task definition, which allows you
7605
7984
  # to track multiple versions of the same task definition. The `family`
7606
7985
  # is used as a name for your task definition. Up to 255 letters
7607
- # (uppercase and lowercase), numbers, and hyphens are allowed.
7986
+ # (uppercase and lowercase), numbers, underscores, and hyphens are
7987
+ # allowed.
7608
7988
  # @return [String]
7609
7989
  #
7610
7990
  # @!attribute [rw] task_role_arn
@@ -7706,9 +8086,10 @@ module Aws::ECS
7706
8086
  #
7707
8087
  # @!attribute [rw] requires_compatibilities
7708
8088
  # 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`.
8089
+ # definition against. A client exception is returned if the task
8090
+ # definition doesn't validate against the compatibilities specified.
8091
+ # If no value is specified, the parameter is omitted from the
8092
+ # response.
7712
8093
  # @return [Array<String>]
7713
8094
  #
7714
8095
  # @!attribute [rw] cpu
@@ -7829,8 +8210,8 @@ module Aws::ECS
7829
8210
  # risk of undesired process namespace expose. For more information,
7830
8211
  # see [Docker security][2].
7831
8212
  #
7832
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
7833
- # using the Fargate launch type.
8213
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
8214
+ # on AWS Fargate.
7834
8215
  #
7835
8216
  # </note>
7836
8217
  #
@@ -7870,8 +8251,8 @@ module Aws::ECS
7870
8251
  # * For tasks that use the `task` IPC mode, IPC namespace related
7871
8252
  # `systemControls` will apply to all containers within a task.
7872
8253
  #
7873
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
7874
- # using the Fargate launch type.
8254
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
8255
+ # on AWS Fargate.
7875
8256
  #
7876
8257
  # </note>
7877
8258
  #
@@ -7885,17 +8266,18 @@ module Aws::ECS
7885
8266
  # @!attribute [rw] proxy_configuration
7886
8267
  # The configuration details for the App Mesh proxy.
7887
8268
  #
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]
8269
+ # For tasks hosted on Amazon EC2 instances, the container instances
8270
+ # require at least version `1.26.0` of the container agent and at
8271
+ # least version `1.26.0-1` of the `ecs-init` package to enable a proxy
8272
+ # configuration. If your container instances are launched from the
8273
+ # Amazon ECS-optimized AMI version `20190301` or later, then they
8274
+ # contain the required versions of the container agent and `ecs-init`.
8275
+ # For more information, see [Amazon ECS-optimized AMI versions][1] in
8276
+ # the *Amazon Elastic Container Service Developer Guide*.
7895
8277
  #
7896
8278
  #
7897
8279
  #
7898
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
8280
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-ami-versions.html
7899
8281
  # @return [Types::ProxyConfiguration]
7900
8282
  #
7901
8283
  # @!attribute [rw] inference_accelerators
@@ -7903,6 +8285,23 @@ module Aws::ECS
7903
8285
  # task.
7904
8286
  # @return [Array<Types::InferenceAccelerator>]
7905
8287
  #
8288
+ # @!attribute [rw] ephemeral_storage
8289
+ # The amount of ephemeral storage to allocate for the task. This
8290
+ # parameter is used to expand the total amount of ephemeral storage
8291
+ # available, beyond the default amount, for tasks hosted on AWS
8292
+ # Fargate. For more information, see [Fargate task storage][1] in the
8293
+ # *Amazon ECS User Guide for AWS Fargate*.
8294
+ #
8295
+ # <note markdown="1"> This parameter is only supported for tasks hosted on AWS Fargate
8296
+ # using platform version `1.4.0` or later.
8297
+ #
8298
+ # </note>
8299
+ #
8300
+ #
8301
+ #
8302
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html
8303
+ # @return [Types::EphemeralStorage]
8304
+ #
7906
8305
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinitionRequest AWS API Documentation
7907
8306
  #
7908
8307
  class RegisterTaskDefinitionRequest < Struct.new(
@@ -7920,7 +8319,8 @@ module Aws::ECS
7920
8319
  :pid_mode,
7921
8320
  :ipc_mode,
7922
8321
  :proxy_configuration,
7923
- :inference_accelerators)
8322
+ :inference_accelerators,
8323
+ :ephemeral_storage)
7924
8324
  SENSITIVE = []
7925
8325
  include Aws::Structure
7926
8326
  end
@@ -8102,6 +8502,7 @@ module Aws::ECS
8102
8502
  # cluster: "String",
8103
8503
  # count: 1,
8104
8504
  # enable_ecs_managed_tags: false,
8505
+ # enable_execute_command: false,
8105
8506
  # group: "String",
8106
8507
  # launch_type: "EC2", # accepts EC2, FARGATE
8107
8508
  # network_configuration: {
@@ -8149,6 +8550,9 @@ module Aws::ECS
8149
8550
  # execution_role_arn: "String",
8150
8551
  # memory: "String",
8151
8552
  # task_role_arn: "String",
8553
+ # ephemeral_storage: {
8554
+ # size_in_gi_b: 1, # required
8555
+ # },
8152
8556
  # },
8153
8557
  # placement_constraints: [
8154
8558
  # {
@@ -8178,31 +8582,10 @@ module Aws::ECS
8178
8582
  # @!attribute [rw] capacity_provider_strategy
8179
8583
  # The capacity provider strategy to use for the task.
8180
8584
  #
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
8585
  # If a `capacityProviderStrategy` is specified, the `launchType`
8189
8586
  # parameter must be omitted. If no `capacityProviderStrategy` or
8190
8587
  # `launchType` is specified, the `defaultCapacityProviderStrategy` for
8191
8588
  # 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
8589
  # @return [Array<Types::CapacityProviderStrategyItem>]
8207
8590
  #
8208
8591
  # @!attribute [rw] cluster
@@ -8226,6 +8609,12 @@ module Aws::ECS
8226
8609
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
8227
8610
  # @return [Boolean]
8228
8611
  #
8612
+ # @!attribute [rw] enable_execute_command
8613
+ # Whether or not to enable the execute command functionality for the
8614
+ # containers in this task. If `true`, this enables execute command
8615
+ # functionality on all containers in the task.
8616
+ # @return [Boolean]
8617
+ #
8229
8618
  # @!attribute [rw] group
8230
8619
  # The name of the task group to associate with the task. The default
8231
8620
  # value is the family name of the task definition (for example,
@@ -8233,9 +8622,17 @@ module Aws::ECS
8233
8622
  # @return [String]
8234
8623
  #
8235
8624
  # @!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*.
8625
+ # The launch type on which to run your task. The accepted values are
8626
+ # `FARGATE` and `EC2`. For more information, see [Amazon ECS Launch
8627
+ # Types][1] in the *Amazon Elastic Container Service Developer Guide*.
8628
+ #
8629
+ # When a value of `FARGATE` is specified, your tasks are launched on
8630
+ # AWS Fargate On-Demand infrastructure. To use Fargate Spot, you must
8631
+ # use a capacity provider strategy with the `FARGATE_SPOT` capacity
8632
+ # provider.
8633
+ #
8634
+ # When a value of `EC2` is specified, your tasks are launched on
8635
+ # Amazon EC2 instances registered to your cluster.
8239
8636
  #
8240
8637
  # If a `launchType` is specified, the `capacityProviderStrategy`
8241
8638
  # parameter must be omitted.
@@ -8369,6 +8766,7 @@ module Aws::ECS
8369
8766
  :cluster,
8370
8767
  :count,
8371
8768
  :enable_ecs_managed_tags,
8769
+ :enable_execute_command,
8372
8770
  :group,
8373
8771
  :launch_type,
8374
8772
  :network_configuration,
@@ -8508,9 +8906,10 @@ module Aws::ECS
8508
8906
  #
8509
8907
  # @!attribute [rw] service_name
8510
8908
  # 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.
8909
+ # lowercase), numbers, underscores, and hyphens are allowed. Service
8910
+ # names must be unique within a cluster, but you can have similarly
8911
+ # named services in multiple clusters within a Region or across
8912
+ # multiple Regions.
8514
8913
  # @return [String]
8515
8914
  #
8516
8915
  # @!attribute [rw] cluster_arn
@@ -8727,6 +9126,12 @@ module Aws::ECS
8727
9126
  # propagated.
8728
9127
  # @return [String]
8729
9128
  #
9129
+ # @!attribute [rw] enable_execute_command
9130
+ # Whether or not the execute command functionality is enabled for the
9131
+ # service. If `true`, the execute command functionality is enabled for
9132
+ # all containers in tasks as part of the service.
9133
+ # @return [Boolean]
9134
+ #
8730
9135
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Service AWS API Documentation
8731
9136
  #
8732
9137
  class Service < Struct.new(
@@ -8758,7 +9163,8 @@ module Aws::ECS
8758
9163
  :tags,
8759
9164
  :created_by,
8760
9165
  :enable_ecs_managed_tags,
8761
- :propagate_tags)
9166
+ :propagate_tags,
9167
+ :enable_execute_command)
8762
9168
  SENSITIVE = []
8763
9169
  include Aws::Structure
8764
9170
  end
@@ -8865,6 +9271,33 @@ module Aws::ECS
8865
9271
  include Aws::Structure
8866
9272
  end
8867
9273
 
9274
+ # The details of the execute command session.
9275
+ #
9276
+ # @!attribute [rw] session_id
9277
+ # The ID of the execute command session.
9278
+ # @return [String]
9279
+ #
9280
+ # @!attribute [rw] stream_url
9281
+ # A URL back to managed agent on the container that the SSM Session
9282
+ # Manager client uses to send commands and receive output from the
9283
+ # container.
9284
+ # @return [String]
9285
+ #
9286
+ # @!attribute [rw] token_value
9287
+ # An encrypted token value containing session and caller information.
9288
+ # Used to authenticate the connection to the container.
9289
+ # @return [String]
9290
+ #
9291
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Session AWS API Documentation
9292
+ #
9293
+ class Session < Struct.new(
9294
+ :session_id,
9295
+ :stream_url,
9296
+ :token_value)
9297
+ SENSITIVE = [:token_value]
9298
+ include Aws::Structure
9299
+ end
9300
+
8868
9301
  # The current account setting for a resource.
8869
9302
  #
8870
9303
  # @!attribute [rw] name
@@ -8899,6 +9332,7 @@ module Aws::ECS
8899
9332
  # cluster: "String",
8900
9333
  # container_instances: ["String"], # required
8901
9334
  # enable_ecs_managed_tags: false,
9335
+ # enable_execute_command: false,
8902
9336
  # group: "String",
8903
9337
  # network_configuration: {
8904
9338
  # awsvpc_configuration: {
@@ -8945,6 +9379,9 @@ module Aws::ECS
8945
9379
  # execution_role_arn: "String",
8946
9380
  # memory: "String",
8947
9381
  # task_role_arn: "String",
9382
+ # ephemeral_storage: {
9383
+ # size_in_gi_b: 1, # required
9384
+ # },
8948
9385
  # },
8949
9386
  # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
8950
9387
  # reference_id: "String",
@@ -8980,6 +9417,12 @@ module Aws::ECS
8980
9417
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
8981
9418
  # @return [Boolean]
8982
9419
  #
9420
+ # @!attribute [rw] enable_execute_command
9421
+ # Whether or not the execute command functionality is enabled for the
9422
+ # task. If `true`, this enables execute command functionality on all
9423
+ # containers in the task.
9424
+ # @return [Boolean]
9425
+ #
8983
9426
  # @!attribute [rw] group
8984
9427
  # The name of the task group to associate with the task. The default
8985
9428
  # value is the family name of the task definition (for example,
@@ -9074,6 +9517,7 @@ module Aws::ECS
9074
9517
  :cluster,
9075
9518
  :container_instances,
9076
9519
  :enable_ecs_managed_tags,
9520
+ :enable_execute_command,
9077
9521
  :group,
9078
9522
  :network_configuration,
9079
9523
  :overrides,
@@ -9309,6 +9753,14 @@ module Aws::ECS
9309
9753
  # status: "String", # required
9310
9754
  # },
9311
9755
  # ],
9756
+ # managed_agents: [
9757
+ # {
9758
+ # container_name: "String", # required
9759
+ # managed_agent_name: "ExecuteCommandAgent", # required, accepts ExecuteCommandAgent
9760
+ # status: "String", # required
9761
+ # reason: "String",
9762
+ # },
9763
+ # ],
9312
9764
  # pull_started_at: Time.now,
9313
9765
  # pull_stopped_at: Time.now,
9314
9766
  # execution_stopped_at: Time.now,
@@ -9339,6 +9791,10 @@ module Aws::ECS
9339
9791
  # Any attachments associated with the state change request.
9340
9792
  # @return [Array<Types::AttachmentStateChange>]
9341
9793
  #
9794
+ # @!attribute [rw] managed_agents
9795
+ # The details for the managed agent associated with the task.
9796
+ # @return [Array<Types::ManagedAgentStateChange>]
9797
+ #
9342
9798
  # @!attribute [rw] pull_started_at
9343
9799
  # The Unix timestamp for when the container image pull began.
9344
9800
  # @return [Time]
@@ -9360,6 +9816,7 @@ module Aws::ECS
9360
9816
  :reason,
9361
9817
  :containers,
9362
9818
  :attachments,
9819
+ :managed_agents,
9363
9820
  :pull_started_at,
9364
9821
  :pull_stopped_at,
9365
9822
  :execution_stopped_at)
@@ -9552,6 +10009,13 @@ module Aws::ECS
9552
10009
  #
9553
10010
  class TagResourceResponse < Aws::EmptyStructure; end
9554
10011
 
10012
+ # The target container is not properly configured with the execute
10013
+ # command agent or the container is no longer active or running.
10014
+ #
10015
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TargetNotConnectedException AWS API Documentation
10016
+ #
10017
+ class TargetNotConnectedException < Aws::EmptyStructure; end
10018
+
9555
10019
  # The specified target could not be found. You can view your available
9556
10020
  # container instances with ListContainerInstances. Amazon ECS container
9557
10021
  # instances are cluster-specific and Region-specific.
@@ -9647,6 +10111,12 @@ module Aws::ECS
9647
10111
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html
9648
10112
  # @return [String]
9649
10113
  #
10114
+ # @!attribute [rw] enable_execute_command
10115
+ # Whether or not execute command functionality is enabled for this
10116
+ # task. If `true`, this enables execute command functionality on all
10117
+ # containers in the task.
10118
+ # @return [Boolean]
10119
+ #
9650
10120
  # @!attribute [rw] execution_stopped_at
9651
10121
  # The Unix timestamp for when the task execution stopped.
9652
10122
  # @return [Time]
@@ -9829,6 +10299,10 @@ module Aws::ECS
9829
10299
  # version in your event stream is current.
9830
10300
  # @return [Integer]
9831
10301
  #
10302
+ # @!attribute [rw] ephemeral_storage
10303
+ # The ephemeral storage settings for the task.
10304
+ # @return [Types::EphemeralStorage]
10305
+ #
9832
10306
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Task AWS API Documentation
9833
10307
  #
9834
10308
  class Task < Struct.new(
@@ -9844,6 +10318,7 @@ module Aws::ECS
9844
10318
  :cpu,
9845
10319
  :created_at,
9846
10320
  :desired_status,
10321
+ :enable_execute_command,
9847
10322
  :execution_stopped_at,
9848
10323
  :group,
9849
10324
  :health_status,
@@ -9864,7 +10339,8 @@ module Aws::ECS
9864
10339
  :tags,
9865
10340
  :task_arn,
9866
10341
  :task_definition_arn,
9867
- :version)
10342
+ :version,
10343
+ :ephemeral_storage)
9868
10344
  SENSITIVE = []
9869
10345
  include Aws::Structure
9870
10346
  end
@@ -9913,7 +10389,7 @@ module Aws::ECS
9913
10389
  # option is set when you launch the Amazon ECS-optimized Windows AMI.
9914
10390
  # Your containers must also run some configuration code in order to
9915
10391
  # take advantage of the feature. For more information, see [Windows
9916
- # IAM Roles for Tasks][2] in the *Amazon Elastic Container Service
10392
+ # IAM roles for tasks][2] in the *Amazon Elastic Container Service
9917
10393
  # Developer Guide*.
9918
10394
  #
9919
10395
  #
@@ -10000,18 +10476,18 @@ module Aws::ECS
10000
10476
  # @return [Integer]
10001
10477
  #
10002
10478
  # @!attribute [rw] volumes
10003
- # The list of volume definitions for the task.
10479
+ # The list of data volume definitions for the task. For more
10480
+ # information, see [Using data volumes in tasks][1] in the *Amazon
10481
+ # Elastic Container Service Developer Guide*.
10004
10482
  #
10005
- # If your tasks are using the Fargate launch type, the `host` and
10006
- # `sourcePath` parameters are not supported.
10483
+ # <note markdown="1"> The `host` and `sourcePath` parameters are not supported for tasks
10484
+ # run on AWS Fargate.
10007
10485
  #
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*.
10486
+ # </note>
10011
10487
  #
10012
10488
  #
10013
10489
  #
10014
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html
10490
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html
10015
10491
  # @return [Array<Types::Volume>]
10016
10492
  #
10017
10493
  # @!attribute [rw] status
@@ -10019,20 +10495,37 @@ module Aws::ECS
10019
10495
  # @return [String]
10020
10496
  #
10021
10497
  # @!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.
10498
+ # The container instance attributes required by your task. When an
10499
+ # Amazon EC2 instance is registered to your cluster, the Amazon ECS
10500
+ # container agent assigns some standard attributes to the instance.
10501
+ # You can apply custom attributes, specified as key-value pairs using
10502
+ # the Amazon ECS console or the PutAttributes API. These attributes
10503
+ # are used when considering task placement for tasks hosted on Amazon
10504
+ # EC2 instances. For more information, see [Attributes][1] in the
10505
+ # *Amazon Elastic Container Service Developer Guide*.
10506
+ #
10507
+ # <note markdown="1"> This parameter is not supported for tasks run on AWS Fargate.
10508
+ #
10509
+ # </note>
10510
+ #
10511
+ #
10512
+ #
10513
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes
10024
10514
  # @return [Array<Types::Attribute>]
10025
10515
  #
10026
10516
  # @!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.
10517
+ # An array of placement constraint objects to use for tasks.
10518
+ #
10519
+ # <note markdown="1"> This parameter is not supported for tasks run on AWS Fargate.
10520
+ #
10521
+ # </note>
10030
10522
  # @return [Array<Types::TaskDefinitionPlacementConstraint>]
10031
10523
  #
10032
10524
  # @!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*.
10525
+ # The task launch types the task definition validated against during
10526
+ # task definition registration. For more information, see [Amazon ECS
10527
+ # launch types][1] in the *Amazon Elastic Container Service Developer
10528
+ # Guide*.
10036
10529
  #
10037
10530
  #
10038
10531
  #
@@ -10040,8 +10533,9 @@ module Aws::ECS
10040
10533
  # @return [Array<String>]
10041
10534
  #
10042
10535
  # @!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`.
10536
+ # The task launch types the task definition was validated against. To
10537
+ # determine which task launch types the task definition is validated
10538
+ # for, see the TaskDefinition$compatibilities parameter.
10045
10539
  # @return [Array<String>]
10046
10540
  #
10047
10541
  # @!attribute [rw] cpu
@@ -10071,16 +10565,16 @@ module Aws::ECS
10071
10565
  # @!attribute [rw] memory
10072
10566
  # The amount (in MiB) of memory used by the task.
10073
10567
  #
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].
10568
+ # If your tasks will be run on Amazon EC2 instances, you must specify
10569
+ # either a task-level memory value or a container-level memory value.
10570
+ # This field is optional and any value can be used. If a task-level
10571
+ # memory value is specified then the container-level memory value is
10572
+ # optional. For more information regarding container-level memory and
10573
+ # memory reservation, see [ContainerDefinition][1].
10080
10574
  #
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:
10575
+ # If your tasks will be run on AWS Fargate, this field is required and
10576
+ # you must use one of the following values, which determines your
10577
+ # range of valid values for the `cpu` parameter:
10084
10578
  #
10085
10579
  # * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available `cpu` values:
10086
10580
  # 256 (.25 vCPU)
@@ -10120,8 +10614,8 @@ module Aws::ECS
10120
10614
  # risk of undesired process namespace expose. For more information,
10121
10615
  # see [Docker security][2].
10122
10616
  #
10123
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
10124
- # using the Fargate launch type.
10617
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
10618
+ # on AWS Fargate.
10125
10619
  #
10126
10620
  # </note>
10127
10621
  #
@@ -10161,8 +10655,8 @@ module Aws::ECS
10161
10655
  # * For tasks that use the `task` IPC mode, IPC namespace related
10162
10656
  # `systemControls` will apply to all containers within a task.
10163
10657
  #
10164
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
10165
- # using the Fargate launch type.
10658
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
10659
+ # on AWS Fargate.
10166
10660
  #
10167
10661
  # </note>
10168
10662
  #
@@ -10202,6 +10696,11 @@ module Aws::ECS
10202
10696
  # The principal that registered the task definition.
10203
10697
  # @return [String]
10204
10698
  #
10699
+ # @!attribute [rw] ephemeral_storage
10700
+ # The ephemeral storage settings to use for tasks run with the task
10701
+ # definition.
10702
+ # @return [Types::EphemeralStorage]
10703
+ #
10205
10704
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskDefinition AWS API Documentation
10206
10705
  #
10207
10706
  class TaskDefinition < Struct.new(
@@ -10226,17 +10725,18 @@ module Aws::ECS
10226
10725
  :proxy_configuration,
10227
10726
  :registered_at,
10228
10727
  :deregistered_at,
10229
- :registered_by)
10728
+ :registered_by,
10729
+ :ephemeral_storage)
10230
10730
  SENSITIVE = []
10231
10731
  include Aws::Structure
10232
10732
  end
10233
10733
 
10234
10734
  # An object representing a constraint on task placement in the task
10235
- # definition. For more information, see [Task Placement Constraints][1]
10735
+ # definition. For more information, see [Task placement constraints][1]
10236
10736
  # in the *Amazon Elastic Container Service Developer Guide*.
10237
10737
  #
10238
- # <note markdown="1"> If you are using the Fargate launch type, task placement constraints
10239
- # are not supported.
10738
+ # <note markdown="1"> Task placement constraints are not supported for tasks run on AWS
10739
+ # Fargate.
10240
10740
  #
10241
10741
  # </note>
10242
10742
  #
@@ -10259,7 +10759,7 @@ module Aws::ECS
10259
10759
  #
10260
10760
  # @!attribute [rw] expression
10261
10761
  # A cluster query language expression to apply to the constraint. For
10262
- # more information, see [Cluster Query Language][1] in the *Amazon
10762
+ # more information, see [Cluster query language][1] in the *Amazon
10263
10763
  # Elastic Container Service Developer Guide*.
10264
10764
  #
10265
10765
  #
@@ -10319,6 +10819,9 @@ module Aws::ECS
10319
10819
  # execution_role_arn: "String",
10320
10820
  # memory: "String",
10321
10821
  # task_role_arn: "String",
10822
+ # ephemeral_storage: {
10823
+ # size_in_gi_b: 1, # required
10824
+ # },
10322
10825
  # }
10323
10826
  #
10324
10827
  # @!attribute [rw] container_overrides
@@ -10348,6 +10851,15 @@ module Aws::ECS
10348
10851
  # permissions that are specified in this role.
10349
10852
  # @return [String]
10350
10853
  #
10854
+ # @!attribute [rw] ephemeral_storage
10855
+ # The ephemeral storage setting override for the task.
10856
+ #
10857
+ # <note markdown="1"> This parameter is only supported for tasks hosted on AWS Fargate
10858
+ # using platform version `1.4.0` or later.
10859
+ #
10860
+ # </note>
10861
+ # @return [Types::EphemeralStorage]
10862
+ #
10351
10863
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskOverride AWS API Documentation
10352
10864
  #
10353
10865
  class TaskOverride < Struct.new(
@@ -10356,7 +10868,8 @@ module Aws::ECS
10356
10868
  :inference_accelerator_overrides,
10357
10869
  :execution_role_arn,
10358
10870
  :memory,
10359
- :task_role_arn)
10871
+ :task_role_arn,
10872
+ :ephemeral_storage)
10360
10873
  SENSITIVE = []
10361
10874
  include Aws::Structure
10362
10875
  end
@@ -10456,7 +10969,7 @@ module Aws::ECS
10456
10969
  #
10457
10970
  # @!attribute [rw] launch_type
10458
10971
  # 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
10972
+ # information, see [Amazon ECS launch types][1] in the *Amazon Elastic
10460
10973
  # Container Service Developer Guide*.
10461
10974
  #
10462
10975
  #
@@ -10469,11 +10982,10 @@ module Aws::ECS
10469
10982
  # @return [Array<Types::CapacityProviderStrategyItem>]
10470
10983
  #
10471
10984
  # @!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
10985
+ # The AWS Fargate platform version on which the tasks in the task set
10986
+ # are running. A platform version is only specified for tasks run on
10987
+ # AWS Fargate. For more information, see [AWS Fargate platform
10988
+ # versions][1] in the *Amazon Elastic Container Service Developer
10477
10989
  # Guide*.
10478
10990
  #
10479
10991
  #
@@ -10491,7 +11003,7 @@ module Aws::ECS
10491
11003
  #
10492
11004
  # @!attribute [rw] service_registries
10493
11005
  # The details of the service discovery registries to assign to this
10494
- # task set. For more information, see [Service Discovery][1].
11006
+ # task set. For more information, see [Service discovery][1].
10495
11007
  #
10496
11008
  #
10497
11009
  #
@@ -10639,6 +11151,13 @@ module Aws::ECS
10639
11151
 
10640
11152
  # The `ulimit` settings to pass to the container.
10641
11153
  #
11154
+ # Amazon ECS tasks hosted on Fargate use the default resource limit
11155
+ # values set by the operating system with the exception of the `nofile`
11156
+ # resource limit parameter which Fargate overrides. The `nofile`
11157
+ # resource limit sets a restriction on the number of open files that a
11158
+ # container can use. The default `nofile` soft limit is `1024` and hard
11159
+ # limit is `4096`.
11160
+ #
10642
11161
  # @note When making an API call, you may pass Ulimit
10643
11162
  # data as a hash:
10644
11163
  #
@@ -10744,7 +11263,7 @@ module Aws::ECS
10744
11263
  end
10745
11264
 
10746
11265
  # @!attribute [rw] capacity_provider
10747
- # The details of a capacity provider.
11266
+ # Details about the capacity provider.
10748
11267
  # @return [Types::CapacityProvider]
10749
11268
  #
10750
11269
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCapacityProviderResponse AWS API Documentation
@@ -10755,6 +11274,66 @@ module Aws::ECS
10755
11274
  include Aws::Structure
10756
11275
  end
10757
11276
 
11277
+ # @note When making an API call, you may pass UpdateClusterRequest
11278
+ # data as a hash:
11279
+ #
11280
+ # {
11281
+ # cluster: "String", # required
11282
+ # settings: [
11283
+ # {
11284
+ # name: "containerInsights", # accepts containerInsights
11285
+ # value: "String",
11286
+ # },
11287
+ # ],
11288
+ # configuration: {
11289
+ # execute_command_configuration: {
11290
+ # kms_key_id: "String",
11291
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
11292
+ # log_configuration: {
11293
+ # cloud_watch_log_group_name: "String",
11294
+ # cloud_watch_encryption_enabled: false,
11295
+ # s3_bucket_name: "String",
11296
+ # s3_encryption_enabled: false,
11297
+ # s3_key_prefix: "String",
11298
+ # },
11299
+ # },
11300
+ # },
11301
+ # }
11302
+ #
11303
+ # @!attribute [rw] cluster
11304
+ # The name of the cluster to modify the settings for.
11305
+ # @return [String]
11306
+ #
11307
+ # @!attribute [rw] settings
11308
+ # The cluster settings for your cluster.
11309
+ # @return [Array<Types::ClusterSetting>]
11310
+ #
11311
+ # @!attribute [rw] configuration
11312
+ # The execute command configuration for the cluster.
11313
+ # @return [Types::ClusterConfiguration]
11314
+ #
11315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterRequest AWS API Documentation
11316
+ #
11317
+ class UpdateClusterRequest < Struct.new(
11318
+ :cluster,
11319
+ :settings,
11320
+ :configuration)
11321
+ SENSITIVE = []
11322
+ include Aws::Structure
11323
+ end
11324
+
11325
+ # @!attribute [rw] cluster
11326
+ # Details about the cluster.
11327
+ # @return [Types::Cluster]
11328
+ #
11329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterResponse AWS API Documentation
11330
+ #
11331
+ class UpdateClusterResponse < Struct.new(
11332
+ :cluster)
11333
+ SENSITIVE = []
11334
+ include Aws::Structure
11335
+ end
11336
+
10758
11337
  # @note When making an API call, you may pass UpdateClusterSettingsRequest
10759
11338
  # data as a hash:
10760
11339
  #
@@ -10789,11 +11368,7 @@ module Aws::ECS
10789
11368
  end
10790
11369
 
10791
11370
  # @!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.
11371
+ # Details about the cluster
10797
11372
  # @return [Types::Cluster]
10798
11373
  #
10799
11374
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettingsResponse AWS API Documentation
@@ -10947,10 +11522,7 @@ module Aws::ECS
10947
11522
  end
10948
11523
 
10949
11524
  # @!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.
11525
+ # Details about the task set.
10954
11526
  # @return [Types::TaskSet]
10955
11527
  #
10956
11528
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSetResponse AWS API Documentation
@@ -11006,6 +11578,7 @@ module Aws::ECS
11006
11578
  # platform_version: "String",
11007
11579
  # force_new_deployment: false,
11008
11580
  # health_check_grace_period_seconds: 1,
11581
+ # enable_execute_command: false,
11009
11582
  # }
11010
11583
  #
11011
11584
  # @!attribute [rw] cluster
@@ -11071,8 +11644,7 @@ module Aws::ECS
11071
11644
  # @return [Types::DeploymentConfiguration]
11072
11645
  #
11073
11646
  # @!attribute [rw] network_configuration
11074
- # An object representing the network configuration for a task or
11075
- # service.
11647
+ # An object representing the network configuration for the service.
11076
11648
  # @return [Types::NetworkConfiguration]
11077
11649
  #
11078
11650
  # @!attribute [rw] placement_constraints
@@ -11134,6 +11706,15 @@ module Aws::ECS
11134
11706
  # to come up.
11135
11707
  # @return [Integer]
11136
11708
  #
11709
+ # @!attribute [rw] enable_execute_command
11710
+ # If `true`, this enables execute command functionality on all task
11711
+ # containers.
11712
+ #
11713
+ # If you do not want to override the value that was set when the
11714
+ # service was created, you can set this to `null` when performing this
11715
+ # action.
11716
+ # @return [Boolean]
11717
+ #
11137
11718
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServiceRequest AWS API Documentation
11138
11719
  #
11139
11720
  class UpdateServiceRequest < Struct.new(
@@ -11148,7 +11729,8 @@ module Aws::ECS
11148
11729
  :placement_strategy,
11149
11730
  :platform_version,
11150
11731
  :force_new_deployment,
11151
- :health_check_grace_period_seconds)
11732
+ :health_check_grace_period_seconds,
11733
+ :enable_execute_command)
11152
11734
  SENSITIVE = []
11153
11735
  include Aws::Structure
11154
11736
  end
@@ -11210,10 +11792,7 @@ module Aws::ECS
11210
11792
  end
11211
11793
 
11212
11794
  # @!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.
11795
+ # Details about the task set.
11217
11796
  # @return [Types::TaskSet]
11218
11797
  #
11219
11798
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSetResponse AWS API Documentation
@@ -11317,8 +11896,9 @@ module Aws::ECS
11317
11896
  #
11318
11897
  # @!attribute [rw] name
11319
11898
  # 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`.
11899
+ # numbers, underscores, and hyphens are allowed. This name is
11900
+ # referenced in the `sourceVolume` parameter of container definition
11901
+ # `mountPoints`.
11322
11902
  # @return [String]
11323
11903
  #
11324
11904
  # @!attribute [rw] host
@@ -11339,9 +11919,13 @@ module Aws::ECS
11339
11919
  #
11340
11920
  # @!attribute [rw] docker_volume_configuration
11341
11921
  # 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.
11922
+ #
11923
+ # Windows containers only support the use of the `local` driver. To
11924
+ # use bind mounts, specify the `host` parameter instead.
11925
+ #
11926
+ # <note markdown="1"> Docker volumes are not supported by tasks run on AWS Fargate.
11927
+ #
11928
+ # </note>
11345
11929
  # @return [Types::DockerVolumeConfiguration]
11346
11930
  #
11347
11931
  # @!attribute [rw] efs_volume_configuration