aws-sdk-ecs 1.73.0 → 1.78.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -43,6 +43,7 @@ module Aws::ECS
43
43
  CapacityProviders = Shapes::ListShape.new(name: 'CapacityProviders')
44
44
  ClientException = Shapes::StructureShape.new(name: 'ClientException')
45
45
  Cluster = Shapes::StructureShape.new(name: 'Cluster')
46
+ ClusterConfiguration = Shapes::StructureShape.new(name: 'ClusterConfiguration')
46
47
  ClusterContainsContainerInstancesException = Shapes::StructureShape.new(name: 'ClusterContainsContainerInstancesException')
47
48
  ClusterContainsServicesException = Shapes::StructureShape.new(name: 'ClusterContainsServicesException')
48
49
  ClusterContainsTasksException = Shapes::StructureShape.new(name: 'ClusterContainsTasksException')
@@ -135,6 +136,12 @@ module Aws::ECS
135
136
  EnvironmentFileType = Shapes::StringShape.new(name: 'EnvironmentFileType')
136
137
  EnvironmentFiles = Shapes::ListShape.new(name: 'EnvironmentFiles')
137
138
  EnvironmentVariables = Shapes::ListShape.new(name: 'EnvironmentVariables')
139
+ EphemeralStorage = Shapes::StructureShape.new(name: 'EphemeralStorage')
140
+ ExecuteCommandConfiguration = Shapes::StructureShape.new(name: 'ExecuteCommandConfiguration')
141
+ ExecuteCommandLogConfiguration = Shapes::StructureShape.new(name: 'ExecuteCommandLogConfiguration')
142
+ ExecuteCommandLogging = Shapes::StringShape.new(name: 'ExecuteCommandLogging')
143
+ ExecuteCommandRequest = Shapes::StructureShape.new(name: 'ExecuteCommandRequest')
144
+ ExecuteCommandResponse = Shapes::StructureShape.new(name: 'ExecuteCommandResponse')
138
145
  FSxWindowsFileServerAuthorizationConfig = Shapes::StructureShape.new(name: 'FSxWindowsFileServerAuthorizationConfig')
139
146
  FSxWindowsFileServerVolumeConfiguration = Shapes::StructureShape.new(name: 'FSxWindowsFileServerVolumeConfiguration')
140
147
  Failure = Shapes::StructureShape.new(name: 'Failure')
@@ -184,6 +191,11 @@ module Aws::ECS
184
191
  LogConfigurationOptionsMap = Shapes::MapShape.new(name: 'LogConfigurationOptionsMap')
185
192
  LogDriver = Shapes::StringShape.new(name: 'LogDriver')
186
193
  Long = Shapes::IntegerShape.new(name: 'Long')
194
+ ManagedAgent = Shapes::StructureShape.new(name: 'ManagedAgent')
195
+ ManagedAgentName = Shapes::StringShape.new(name: 'ManagedAgentName')
196
+ ManagedAgentStateChange = Shapes::StructureShape.new(name: 'ManagedAgentStateChange')
197
+ ManagedAgentStateChanges = Shapes::ListShape.new(name: 'ManagedAgentStateChanges')
198
+ ManagedAgents = Shapes::ListShape.new(name: 'ManagedAgents')
187
199
  ManagedScaling = Shapes::StructureShape.new(name: 'ManagedScaling')
188
200
  ManagedScalingInstanceWarmupPeriod = Shapes::IntegerShape.new(name: 'ManagedScalingInstanceWarmupPeriod')
189
201
  ManagedScalingStatus = Shapes::StringShape.new(name: 'ManagedScalingStatus')
@@ -247,6 +259,7 @@ module Aws::ECS
247
259
  Scope = Shapes::StringShape.new(name: 'Scope')
248
260
  Secret = Shapes::StructureShape.new(name: 'Secret')
249
261
  SecretList = Shapes::ListShape.new(name: 'SecretList')
262
+ SensitiveString = Shapes::StringShape.new(name: 'SensitiveString')
250
263
  ServerException = Shapes::StructureShape.new(name: 'ServerException')
251
264
  Service = Shapes::StructureShape.new(name: 'Service')
252
265
  ServiceEvent = Shapes::StructureShape.new(name: 'ServiceEvent')
@@ -258,6 +271,7 @@ module Aws::ECS
258
271
  ServiceRegistries = Shapes::ListShape.new(name: 'ServiceRegistries')
259
272
  ServiceRegistry = Shapes::StructureShape.new(name: 'ServiceRegistry')
260
273
  Services = Shapes::ListShape.new(name: 'Services')
274
+ Session = Shapes::StructureShape.new(name: 'Session')
261
275
  Setting = Shapes::StructureShape.new(name: 'Setting')
262
276
  SettingName = Shapes::StringShape.new(name: 'SettingName')
263
277
  Settings = Shapes::ListShape.new(name: 'Settings')
@@ -286,6 +300,7 @@ module Aws::ECS
286
300
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
287
301
  TagValue = Shapes::StringShape.new(name: 'TagValue')
288
302
  Tags = Shapes::ListShape.new(name: 'Tags')
303
+ TargetNotConnectedException = Shapes::StructureShape.new(name: 'TargetNotConnectedException')
289
304
  TargetNotFoundException = Shapes::StructureShape.new(name: 'TargetNotFoundException')
290
305
  TargetType = Shapes::StringShape.new(name: 'TargetType')
291
306
  Task = Shapes::StructureShape.new(name: 'Task')
@@ -319,6 +334,8 @@ module Aws::ECS
319
334
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
320
335
  UpdateCapacityProviderRequest = Shapes::StructureShape.new(name: 'UpdateCapacityProviderRequest')
321
336
  UpdateCapacityProviderResponse = Shapes::StructureShape.new(name: 'UpdateCapacityProviderResponse')
337
+ UpdateClusterRequest = Shapes::StructureShape.new(name: 'UpdateClusterRequest')
338
+ UpdateClusterResponse = Shapes::StructureShape.new(name: 'UpdateClusterResponse')
322
339
  UpdateClusterSettingsRequest = Shapes::StructureShape.new(name: 'UpdateClusterSettingsRequest')
323
340
  UpdateClusterSettingsResponse = Shapes::StructureShape.new(name: 'UpdateClusterSettingsResponse')
324
341
  UpdateContainerAgentRequest = Shapes::StructureShape.new(name: 'UpdateContainerAgentRequest')
@@ -407,6 +424,7 @@ module Aws::ECS
407
424
 
408
425
  Cluster.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: String, location_name: "clusterArn"))
409
426
  Cluster.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, location_name: "clusterName"))
427
+ Cluster.add_member(:configuration, Shapes::ShapeRef.new(shape: ClusterConfiguration, location_name: "configuration"))
410
428
  Cluster.add_member(:status, Shapes::ShapeRef.new(shape: String, location_name: "status"))
411
429
  Cluster.add_member(:registered_container_instances_count, Shapes::ShapeRef.new(shape: Integer, location_name: "registeredContainerInstancesCount"))
412
430
  Cluster.add_member(:running_tasks_count, Shapes::ShapeRef.new(shape: Integer, location_name: "runningTasksCount"))
@@ -421,6 +439,9 @@ module Aws::ECS
421
439
  Cluster.add_member(:attachments_status, Shapes::ShapeRef.new(shape: String, location_name: "attachmentsStatus"))
422
440
  Cluster.struct_class = Types::Cluster
423
441
 
442
+ ClusterConfiguration.add_member(:execute_command_configuration, Shapes::ShapeRef.new(shape: ExecuteCommandConfiguration, location_name: "executeCommandConfiguration"))
443
+ ClusterConfiguration.struct_class = Types::ClusterConfiguration
444
+
424
445
  ClusterContainsContainerInstancesException.struct_class = Types::ClusterContainsContainerInstancesException
425
446
 
426
447
  ClusterContainsServicesException.struct_class = Types::ClusterContainsServicesException
@@ -453,6 +474,7 @@ module Aws::ECS
453
474
  Container.add_member(:network_bindings, Shapes::ShapeRef.new(shape: NetworkBindings, location_name: "networkBindings"))
454
475
  Container.add_member(:network_interfaces, Shapes::ShapeRef.new(shape: NetworkInterfaces, location_name: "networkInterfaces"))
455
476
  Container.add_member(:health_status, Shapes::ShapeRef.new(shape: HealthStatus, location_name: "healthStatus"))
477
+ Container.add_member(:managed_agents, Shapes::ShapeRef.new(shape: ManagedAgents, location_name: "managedAgents"))
456
478
  Container.add_member(:cpu, Shapes::ShapeRef.new(shape: String, location_name: "cpu"))
457
479
  Container.add_member(:memory, Shapes::ShapeRef.new(shape: String, location_name: "memory"))
458
480
  Container.add_member(:memory_reservation, Shapes::ShapeRef.new(shape: String, location_name: "memoryReservation"))
@@ -567,6 +589,7 @@ module Aws::ECS
567
589
  CreateClusterRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, location_name: "clusterName"))
568
590
  CreateClusterRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
569
591
  CreateClusterRequest.add_member(:settings, Shapes::ShapeRef.new(shape: ClusterSettings, location_name: "settings"))
592
+ CreateClusterRequest.add_member(:configuration, Shapes::ShapeRef.new(shape: ClusterConfiguration, location_name: "configuration"))
570
593
  CreateClusterRequest.add_member(:capacity_providers, Shapes::ShapeRef.new(shape: StringList, location_name: "capacityProviders"))
571
594
  CreateClusterRequest.add_member(:default_capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, location_name: "defaultCapacityProviderStrategy"))
572
595
  CreateClusterRequest.struct_class = Types::CreateClusterRequest
@@ -595,6 +618,7 @@ module Aws::ECS
595
618
  CreateServiceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
596
619
  CreateServiceRequest.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
597
620
  CreateServiceRequest.add_member(:propagate_tags, Shapes::ShapeRef.new(shape: PropagateTags, location_name: "propagateTags"))
621
+ CreateServiceRequest.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
598
622
  CreateServiceRequest.struct_class = Types::CreateServiceRequest
599
623
 
600
624
  CreateServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
@@ -816,6 +840,36 @@ module Aws::ECS
816
840
 
817
841
  EnvironmentVariables.member = Shapes::ShapeRef.new(shape: KeyValuePair)
818
842
 
843
+ EphemeralStorage.add_member(:size_in_gi_b, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "sizeInGiB"))
844
+ EphemeralStorage.struct_class = Types::EphemeralStorage
845
+
846
+ ExecuteCommandConfiguration.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: String, location_name: "kmsKeyId"))
847
+ ExecuteCommandConfiguration.add_member(:logging, Shapes::ShapeRef.new(shape: ExecuteCommandLogging, location_name: "logging"))
848
+ ExecuteCommandConfiguration.add_member(:log_configuration, Shapes::ShapeRef.new(shape: ExecuteCommandLogConfiguration, location_name: "logConfiguration"))
849
+ ExecuteCommandConfiguration.struct_class = Types::ExecuteCommandConfiguration
850
+
851
+ ExecuteCommandLogConfiguration.add_member(:cloud_watch_log_group_name, Shapes::ShapeRef.new(shape: String, location_name: "cloudWatchLogGroupName"))
852
+ ExecuteCommandLogConfiguration.add_member(:cloud_watch_encryption_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "cloudWatchEncryptionEnabled"))
853
+ ExecuteCommandLogConfiguration.add_member(:s3_bucket_name, Shapes::ShapeRef.new(shape: String, location_name: "s3BucketName"))
854
+ ExecuteCommandLogConfiguration.add_member(:s3_encryption_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "s3EncryptionEnabled"))
855
+ ExecuteCommandLogConfiguration.add_member(:s3_key_prefix, Shapes::ShapeRef.new(shape: String, location_name: "s3KeyPrefix"))
856
+ ExecuteCommandLogConfiguration.struct_class = Types::ExecuteCommandLogConfiguration
857
+
858
+ ExecuteCommandRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
859
+ ExecuteCommandRequest.add_member(:container, Shapes::ShapeRef.new(shape: String, location_name: "container"))
860
+ ExecuteCommandRequest.add_member(:command, Shapes::ShapeRef.new(shape: String, required: true, location_name: "command"))
861
+ ExecuteCommandRequest.add_member(:interactive, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "interactive"))
862
+ ExecuteCommandRequest.add_member(:task, Shapes::ShapeRef.new(shape: String, required: true, location_name: "task"))
863
+ ExecuteCommandRequest.struct_class = Types::ExecuteCommandRequest
864
+
865
+ ExecuteCommandResponse.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: String, location_name: "clusterArn"))
866
+ ExecuteCommandResponse.add_member(:container_arn, Shapes::ShapeRef.new(shape: String, location_name: "containerArn"))
867
+ ExecuteCommandResponse.add_member(:container_name, Shapes::ShapeRef.new(shape: String, location_name: "containerName"))
868
+ ExecuteCommandResponse.add_member(:interactive, Shapes::ShapeRef.new(shape: Boolean, location_name: "interactive"))
869
+ ExecuteCommandResponse.add_member(:session, Shapes::ShapeRef.new(shape: Session, location_name: "session"))
870
+ ExecuteCommandResponse.add_member(:task_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskArn"))
871
+ ExecuteCommandResponse.struct_class = Types::ExecuteCommandResponse
872
+
819
873
  FSxWindowsFileServerAuthorizationConfig.add_member(:credentials_parameter, Shapes::ShapeRef.new(shape: String, required: true, location_name: "credentialsParameter"))
820
874
  FSxWindowsFileServerAuthorizationConfig.add_member(:domain, Shapes::ShapeRef.new(shape: String, required: true, location_name: "domain"))
821
875
  FSxWindowsFileServerAuthorizationConfig.struct_class = Types::FSxWindowsFileServerAuthorizationConfig
@@ -1002,6 +1056,22 @@ module Aws::ECS
1002
1056
  LogConfigurationOptionsMap.key = Shapes::ShapeRef.new(shape: String)
1003
1057
  LogConfigurationOptionsMap.value = Shapes::ShapeRef.new(shape: String)
1004
1058
 
1059
+ ManagedAgent.add_member(:last_started_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastStartedAt"))
1060
+ ManagedAgent.add_member(:name, Shapes::ShapeRef.new(shape: ManagedAgentName, location_name: "name"))
1061
+ ManagedAgent.add_member(:reason, Shapes::ShapeRef.new(shape: String, location_name: "reason"))
1062
+ ManagedAgent.add_member(:last_status, Shapes::ShapeRef.new(shape: String, location_name: "lastStatus"))
1063
+ ManagedAgent.struct_class = Types::ManagedAgent
1064
+
1065
+ ManagedAgentStateChange.add_member(:container_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "containerName"))
1066
+ ManagedAgentStateChange.add_member(:managed_agent_name, Shapes::ShapeRef.new(shape: ManagedAgentName, required: true, location_name: "managedAgentName"))
1067
+ ManagedAgentStateChange.add_member(:status, Shapes::ShapeRef.new(shape: String, required: true, location_name: "status"))
1068
+ ManagedAgentStateChange.add_member(:reason, Shapes::ShapeRef.new(shape: String, location_name: "reason"))
1069
+ ManagedAgentStateChange.struct_class = Types::ManagedAgentStateChange
1070
+
1071
+ ManagedAgentStateChanges.member = Shapes::ShapeRef.new(shape: ManagedAgentStateChange)
1072
+
1073
+ ManagedAgents.member = Shapes::ShapeRef.new(shape: ManagedAgent)
1074
+
1005
1075
  ManagedScaling.add_member(:status, Shapes::ShapeRef.new(shape: ManagedScalingStatus, location_name: "status"))
1006
1076
  ManagedScaling.add_member(:target_capacity, Shapes::ShapeRef.new(shape: ManagedScalingTargetCapacity, location_name: "targetCapacity"))
1007
1077
  ManagedScaling.add_member(:minimum_scaling_step_size, Shapes::ShapeRef.new(shape: ManagedScalingStepSize, location_name: "minimumScalingStepSize"))
@@ -1133,6 +1203,7 @@ module Aws::ECS
1133
1203
  RegisterTaskDefinitionRequest.add_member(:ipc_mode, Shapes::ShapeRef.new(shape: IpcMode, location_name: "ipcMode"))
1134
1204
  RegisterTaskDefinitionRequest.add_member(:proxy_configuration, Shapes::ShapeRef.new(shape: ProxyConfiguration, location_name: "proxyConfiguration"))
1135
1205
  RegisterTaskDefinitionRequest.add_member(:inference_accelerators, Shapes::ShapeRef.new(shape: InferenceAccelerators, location_name: "inferenceAccelerators"))
1206
+ RegisterTaskDefinitionRequest.add_member(:ephemeral_storage, Shapes::ShapeRef.new(shape: EphemeralStorage, location_name: "ephemeralStorage"))
1136
1207
  RegisterTaskDefinitionRequest.struct_class = Types::RegisterTaskDefinitionRequest
1137
1208
 
1138
1209
  RegisterTaskDefinitionResponse.add_member(:task_definition, Shapes::ShapeRef.new(shape: TaskDefinition, location_name: "taskDefinition"))
@@ -1168,6 +1239,7 @@ module Aws::ECS
1168
1239
  RunTaskRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
1169
1240
  RunTaskRequest.add_member(:count, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "count"))
1170
1241
  RunTaskRequest.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
1242
+ RunTaskRequest.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
1171
1243
  RunTaskRequest.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
1172
1244
  RunTaskRequest.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
1173
1245
  RunTaskRequest.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
@@ -1228,6 +1300,7 @@ module Aws::ECS
1228
1300
  Service.add_member(:created_by, Shapes::ShapeRef.new(shape: String, location_name: "createdBy"))
1229
1301
  Service.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
1230
1302
  Service.add_member(:propagate_tags, Shapes::ShapeRef.new(shape: PropagateTags, location_name: "propagateTags"))
1303
+ Service.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
1231
1304
  Service.struct_class = Types::Service
1232
1305
 
1233
1306
  ServiceEvent.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
@@ -1253,6 +1326,11 @@ module Aws::ECS
1253
1326
 
1254
1327
  Services.member = Shapes::ShapeRef.new(shape: Service)
1255
1328
 
1329
+ Session.add_member(:session_id, Shapes::ShapeRef.new(shape: String, location_name: "sessionId"))
1330
+ Session.add_member(:stream_url, Shapes::ShapeRef.new(shape: String, location_name: "streamUrl"))
1331
+ Session.add_member(:token_value, Shapes::ShapeRef.new(shape: SensitiveString, location_name: "tokenValue"))
1332
+ Session.struct_class = Types::Session
1333
+
1256
1334
  Setting.add_member(:name, Shapes::ShapeRef.new(shape: SettingName, location_name: "name"))
1257
1335
  Setting.add_member(:value, Shapes::ShapeRef.new(shape: String, location_name: "value"))
1258
1336
  Setting.add_member(:principal_arn, Shapes::ShapeRef.new(shape: String, location_name: "principalArn"))
@@ -1263,6 +1341,7 @@ module Aws::ECS
1263
1341
  StartTaskRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
1264
1342
  StartTaskRequest.add_member(:container_instances, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "containerInstances"))
1265
1343
  StartTaskRequest.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
1344
+ StartTaskRequest.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
1266
1345
  StartTaskRequest.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
1267
1346
  StartTaskRequest.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
1268
1347
  StartTaskRequest.add_member(:overrides, Shapes::ShapeRef.new(shape: TaskOverride, location_name: "overrides"))
@@ -1318,6 +1397,7 @@ module Aws::ECS
1318
1397
  SubmitTaskStateChangeRequest.add_member(:reason, Shapes::ShapeRef.new(shape: String, location_name: "reason"))
1319
1398
  SubmitTaskStateChangeRequest.add_member(:containers, Shapes::ShapeRef.new(shape: ContainerStateChanges, location_name: "containers"))
1320
1399
  SubmitTaskStateChangeRequest.add_member(:attachments, Shapes::ShapeRef.new(shape: AttachmentStateChanges, location_name: "attachments"))
1400
+ SubmitTaskStateChangeRequest.add_member(:managed_agents, Shapes::ShapeRef.new(shape: ManagedAgentStateChanges, location_name: "managedAgents"))
1321
1401
  SubmitTaskStateChangeRequest.add_member(:pull_started_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "pullStartedAt"))
1322
1402
  SubmitTaskStateChangeRequest.add_member(:pull_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "pullStoppedAt"))
1323
1403
  SubmitTaskStateChangeRequest.add_member(:execution_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "executionStoppedAt"))
@@ -1346,6 +1426,8 @@ module Aws::ECS
1346
1426
 
1347
1427
  Tags.member = Shapes::ShapeRef.new(shape: Tag)
1348
1428
 
1429
+ TargetNotConnectedException.struct_class = Types::TargetNotConnectedException
1430
+
1349
1431
  TargetNotFoundException.struct_class = Types::TargetNotFoundException
1350
1432
 
1351
1433
  Task.add_member(:attachments, Shapes::ShapeRef.new(shape: Attachments, location_name: "attachments"))
@@ -1360,6 +1442,7 @@ module Aws::ECS
1360
1442
  Task.add_member(:cpu, Shapes::ShapeRef.new(shape: String, location_name: "cpu"))
1361
1443
  Task.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdAt"))
1362
1444
  Task.add_member(:desired_status, Shapes::ShapeRef.new(shape: String, location_name: "desiredStatus"))
1445
+ Task.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
1363
1446
  Task.add_member(:execution_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "executionStoppedAt"))
1364
1447
  Task.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
1365
1448
  Task.add_member(:health_status, Shapes::ShapeRef.new(shape: HealthStatus, location_name: "healthStatus"))
@@ -1381,6 +1464,7 @@ module Aws::ECS
1381
1464
  Task.add_member(:task_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskArn"))
1382
1465
  Task.add_member(:task_definition_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskDefinitionArn"))
1383
1466
  Task.add_member(:version, Shapes::ShapeRef.new(shape: Long, location_name: "version"))
1467
+ Task.add_member(:ephemeral_storage, Shapes::ShapeRef.new(shape: EphemeralStorage, location_name: "ephemeralStorage"))
1384
1468
  Task.struct_class = Types::Task
1385
1469
 
1386
1470
  TaskDefinition.add_member(:task_definition_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskDefinitionArn"))
@@ -1405,6 +1489,7 @@ module Aws::ECS
1405
1489
  TaskDefinition.add_member(:registered_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "registeredAt"))
1406
1490
  TaskDefinition.add_member(:deregistered_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "deregisteredAt"))
1407
1491
  TaskDefinition.add_member(:registered_by, Shapes::ShapeRef.new(shape: String, location_name: "registeredBy"))
1492
+ TaskDefinition.add_member(:ephemeral_storage, Shapes::ShapeRef.new(shape: EphemeralStorage, location_name: "ephemeralStorage"))
1408
1493
  TaskDefinition.struct_class = Types::TaskDefinition
1409
1494
 
1410
1495
  TaskDefinitionFieldList.member = Shapes::ShapeRef.new(shape: TaskDefinitionField)
@@ -1423,6 +1508,7 @@ module Aws::ECS
1423
1508
  TaskOverride.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "executionRoleArn"))
1424
1509
  TaskOverride.add_member(:memory, Shapes::ShapeRef.new(shape: String, location_name: "memory"))
1425
1510
  TaskOverride.add_member(:task_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskRoleArn"))
1511
+ TaskOverride.add_member(:ephemeral_storage, Shapes::ShapeRef.new(shape: EphemeralStorage, location_name: "ephemeralStorage"))
1426
1512
  TaskOverride.struct_class = Types::TaskOverride
1427
1513
 
1428
1514
  TaskSet.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
@@ -1487,6 +1573,14 @@ module Aws::ECS
1487
1573
  UpdateCapacityProviderResponse.add_member(:capacity_provider, Shapes::ShapeRef.new(shape: CapacityProvider, location_name: "capacityProvider"))
1488
1574
  UpdateCapacityProviderResponse.struct_class = Types::UpdateCapacityProviderResponse
1489
1575
 
1576
+ UpdateClusterRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
1577
+ UpdateClusterRequest.add_member(:settings, Shapes::ShapeRef.new(shape: ClusterSettings, location_name: "settings"))
1578
+ UpdateClusterRequest.add_member(:configuration, Shapes::ShapeRef.new(shape: ClusterConfiguration, location_name: "configuration"))
1579
+ UpdateClusterRequest.struct_class = Types::UpdateClusterRequest
1580
+
1581
+ UpdateClusterResponse.add_member(:cluster, Shapes::ShapeRef.new(shape: Cluster, location_name: "cluster"))
1582
+ UpdateClusterResponse.struct_class = Types::UpdateClusterResponse
1583
+
1490
1584
  UpdateClusterSettingsRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
1491
1585
  UpdateClusterSettingsRequest.add_member(:settings, Shapes::ShapeRef.new(shape: ClusterSettings, required: true, location_name: "settings"))
1492
1586
  UpdateClusterSettingsRequest.struct_class = Types::UpdateClusterSettingsRequest
@@ -1532,6 +1626,7 @@ module Aws::ECS
1532
1626
  UpdateServiceRequest.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
1533
1627
  UpdateServiceRequest.add_member(:force_new_deployment, Shapes::ShapeRef.new(shape: Boolean, location_name: "forceNewDeployment"))
1534
1628
  UpdateServiceRequest.add_member(:health_check_grace_period_seconds, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "healthCheckGracePeriodSeconds"))
1629
+ UpdateServiceRequest.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "enableExecuteCommand"))
1535
1630
  UpdateServiceRequest.struct_class = Types::UpdateServiceRequest
1536
1631
 
1537
1632
  UpdateServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
@@ -1840,6 +1935,20 @@ module Aws::ECS
1840
1935
  o.errors << Shapes::ShapeRef.new(shape: ClientException)
1841
1936
  end)
1842
1937
 
1938
+ api.add_operation(:execute_command, Seahorse::Model::Operation.new.tap do |o|
1939
+ o.name = "ExecuteCommand"
1940
+ o.http_method = "POST"
1941
+ o.http_request_uri = "/"
1942
+ o.input = Shapes::ShapeRef.new(shape: ExecuteCommandRequest)
1943
+ o.output = Shapes::ShapeRef.new(shape: ExecuteCommandResponse)
1944
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
1945
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1946
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1947
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1948
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
1949
+ o.errors << Shapes::ShapeRef.new(shape: TargetNotConnectedException)
1950
+ end)
1951
+
1843
1952
  api.add_operation(:list_account_settings, Seahorse::Model::Operation.new.tap do |o|
1844
1953
  o.name = "ListAccountSettings"
1845
1954
  o.http_method = "POST"
@@ -2174,6 +2283,18 @@ module Aws::ECS
2174
2283
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2175
2284
  end)
2176
2285
 
2286
+ api.add_operation(:update_cluster, Seahorse::Model::Operation.new.tap do |o|
2287
+ o.name = "UpdateCluster"
2288
+ o.http_method = "POST"
2289
+ o.http_request_uri = "/"
2290
+ o.input = Shapes::ShapeRef.new(shape: UpdateClusterRequest)
2291
+ o.output = Shapes::ShapeRef.new(shape: UpdateClusterResponse)
2292
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
2293
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
2294
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
2295
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2296
+ end)
2297
+
2177
2298
  api.add_operation(:update_cluster_settings, Seahorse::Model::Operation.new.tap do |o|
2178
2299
  o.name = "UpdateClusterSettings"
2179
2300
  o.http_method = "POST"
@@ -2,7 +2,7 @@
2
2
  # WARNING ABOUT GENERATED CODE
3
3
  #
4
4
  # This file is generated. See the contributing for info on making contributions:
5
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
6
6
  #
7
7
  # WARNING ABOUT GENERATED CODE
8
8
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -46,6 +46,7 @@ module Aws::ECS
46
46
  # * {ServerException}
47
47
  # * {ServiceNotActiveException}
48
48
  # * {ServiceNotFoundException}
49
+ # * {TargetNotConnectedException}
49
50
  # * {TargetNotFoundException}
50
51
  # * {TaskSetNotFoundException}
51
52
  # * {UnsupportedFeatureException}
@@ -257,6 +258,16 @@ module Aws::ECS
257
258
  end
258
259
  end
259
260
 
261
+ class TargetNotConnectedException < ServiceError
262
+
263
+ # @param [Seahorse::Client::RequestContext] context
264
+ # @param [String] message
265
+ # @param [Aws::ECS::Types::TargetNotConnectedException] data
266
+ def initialize(context, message, data = Aws::EmptyStructure.new)
267
+ super(context, message, data)
268
+ end
269
+ end
270
+
260
271
  class TargetNotFoundException < ServiceError
261
272
 
262
273
  # @param [Seahorse::Client::RequestContext] context
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -222,21 +222,6 @@ module Aws::ECS
222
222
  # @!attribute [rw] managed_scaling
223
223
  # The managed scaling settings for the Auto Scaling group capacity
224
224
  # provider.
225
- #
226
- # When managed scaling is enabled, Amazon ECS manages the scale-in and
227
- # scale-out actions of the Auto Scaling group. Amazon ECS manages a
228
- # target tracking scaling policy using an Amazon ECS-managed
229
- # CloudWatch metric with the specified `targetCapacity` value as the
230
- # target value for the metric. For more information, see [Using
231
- # Managed Scaling][1] in the *Amazon Elastic Container Service
232
- # Developer Guide*.
233
- #
234
- # If managed scaling is disabled, the user must manage the scaling of
235
- # the Auto Scaling group.
236
- #
237
- #
238
- #
239
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling
240
225
  # @return [Types::ManagedScaling]
241
226
  #
242
227
  # @!attribute [rw] managed_termination_protection
@@ -421,7 +406,25 @@ module Aws::ECS
421
406
  include Aws::Structure
422
407
  end
423
408
 
424
- # The details of a capacity provider strategy.
409
+ # The details of a capacity provider strategy. A capacity provider
410
+ # strategy can be set when using the RunTask or CreateCluster APIs or as
411
+ # the default capacity provider strategy for a cluster with the
412
+ # CreateCluster API.
413
+ #
414
+ # Only capacity providers that are already associated with a cluster and
415
+ # have an `ACTIVE` or `UPDATING` status can be used in a capacity
416
+ # provider strategy. The PutClusterCapacityProviders API is used to
417
+ # associate a capacity provider with a cluster.
418
+ #
419
+ # If specifying a capacity provider that uses an Auto Scaling group, the
420
+ # capacity provider must already be created. New Auto Scaling group
421
+ # capacity providers can be created with the CreateCapacityProvider API
422
+ # operation.
423
+ #
424
+ # To use a AWS Fargate capacity provider, specify either the `FARGATE`
425
+ # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
426
+ # providers are available to all accounts and only need to be associated
427
+ # with a cluster to be used in a capacity provider strategy.
425
428
  #
426
429
  # @note When making an API call, you may pass CapacityProviderStrategyItem
427
430
  # data as a hash:
@@ -439,21 +442,32 @@ module Aws::ECS
439
442
  # @!attribute [rw] weight
440
443
  # The *weight* value designates the relative percentage of the total
441
444
  # number of tasks launched that should use the specified capacity
442
- # provider.
443
- #
444
- # For example, if you have a strategy that contains two capacity
445
- # providers and both have a weight of `1`, then when the `base` is
446
- # satisfied, the tasks will be split evenly across the two capacity
447
- # providers. Using that same logic, if you specify a weight of `1` for
448
- # *capacityProviderA* and a weight of `4` for *capacityProviderB*,
449
- # then for every one task that is run using *capacityProviderA*, four
450
- # tasks would use *capacityProviderB*.
445
+ # provider. The `weight` value is taken into consideration after the
446
+ # `base` value, if defined, is satisfied.
447
+ #
448
+ # If no `weight` value is specified, the default value of `0` is used.
449
+ # When multiple capacity providers are specified within a capacity
450
+ # provider strategy, at least one of the capacity providers must have
451
+ # a weight value greater than zero and any capacity providers with a
452
+ # weight of `0` will not be used to place tasks. If you specify
453
+ # multiple capacity providers in a strategy that all have a weight of
454
+ # `0`, any `RunTask` or `CreateService` actions using the capacity
455
+ # provider strategy will fail.
456
+ #
457
+ # An example scenario for using weights is defining a strategy that
458
+ # contains two capacity providers and both have a weight of `1`, then
459
+ # when the `base` is satisfied, the tasks will be split evenly across
460
+ # the two capacity providers. Using that same logic, if you specify a
461
+ # weight of `1` for *capacityProviderA* and a weight of `4` for
462
+ # *capacityProviderB*, then for every one task that is run using
463
+ # *capacityProviderA*, four tasks would use *capacityProviderB*.
451
464
  # @return [Integer]
452
465
  #
453
466
  # @!attribute [rw] base
454
467
  # The *base* value designates how many tasks, at a minimum, to run on
455
468
  # the specified capacity provider. Only one capacity provider in a
456
- # capacity provider strategy can have a *base* defined.
469
+ # capacity provider strategy can have a *base* defined. If no value is
470
+ # specified, the default value of `0` is used.
457
471
  # @return [Integer]
458
472
  #
459
473
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CapacityProviderStrategyItem AWS API Documentation
@@ -500,6 +514,10 @@ module Aws::ECS
500
514
  # A user-generated string that you use to identify your cluster.
501
515
  # @return [String]
502
516
  #
517
+ # @!attribute [rw] configuration
518
+ # The execute command configuration for the cluster.
519
+ # @return [Types::ClusterConfiguration]
520
+ #
503
521
  # @!attribute [rw] status
504
522
  # The status of the cluster. The following are the possible states
505
523
  # that will be returned.
@@ -648,6 +666,7 @@ module Aws::ECS
648
666
  class Cluster < Struct.new(
649
667
  :cluster_arn,
650
668
  :cluster_name,
669
+ :configuration,
651
670
  :status,
652
671
  :registered_container_instances_count,
653
672
  :running_tasks_count,
@@ -664,6 +683,37 @@ module Aws::ECS
664
683
  include Aws::Structure
665
684
  end
666
685
 
686
+ # The execute command configuration for the cluster.
687
+ #
688
+ # @note When making an API call, you may pass ClusterConfiguration
689
+ # data as a hash:
690
+ #
691
+ # {
692
+ # execute_command_configuration: {
693
+ # kms_key_id: "String",
694
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
695
+ # log_configuration: {
696
+ # cloud_watch_log_group_name: "String",
697
+ # cloud_watch_encryption_enabled: false,
698
+ # s3_bucket_name: "String",
699
+ # s3_encryption_enabled: false,
700
+ # s3_key_prefix: "String",
701
+ # },
702
+ # },
703
+ # }
704
+ #
705
+ # @!attribute [rw] execute_command_configuration
706
+ # The details of the execute command configuration.
707
+ # @return [Types::ExecuteCommandConfiguration]
708
+ #
709
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ClusterConfiguration AWS API Documentation
710
+ #
711
+ class ClusterConfiguration < Struct.new(
712
+ :execute_command_configuration)
713
+ SENSITIVE = []
714
+ include Aws::Structure
715
+ end
716
+
667
717
  # You cannot delete a cluster that has registered container instances.
668
718
  # First, deregister the container instances before you can delete the
669
719
  # cluster. For more information, see DeregisterContainerInstance.
@@ -786,6 +836,11 @@ module Aws::ECS
786
836
  # reports the health status as `UNKNOWN`.
787
837
  # @return [String]
788
838
  #
839
+ # @!attribute [rw] managed_agents
840
+ # The details of any Amazon ECS managed agents associated with the
841
+ # container.
842
+ # @return [Array<Types::ManagedAgent>]
843
+ #
789
844
  # @!attribute [rw] cpu
790
845
  # The number of CPU units set for the container. The value will be `0`
791
846
  # if no value was specified in the container definition when the task
@@ -819,6 +874,7 @@ module Aws::ECS
819
874
  :network_bindings,
820
875
  :network_interfaces,
821
876
  :health_status,
877
+ :managed_agents,
822
878
  :cpu,
823
879
  :memory,
824
880
  :memory_reservation,
@@ -987,9 +1043,9 @@ module Aws::ECS
987
1043
  # together in a task definition, the `name` of one container can be
988
1044
  # entered in the `links` of another container to connect the
989
1045
  # containers. Up to 255 letters (uppercase and lowercase), numbers,
990
- # and hyphens are allowed. This parameter maps to `name` in the
991
- # [Create a container][1] section of the [Docker Remote API][2] and
992
- # the `--name` option to [docker run][3].
1046
+ # underscores, and hyphens are allowed. This parameter maps to `name`
1047
+ # in the [Create a container][1] section of the [Docker Remote API][2]
1048
+ # and the `--name` option to [docker run][3].
993
1049
  #
994
1050
  #
995
1051
  #
@@ -1177,15 +1233,14 @@ module Aws::ECS
1177
1233
  # other without the need for port mappings. This parameter is only
1178
1234
  # supported if the network mode of a task definition is `bridge`. The
1179
1235
  # `name:internalName` construct is analogous to `name:alias` in Docker
1180
- # links. Up to 255 letters (uppercase and lowercase), numbers, and
1181
- # hyphens are allowed. For more information about linking Docker
1182
- # containers, go to [Legacy container links][1] in the Docker
1183
- # documentation. This parameter maps to `Links` in the [Create a
1184
- # container][2] section of the [Docker Remote API][3] and the `--link`
1185
- # option to [docker run][4].
1236
+ # links. Up to 255 letters (uppercase and lowercase), numbers,
1237
+ # underscores, and hyphens are allowed. For more information about
1238
+ # linking Docker containers, go to [Legacy container links][1] in the
1239
+ # Docker documentation. This parameter maps to `Links` in the [Create
1240
+ # a container][2] section of the [Docker Remote API][3] and the
1241
+ # `--link` option to [docker run][4].
1186
1242
  #
1187
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1188
- # use the awsvpc network mode.
1243
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1189
1244
  #
1190
1245
  # </note>
1191
1246
  #
@@ -1533,8 +1588,7 @@ module Aws::ECS
1533
1588
  #
1534
1589
  # * `uid:group`
1535
1590
  #
1536
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1537
- # use the awsvpc network mode.
1591
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1538
1592
  #
1539
1593
  # </note>
1540
1594
  #
@@ -1563,8 +1617,7 @@ module Aws::ECS
1563
1617
  # container. This parameter maps to `NetworkDisabled` in the [Create a
1564
1618
  # container][1] section of the [Docker Remote API][2].
1565
1619
  #
1566
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1567
- # use the awsvpc network mode.
1620
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1568
1621
  #
1569
1622
  # </note>
1570
1623
  #
@@ -1581,8 +1634,8 @@ module Aws::ECS
1581
1634
  # container][1] section of the [Docker Remote API][2] and the
1582
1635
  # `--privileged` option to [docker run][3].
1583
1636
  #
1584
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
1585
- # using the Fargate launch type.
1637
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
1638
+ # on AWS Fargate.
1586
1639
  #
1587
1640
  # </note>
1588
1641
  #
@@ -1599,8 +1652,7 @@ module Aws::ECS
1599
1652
  # the [Create a container][1] section of the [Docker Remote API][2]
1600
1653
  # and the `--read-only` option to [docker run][3].
1601
1654
  #
1602
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1603
- # use the awsvpc network mode.
1655
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1604
1656
  #
1605
1657
  # </note>
1606
1658
  #
@@ -1617,8 +1669,7 @@ module Aws::ECS
1617
1669
  # the [Docker Remote API][2] and the `--dns` option to [docker
1618
1670
  # run][3].
1619
1671
  #
1620
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1621
- # use the awsvpc network mode.
1672
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1622
1673
  #
1623
1674
  # </note>
1624
1675
  #
@@ -1635,8 +1686,7 @@ module Aws::ECS
1635
1686
  # section of the [Docker Remote API][2] and the `--dns-search` option
1636
1687
  # to [docker run][3].
1637
1688
  #
1638
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1639
- # use the awsvpc network mode.
1689
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1640
1690
  #
1641
1691
  # </note>
1642
1692
  #
@@ -1753,14 +1803,22 @@ module Aws::ECS
1753
1803
  # set by Docker. This parameter maps to `Ulimits` in the [Create a
1754
1804
  # container][1] section of the [Docker Remote API][2] and the
1755
1805
  # `--ulimit` option to [docker run][3]. Valid naming values are
1756
- # displayed in the Ulimit data type. This parameter requires version
1757
- # 1.18 of the Docker Remote API or greater on your container instance.
1758
- # To check the Docker Remote API version on your container instance,
1759
- # log in to your container instance and run the following command:
1760
- # `sudo docker version --format '\{\{.Server.APIVersion\}\}'`
1806
+ # displayed in the Ulimit data type.
1761
1807
  #
1762
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
1763
- # use the awsvpc network mode.
1808
+ # Amazon ECS tasks hosted on Fargate use the default resource limit
1809
+ # values set by the operating system with the exception of the
1810
+ # `nofile` resource limit parameter which Fargate overrides. The
1811
+ # `nofile` resource limit sets a restriction on the number of open
1812
+ # files that a container can use. The default `nofile` soft limit is
1813
+ # `1024` and hard limit is `4096`.
1814
+ #
1815
+ # This parameter requires version 1.18 of the Docker Remote API or
1816
+ # greater on your container instance. To check the Docker Remote API
1817
+ # version on your container instance, log in to your container
1818
+ # instance and run the following command: `sudo docker version
1819
+ # --format '\{\{.Server.APIVersion\}\}'`
1820
+ #
1821
+ # <note markdown="1"> This parameter is not supported for Windows containers.
1764
1822
  #
1765
1823
  # </note>
1766
1824
  #
@@ -2441,6 +2499,19 @@ module Aws::ECS
2441
2499
  # value: "String",
2442
2500
  # },
2443
2501
  # ],
2502
+ # configuration: {
2503
+ # execute_command_configuration: {
2504
+ # kms_key_id: "String",
2505
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
2506
+ # log_configuration: {
2507
+ # cloud_watch_log_group_name: "String",
2508
+ # cloud_watch_encryption_enabled: false,
2509
+ # s3_bucket_name: "String",
2510
+ # s3_encryption_enabled: false,
2511
+ # s3_key_prefix: "String",
2512
+ # },
2513
+ # },
2514
+ # },
2444
2515
  # capacity_providers: ["String"],
2445
2516
  # default_capacity_provider_strategy: [
2446
2517
  # {
@@ -2454,7 +2525,8 @@ module Aws::ECS
2454
2525
  # @!attribute [rw] cluster_name
2455
2526
  # The name of your cluster. If you do not specify a name for your
2456
2527
  # cluster, you create a cluster named `default`. Up to 255 letters
2457
- # (uppercase and lowercase), numbers, and hyphens are allowed.
2528
+ # (uppercase and lowercase), numbers, underscores, and hyphens are
2529
+ # allowed.
2458
2530
  # @return [String]
2459
2531
  #
2460
2532
  # @!attribute [rw] tags
@@ -2495,14 +2567,22 @@ module Aws::ECS
2495
2567
  # with PutAccountSetting or PutAccountSettingDefault.
2496
2568
  # @return [Array<Types::ClusterSetting>]
2497
2569
  #
2570
+ # @!attribute [rw] configuration
2571
+ # The execute command configuration for the cluster.
2572
+ # @return [Types::ClusterConfiguration]
2573
+ #
2498
2574
  # @!attribute [rw] capacity_providers
2499
2575
  # The short name of one or more capacity providers to associate with
2500
- # the cluster.
2576
+ # the cluster. A capacity provider must be associated with a cluster
2577
+ # before it can be included as part of the default capacity provider
2578
+ # strategy of the cluster or used in a capacity provider strategy when
2579
+ # calling the CreateService or RunTask actions.
2501
2580
  #
2502
2581
  # If specifying a capacity provider that uses an Auto Scaling group,
2503
2582
  # the capacity provider must already be created and not already
2504
- # associated with another cluster. New capacity providers can be
2505
- # created with the CreateCapacityProvider API operation.
2583
+ # associated with another cluster. New Auto Scaling group capacity
2584
+ # providers can be created with the CreateCapacityProvider API
2585
+ # operation.
2506
2586
  #
2507
2587
  # To use a AWS Fargate capacity provider, specify either the `FARGATE`
2508
2588
  # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
@@ -2515,29 +2595,12 @@ module Aws::ECS
2515
2595
  # @return [Array<String>]
2516
2596
  #
2517
2597
  # @!attribute [rw] default_capacity_provider_strategy
2518
- # The capacity provider strategy to use by default for the cluster.
2519
- #
2520
- # When creating a service or running a task on a cluster, if no
2521
- # capacity provider or launch type is specified then the default
2598
+ # The capacity provider strategy to set as the default for the
2599
+ # cluster. When a default capacity provider strategy is set for a
2600
+ # cluster, when calling the RunTask or CreateService APIs wtih no
2601
+ # capacity provider strategy or launch type specified, the default
2522
2602
  # capacity provider strategy for the cluster is used.
2523
2603
  #
2524
- # A capacity provider strategy consists of one or more capacity
2525
- # providers along with the `base` and `weight` to assign to them. A
2526
- # capacity provider must be associated with the cluster to be used in
2527
- # a capacity provider strategy. The PutClusterCapacityProviders API is
2528
- # used to associate a capacity provider with a cluster. Only capacity
2529
- # providers with an `ACTIVE` or `UPDATING` status can be used.
2530
- #
2531
- # If specifying a capacity provider that uses an Auto Scaling group,
2532
- # the capacity provider must already be created. New capacity
2533
- # providers can be created with the CreateCapacityProvider API
2534
- # operation.
2535
- #
2536
- # To use a AWS Fargate capacity provider, specify either the `FARGATE`
2537
- # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
2538
- # providers are available to all accounts and only need to be
2539
- # associated with a cluster to be used.
2540
- #
2541
2604
  # If a default capacity provider strategy is not defined for a cluster
2542
2605
  # during creation, it can be defined later with the
2543
2606
  # PutClusterCapacityProviders API operation.
@@ -2549,6 +2612,7 @@ module Aws::ECS
2549
2612
  :cluster_name,
2550
2613
  :tags,
2551
2614
  :settings,
2615
+ :configuration,
2552
2616
  :capacity_providers,
2553
2617
  :default_capacity_provider_strategy)
2554
2618
  SENSITIVE = []
@@ -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