aws-sdk-ecs 1.75.0 → 1.76.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -43,6 +43,7 @@ module Aws::ECS
43
43
  CapacityProviders = Shapes::ListShape.new(name: 'CapacityProviders')
44
44
  ClientException = Shapes::StructureShape.new(name: 'ClientException')
45
45
  Cluster = Shapes::StructureShape.new(name: 'Cluster')
46
+ ClusterConfiguration = Shapes::StructureShape.new(name: 'ClusterConfiguration')
46
47
  ClusterContainsContainerInstancesException = Shapes::StructureShape.new(name: 'ClusterContainsContainerInstancesException')
47
48
  ClusterContainsServicesException = Shapes::StructureShape.new(name: 'ClusterContainsServicesException')
48
49
  ClusterContainsTasksException = Shapes::StructureShape.new(name: 'ClusterContainsTasksException')
@@ -135,6 +136,11 @@ 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
+ ExecuteCommandConfiguration = Shapes::StructureShape.new(name: 'ExecuteCommandConfiguration')
140
+ ExecuteCommandLogConfiguration = Shapes::StructureShape.new(name: 'ExecuteCommandLogConfiguration')
141
+ ExecuteCommandLogging = Shapes::StringShape.new(name: 'ExecuteCommandLogging')
142
+ ExecuteCommandRequest = Shapes::StructureShape.new(name: 'ExecuteCommandRequest')
143
+ ExecuteCommandResponse = Shapes::StructureShape.new(name: 'ExecuteCommandResponse')
138
144
  FSxWindowsFileServerAuthorizationConfig = Shapes::StructureShape.new(name: 'FSxWindowsFileServerAuthorizationConfig')
139
145
  FSxWindowsFileServerVolumeConfiguration = Shapes::StructureShape.new(name: 'FSxWindowsFileServerVolumeConfiguration')
140
146
  Failure = Shapes::StructureShape.new(name: 'Failure')
@@ -184,6 +190,11 @@ module Aws::ECS
184
190
  LogConfigurationOptionsMap = Shapes::MapShape.new(name: 'LogConfigurationOptionsMap')
185
191
  LogDriver = Shapes::StringShape.new(name: 'LogDriver')
186
192
  Long = Shapes::IntegerShape.new(name: 'Long')
193
+ ManagedAgent = Shapes::StructureShape.new(name: 'ManagedAgent')
194
+ ManagedAgentName = Shapes::StringShape.new(name: 'ManagedAgentName')
195
+ ManagedAgentStateChange = Shapes::StructureShape.new(name: 'ManagedAgentStateChange')
196
+ ManagedAgentStateChanges = Shapes::ListShape.new(name: 'ManagedAgentStateChanges')
197
+ ManagedAgents = Shapes::ListShape.new(name: 'ManagedAgents')
187
198
  ManagedScaling = Shapes::StructureShape.new(name: 'ManagedScaling')
188
199
  ManagedScalingInstanceWarmupPeriod = Shapes::IntegerShape.new(name: 'ManagedScalingInstanceWarmupPeriod')
189
200
  ManagedScalingStatus = Shapes::StringShape.new(name: 'ManagedScalingStatus')
@@ -247,6 +258,7 @@ module Aws::ECS
247
258
  Scope = Shapes::StringShape.new(name: 'Scope')
248
259
  Secret = Shapes::StructureShape.new(name: 'Secret')
249
260
  SecretList = Shapes::ListShape.new(name: 'SecretList')
261
+ SensitiveString = Shapes::StringShape.new(name: 'SensitiveString')
250
262
  ServerException = Shapes::StructureShape.new(name: 'ServerException')
251
263
  Service = Shapes::StructureShape.new(name: 'Service')
252
264
  ServiceEvent = Shapes::StructureShape.new(name: 'ServiceEvent')
@@ -258,6 +270,7 @@ module Aws::ECS
258
270
  ServiceRegistries = Shapes::ListShape.new(name: 'ServiceRegistries')
259
271
  ServiceRegistry = Shapes::StructureShape.new(name: 'ServiceRegistry')
260
272
  Services = Shapes::ListShape.new(name: 'Services')
273
+ Session = Shapes::StructureShape.new(name: 'Session')
261
274
  Setting = Shapes::StructureShape.new(name: 'Setting')
262
275
  SettingName = Shapes::StringShape.new(name: 'SettingName')
263
276
  Settings = Shapes::ListShape.new(name: 'Settings')
@@ -286,6 +299,7 @@ module Aws::ECS
286
299
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
287
300
  TagValue = Shapes::StringShape.new(name: 'TagValue')
288
301
  Tags = Shapes::ListShape.new(name: 'Tags')
302
+ TargetNotConnectedException = Shapes::StructureShape.new(name: 'TargetNotConnectedException')
289
303
  TargetNotFoundException = Shapes::StructureShape.new(name: 'TargetNotFoundException')
290
304
  TargetType = Shapes::StringShape.new(name: 'TargetType')
291
305
  Task = Shapes::StructureShape.new(name: 'Task')
@@ -319,6 +333,8 @@ module Aws::ECS
319
333
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
320
334
  UpdateCapacityProviderRequest = Shapes::StructureShape.new(name: 'UpdateCapacityProviderRequest')
321
335
  UpdateCapacityProviderResponse = Shapes::StructureShape.new(name: 'UpdateCapacityProviderResponse')
336
+ UpdateClusterRequest = Shapes::StructureShape.new(name: 'UpdateClusterRequest')
337
+ UpdateClusterResponse = Shapes::StructureShape.new(name: 'UpdateClusterResponse')
322
338
  UpdateClusterSettingsRequest = Shapes::StructureShape.new(name: 'UpdateClusterSettingsRequest')
323
339
  UpdateClusterSettingsResponse = Shapes::StructureShape.new(name: 'UpdateClusterSettingsResponse')
324
340
  UpdateContainerAgentRequest = Shapes::StructureShape.new(name: 'UpdateContainerAgentRequest')
@@ -407,6 +423,7 @@ module Aws::ECS
407
423
 
408
424
  Cluster.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: String, location_name: "clusterArn"))
409
425
  Cluster.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, location_name: "clusterName"))
426
+ Cluster.add_member(:configuration, Shapes::ShapeRef.new(shape: ClusterConfiguration, location_name: "configuration"))
410
427
  Cluster.add_member(:status, Shapes::ShapeRef.new(shape: String, location_name: "status"))
411
428
  Cluster.add_member(:registered_container_instances_count, Shapes::ShapeRef.new(shape: Integer, location_name: "registeredContainerInstancesCount"))
412
429
  Cluster.add_member(:running_tasks_count, Shapes::ShapeRef.new(shape: Integer, location_name: "runningTasksCount"))
@@ -421,6 +438,9 @@ module Aws::ECS
421
438
  Cluster.add_member(:attachments_status, Shapes::ShapeRef.new(shape: String, location_name: "attachmentsStatus"))
422
439
  Cluster.struct_class = Types::Cluster
423
440
 
441
+ ClusterConfiguration.add_member(:execute_command_configuration, Shapes::ShapeRef.new(shape: ExecuteCommandConfiguration, location_name: "executeCommandConfiguration"))
442
+ ClusterConfiguration.struct_class = Types::ClusterConfiguration
443
+
424
444
  ClusterContainsContainerInstancesException.struct_class = Types::ClusterContainsContainerInstancesException
425
445
 
426
446
  ClusterContainsServicesException.struct_class = Types::ClusterContainsServicesException
@@ -453,6 +473,7 @@ module Aws::ECS
453
473
  Container.add_member(:network_bindings, Shapes::ShapeRef.new(shape: NetworkBindings, location_name: "networkBindings"))
454
474
  Container.add_member(:network_interfaces, Shapes::ShapeRef.new(shape: NetworkInterfaces, location_name: "networkInterfaces"))
455
475
  Container.add_member(:health_status, Shapes::ShapeRef.new(shape: HealthStatus, location_name: "healthStatus"))
476
+ Container.add_member(:managed_agents, Shapes::ShapeRef.new(shape: ManagedAgents, location_name: "managedAgents"))
456
477
  Container.add_member(:cpu, Shapes::ShapeRef.new(shape: String, location_name: "cpu"))
457
478
  Container.add_member(:memory, Shapes::ShapeRef.new(shape: String, location_name: "memory"))
458
479
  Container.add_member(:memory_reservation, Shapes::ShapeRef.new(shape: String, location_name: "memoryReservation"))
@@ -567,6 +588,7 @@ module Aws::ECS
567
588
  CreateClusterRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, location_name: "clusterName"))
568
589
  CreateClusterRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
569
590
  CreateClusterRequest.add_member(:settings, Shapes::ShapeRef.new(shape: ClusterSettings, location_name: "settings"))
591
+ CreateClusterRequest.add_member(:configuration, Shapes::ShapeRef.new(shape: ClusterConfiguration, location_name: "configuration"))
570
592
  CreateClusterRequest.add_member(:capacity_providers, Shapes::ShapeRef.new(shape: StringList, location_name: "capacityProviders"))
571
593
  CreateClusterRequest.add_member(:default_capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, location_name: "defaultCapacityProviderStrategy"))
572
594
  CreateClusterRequest.struct_class = Types::CreateClusterRequest
@@ -595,6 +617,7 @@ module Aws::ECS
595
617
  CreateServiceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
596
618
  CreateServiceRequest.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
597
619
  CreateServiceRequest.add_member(:propagate_tags, Shapes::ShapeRef.new(shape: PropagateTags, location_name: "propagateTags"))
620
+ CreateServiceRequest.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
598
621
  CreateServiceRequest.struct_class = Types::CreateServiceRequest
599
622
 
600
623
  CreateServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
@@ -816,6 +839,33 @@ module Aws::ECS
816
839
 
817
840
  EnvironmentVariables.member = Shapes::ShapeRef.new(shape: KeyValuePair)
818
841
 
842
+ ExecuteCommandConfiguration.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: String, location_name: "kmsKeyId"))
843
+ ExecuteCommandConfiguration.add_member(:logging, Shapes::ShapeRef.new(shape: ExecuteCommandLogging, location_name: "logging"))
844
+ ExecuteCommandConfiguration.add_member(:log_configuration, Shapes::ShapeRef.new(shape: ExecuteCommandLogConfiguration, location_name: "logConfiguration"))
845
+ ExecuteCommandConfiguration.struct_class = Types::ExecuteCommandConfiguration
846
+
847
+ ExecuteCommandLogConfiguration.add_member(:cloud_watch_log_group_name, Shapes::ShapeRef.new(shape: String, location_name: "cloudWatchLogGroupName"))
848
+ ExecuteCommandLogConfiguration.add_member(:cloud_watch_encryption_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "cloudWatchEncryptionEnabled"))
849
+ ExecuteCommandLogConfiguration.add_member(:s3_bucket_name, Shapes::ShapeRef.new(shape: String, location_name: "s3BucketName"))
850
+ ExecuteCommandLogConfiguration.add_member(:s3_encryption_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "s3EncryptionEnabled"))
851
+ ExecuteCommandLogConfiguration.add_member(:s3_key_prefix, Shapes::ShapeRef.new(shape: String, location_name: "s3KeyPrefix"))
852
+ ExecuteCommandLogConfiguration.struct_class = Types::ExecuteCommandLogConfiguration
853
+
854
+ ExecuteCommandRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
855
+ ExecuteCommandRequest.add_member(:container, Shapes::ShapeRef.new(shape: String, location_name: "container"))
856
+ ExecuteCommandRequest.add_member(:command, Shapes::ShapeRef.new(shape: String, required: true, location_name: "command"))
857
+ ExecuteCommandRequest.add_member(:interactive, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "interactive"))
858
+ ExecuteCommandRequest.add_member(:task, Shapes::ShapeRef.new(shape: String, required: true, location_name: "task"))
859
+ ExecuteCommandRequest.struct_class = Types::ExecuteCommandRequest
860
+
861
+ ExecuteCommandResponse.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: String, location_name: "clusterArn"))
862
+ ExecuteCommandResponse.add_member(:container_arn, Shapes::ShapeRef.new(shape: String, location_name: "containerArn"))
863
+ ExecuteCommandResponse.add_member(:container_name, Shapes::ShapeRef.new(shape: String, location_name: "containerName"))
864
+ ExecuteCommandResponse.add_member(:interactive, Shapes::ShapeRef.new(shape: Boolean, location_name: "interactive"))
865
+ ExecuteCommandResponse.add_member(:session, Shapes::ShapeRef.new(shape: Session, location_name: "session"))
866
+ ExecuteCommandResponse.add_member(:task_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskArn"))
867
+ ExecuteCommandResponse.struct_class = Types::ExecuteCommandResponse
868
+
819
869
  FSxWindowsFileServerAuthorizationConfig.add_member(:credentials_parameter, Shapes::ShapeRef.new(shape: String, required: true, location_name: "credentialsParameter"))
820
870
  FSxWindowsFileServerAuthorizationConfig.add_member(:domain, Shapes::ShapeRef.new(shape: String, required: true, location_name: "domain"))
821
871
  FSxWindowsFileServerAuthorizationConfig.struct_class = Types::FSxWindowsFileServerAuthorizationConfig
@@ -1002,6 +1052,22 @@ module Aws::ECS
1002
1052
  LogConfigurationOptionsMap.key = Shapes::ShapeRef.new(shape: String)
1003
1053
  LogConfigurationOptionsMap.value = Shapes::ShapeRef.new(shape: String)
1004
1054
 
1055
+ ManagedAgent.add_member(:last_started_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastStartedAt"))
1056
+ ManagedAgent.add_member(:name, Shapes::ShapeRef.new(shape: ManagedAgentName, location_name: "name"))
1057
+ ManagedAgent.add_member(:reason, Shapes::ShapeRef.new(shape: String, location_name: "reason"))
1058
+ ManagedAgent.add_member(:last_status, Shapes::ShapeRef.new(shape: String, location_name: "lastStatus"))
1059
+ ManagedAgent.struct_class = Types::ManagedAgent
1060
+
1061
+ ManagedAgentStateChange.add_member(:container_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "containerName"))
1062
+ ManagedAgentStateChange.add_member(:managed_agent_name, Shapes::ShapeRef.new(shape: ManagedAgentName, required: true, location_name: "managedAgentName"))
1063
+ ManagedAgentStateChange.add_member(:status, Shapes::ShapeRef.new(shape: String, required: true, location_name: "status"))
1064
+ ManagedAgentStateChange.add_member(:reason, Shapes::ShapeRef.new(shape: String, location_name: "reason"))
1065
+ ManagedAgentStateChange.struct_class = Types::ManagedAgentStateChange
1066
+
1067
+ ManagedAgentStateChanges.member = Shapes::ShapeRef.new(shape: ManagedAgentStateChange)
1068
+
1069
+ ManagedAgents.member = Shapes::ShapeRef.new(shape: ManagedAgent)
1070
+
1005
1071
  ManagedScaling.add_member(:status, Shapes::ShapeRef.new(shape: ManagedScalingStatus, location_name: "status"))
1006
1072
  ManagedScaling.add_member(:target_capacity, Shapes::ShapeRef.new(shape: ManagedScalingTargetCapacity, location_name: "targetCapacity"))
1007
1073
  ManagedScaling.add_member(:minimum_scaling_step_size, Shapes::ShapeRef.new(shape: ManagedScalingStepSize, location_name: "minimumScalingStepSize"))
@@ -1168,6 +1234,7 @@ module Aws::ECS
1168
1234
  RunTaskRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
1169
1235
  RunTaskRequest.add_member(:count, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "count"))
1170
1236
  RunTaskRequest.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
1237
+ RunTaskRequest.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
1171
1238
  RunTaskRequest.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
1172
1239
  RunTaskRequest.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
1173
1240
  RunTaskRequest.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
@@ -1228,6 +1295,7 @@ module Aws::ECS
1228
1295
  Service.add_member(:created_by, Shapes::ShapeRef.new(shape: String, location_name: "createdBy"))
1229
1296
  Service.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
1230
1297
  Service.add_member(:propagate_tags, Shapes::ShapeRef.new(shape: PropagateTags, location_name: "propagateTags"))
1298
+ Service.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
1231
1299
  Service.struct_class = Types::Service
1232
1300
 
1233
1301
  ServiceEvent.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
@@ -1253,6 +1321,11 @@ module Aws::ECS
1253
1321
 
1254
1322
  Services.member = Shapes::ShapeRef.new(shape: Service)
1255
1323
 
1324
+ Session.add_member(:session_id, Shapes::ShapeRef.new(shape: String, location_name: "sessionId"))
1325
+ Session.add_member(:stream_url, Shapes::ShapeRef.new(shape: String, location_name: "streamUrl"))
1326
+ Session.add_member(:token_value, Shapes::ShapeRef.new(shape: SensitiveString, location_name: "tokenValue"))
1327
+ Session.struct_class = Types::Session
1328
+
1256
1329
  Setting.add_member(:name, Shapes::ShapeRef.new(shape: SettingName, location_name: "name"))
1257
1330
  Setting.add_member(:value, Shapes::ShapeRef.new(shape: String, location_name: "value"))
1258
1331
  Setting.add_member(:principal_arn, Shapes::ShapeRef.new(shape: String, location_name: "principalArn"))
@@ -1263,6 +1336,7 @@ module Aws::ECS
1263
1336
  StartTaskRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
1264
1337
  StartTaskRequest.add_member(:container_instances, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "containerInstances"))
1265
1338
  StartTaskRequest.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
1339
+ StartTaskRequest.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
1266
1340
  StartTaskRequest.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
1267
1341
  StartTaskRequest.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
1268
1342
  StartTaskRequest.add_member(:overrides, Shapes::ShapeRef.new(shape: TaskOverride, location_name: "overrides"))
@@ -1318,6 +1392,7 @@ module Aws::ECS
1318
1392
  SubmitTaskStateChangeRequest.add_member(:reason, Shapes::ShapeRef.new(shape: String, location_name: "reason"))
1319
1393
  SubmitTaskStateChangeRequest.add_member(:containers, Shapes::ShapeRef.new(shape: ContainerStateChanges, location_name: "containers"))
1320
1394
  SubmitTaskStateChangeRequest.add_member(:attachments, Shapes::ShapeRef.new(shape: AttachmentStateChanges, location_name: "attachments"))
1395
+ SubmitTaskStateChangeRequest.add_member(:managed_agents, Shapes::ShapeRef.new(shape: ManagedAgentStateChanges, location_name: "managedAgents"))
1321
1396
  SubmitTaskStateChangeRequest.add_member(:pull_started_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "pullStartedAt"))
1322
1397
  SubmitTaskStateChangeRequest.add_member(:pull_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "pullStoppedAt"))
1323
1398
  SubmitTaskStateChangeRequest.add_member(:execution_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "executionStoppedAt"))
@@ -1346,6 +1421,8 @@ module Aws::ECS
1346
1421
 
1347
1422
  Tags.member = Shapes::ShapeRef.new(shape: Tag)
1348
1423
 
1424
+ TargetNotConnectedException.struct_class = Types::TargetNotConnectedException
1425
+
1349
1426
  TargetNotFoundException.struct_class = Types::TargetNotFoundException
1350
1427
 
1351
1428
  Task.add_member(:attachments, Shapes::ShapeRef.new(shape: Attachments, location_name: "attachments"))
@@ -1360,6 +1437,7 @@ module Aws::ECS
1360
1437
  Task.add_member(:cpu, Shapes::ShapeRef.new(shape: String, location_name: "cpu"))
1361
1438
  Task.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdAt"))
1362
1439
  Task.add_member(:desired_status, Shapes::ShapeRef.new(shape: String, location_name: "desiredStatus"))
1440
+ Task.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
1363
1441
  Task.add_member(:execution_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "executionStoppedAt"))
1364
1442
  Task.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
1365
1443
  Task.add_member(:health_status, Shapes::ShapeRef.new(shape: HealthStatus, location_name: "healthStatus"))
@@ -1487,6 +1565,14 @@ module Aws::ECS
1487
1565
  UpdateCapacityProviderResponse.add_member(:capacity_provider, Shapes::ShapeRef.new(shape: CapacityProvider, location_name: "capacityProvider"))
1488
1566
  UpdateCapacityProviderResponse.struct_class = Types::UpdateCapacityProviderResponse
1489
1567
 
1568
+ UpdateClusterRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
1569
+ UpdateClusterRequest.add_member(:settings, Shapes::ShapeRef.new(shape: ClusterSettings, location_name: "settings"))
1570
+ UpdateClusterRequest.add_member(:configuration, Shapes::ShapeRef.new(shape: ClusterConfiguration, location_name: "configuration"))
1571
+ UpdateClusterRequest.struct_class = Types::UpdateClusterRequest
1572
+
1573
+ UpdateClusterResponse.add_member(:cluster, Shapes::ShapeRef.new(shape: Cluster, location_name: "cluster"))
1574
+ UpdateClusterResponse.struct_class = Types::UpdateClusterResponse
1575
+
1490
1576
  UpdateClusterSettingsRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
1491
1577
  UpdateClusterSettingsRequest.add_member(:settings, Shapes::ShapeRef.new(shape: ClusterSettings, required: true, location_name: "settings"))
1492
1578
  UpdateClusterSettingsRequest.struct_class = Types::UpdateClusterSettingsRequest
@@ -1532,6 +1618,7 @@ module Aws::ECS
1532
1618
  UpdateServiceRequest.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
1533
1619
  UpdateServiceRequest.add_member(:force_new_deployment, Shapes::ShapeRef.new(shape: Boolean, location_name: "forceNewDeployment"))
1534
1620
  UpdateServiceRequest.add_member(:health_check_grace_period_seconds, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "healthCheckGracePeriodSeconds"))
1621
+ UpdateServiceRequest.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "enableExecuteCommand"))
1535
1622
  UpdateServiceRequest.struct_class = Types::UpdateServiceRequest
1536
1623
 
1537
1624
  UpdateServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
@@ -1840,6 +1927,20 @@ module Aws::ECS
1840
1927
  o.errors << Shapes::ShapeRef.new(shape: ClientException)
1841
1928
  end)
1842
1929
 
1930
+ api.add_operation(:execute_command, Seahorse::Model::Operation.new.tap do |o|
1931
+ o.name = "ExecuteCommand"
1932
+ o.http_method = "POST"
1933
+ o.http_request_uri = "/"
1934
+ o.input = Shapes::ShapeRef.new(shape: ExecuteCommandRequest)
1935
+ o.output = Shapes::ShapeRef.new(shape: ExecuteCommandResponse)
1936
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
1937
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1938
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1939
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1940
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
1941
+ o.errors << Shapes::ShapeRef.new(shape: TargetNotConnectedException)
1942
+ end)
1943
+
1843
1944
  api.add_operation(:list_account_settings, Seahorse::Model::Operation.new.tap do |o|
1844
1945
  o.name = "ListAccountSettings"
1845
1946
  o.http_method = "POST"
@@ -2174,6 +2275,18 @@ module Aws::ECS
2174
2275
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2175
2276
  end)
2176
2277
 
2278
+ api.add_operation(:update_cluster, Seahorse::Model::Operation.new.tap do |o|
2279
+ o.name = "UpdateCluster"
2280
+ o.http_method = "POST"
2281
+ o.http_request_uri = "/"
2282
+ o.input = Shapes::ShapeRef.new(shape: UpdateClusterRequest)
2283
+ o.output = Shapes::ShapeRef.new(shape: UpdateClusterResponse)
2284
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
2285
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
2286
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
2287
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2288
+ end)
2289
+
2177
2290
  api.add_operation(:update_cluster_settings, Seahorse::Model::Operation.new.tap do |o|
2178
2291
  o.name = "UpdateClusterSettings"
2179
2292
  o.http_method = "POST"
@@ -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
@@ -421,7 +421,25 @@ module Aws::ECS
421
421
  include Aws::Structure
422
422
  end
423
423
 
424
- # The details of a capacity provider strategy.
424
+ # The details of a capacity provider strategy. A capacity provider
425
+ # strategy can be set when using the RunTask or CreateCluster APIs or as
426
+ # the default capacity provider strategy for a cluster with the
427
+ # CreateCluster API.
428
+ #
429
+ # Only capacity providers that are already associated with a cluster and
430
+ # have an `ACTIVE` or `UPDATING` status can be used in a capacity
431
+ # provider strategy. The PutClusterCapacityProviders API is used to
432
+ # associate a capacity provider with a cluster.
433
+ #
434
+ # If specifying a capacity provider that uses an Auto Scaling group, the
435
+ # capacity provider must already be created. New Auto Scaling group
436
+ # capacity providers can be created with the CreateCapacityProvider API
437
+ # operation.
438
+ #
439
+ # To use a AWS Fargate capacity provider, specify either the `FARGATE`
440
+ # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
441
+ # providers are available to all accounts and only need to be associated
442
+ # with a cluster to be used in a capacity provider strategy.
425
443
  #
426
444
  # @note When making an API call, you may pass CapacityProviderStrategyItem
427
445
  # data as a hash:
@@ -439,21 +457,32 @@ module Aws::ECS
439
457
  # @!attribute [rw] weight
440
458
  # The *weight* value designates the relative percentage of the total
441
459
  # 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*.
460
+ # provider. The `weight` value is taken into consideration after the
461
+ # `base` value, if defined, is satisfied.
462
+ #
463
+ # If no `weight` value is specified, the default value of `0` is used.
464
+ # When multiple capacity providers are specified within a capacity
465
+ # provider strategy, at least one of the capacity providers must have
466
+ # a weight value greater than zero and any capacity providers with a
467
+ # weight of `0` will not be used to place tasks. If you specify
468
+ # multiple capacity providers in a strategy that all have a weight of
469
+ # `0`, any `RunTask` or `CreateService` actions using the capacity
470
+ # provider strategy will fail.
471
+ #
472
+ # An example scenario for using weights is defining a strategy that
473
+ # contains two capacity providers and both have a weight of `1`, then
474
+ # when the `base` is satisfied, the tasks will be split evenly across
475
+ # the two capacity providers. Using that same logic, if you specify a
476
+ # weight of `1` for *capacityProviderA* and a weight of `4` for
477
+ # *capacityProviderB*, then for every one task that is run using
478
+ # *capacityProviderA*, four tasks would use *capacityProviderB*.
451
479
  # @return [Integer]
452
480
  #
453
481
  # @!attribute [rw] base
454
482
  # The *base* value designates how many tasks, at a minimum, to run on
455
483
  # the specified capacity provider. Only one capacity provider in a
456
- # capacity provider strategy can have a *base* defined.
484
+ # capacity provider strategy can have a *base* defined. If no value is
485
+ # specified, the default value of `0` is used.
457
486
  # @return [Integer]
458
487
  #
459
488
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CapacityProviderStrategyItem AWS API Documentation
@@ -500,6 +529,10 @@ module Aws::ECS
500
529
  # A user-generated string that you use to identify your cluster.
501
530
  # @return [String]
502
531
  #
532
+ # @!attribute [rw] configuration
533
+ # The execute command configuration for the cluster.
534
+ # @return [Types::ClusterConfiguration]
535
+ #
503
536
  # @!attribute [rw] status
504
537
  # The status of the cluster. The following are the possible states
505
538
  # that will be returned.
@@ -648,6 +681,7 @@ module Aws::ECS
648
681
  class Cluster < Struct.new(
649
682
  :cluster_arn,
650
683
  :cluster_name,
684
+ :configuration,
651
685
  :status,
652
686
  :registered_container_instances_count,
653
687
  :running_tasks_count,
@@ -664,6 +698,37 @@ module Aws::ECS
664
698
  include Aws::Structure
665
699
  end
666
700
 
701
+ # The execute command configuration for the cluster.
702
+ #
703
+ # @note When making an API call, you may pass ClusterConfiguration
704
+ # data as a hash:
705
+ #
706
+ # {
707
+ # execute_command_configuration: {
708
+ # kms_key_id: "String",
709
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
710
+ # log_configuration: {
711
+ # cloud_watch_log_group_name: "String",
712
+ # cloud_watch_encryption_enabled: false,
713
+ # s3_bucket_name: "String",
714
+ # s3_encryption_enabled: false,
715
+ # s3_key_prefix: "String",
716
+ # },
717
+ # },
718
+ # }
719
+ #
720
+ # @!attribute [rw] execute_command_configuration
721
+ # The details of the execute command configuration.
722
+ # @return [Types::ExecuteCommandConfiguration]
723
+ #
724
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ClusterConfiguration AWS API Documentation
725
+ #
726
+ class ClusterConfiguration < Struct.new(
727
+ :execute_command_configuration)
728
+ SENSITIVE = []
729
+ include Aws::Structure
730
+ end
731
+
667
732
  # You cannot delete a cluster that has registered container instances.
668
733
  # First, deregister the container instances before you can delete the
669
734
  # cluster. For more information, see DeregisterContainerInstance.
@@ -786,6 +851,11 @@ module Aws::ECS
786
851
  # reports the health status as `UNKNOWN`.
787
852
  # @return [String]
788
853
  #
854
+ # @!attribute [rw] managed_agents
855
+ # The details of any Amazon ECS managed agents associated with the
856
+ # container.
857
+ # @return [Array<Types::ManagedAgent>]
858
+ #
789
859
  # @!attribute [rw] cpu
790
860
  # The number of CPU units set for the container. The value will be `0`
791
861
  # if no value was specified in the container definition when the task
@@ -819,6 +889,7 @@ module Aws::ECS
819
889
  :network_bindings,
820
890
  :network_interfaces,
821
891
  :health_status,
892
+ :managed_agents,
822
893
  :cpu,
823
894
  :memory,
824
895
  :memory_reservation,
@@ -1581,8 +1652,8 @@ module Aws::ECS
1581
1652
  # container][1] section of the [Docker Remote API][2] and the
1582
1653
  # `--privileged` option to [docker run][3].
1583
1654
  #
1584
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
1585
- # using the Fargate launch type.
1655
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
1656
+ # on AWS Fargate.
1586
1657
  #
1587
1658
  # </note>
1588
1659
  #
@@ -2441,6 +2512,19 @@ module Aws::ECS
2441
2512
  # value: "String",
2442
2513
  # },
2443
2514
  # ],
2515
+ # configuration: {
2516
+ # execute_command_configuration: {
2517
+ # kms_key_id: "String",
2518
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
2519
+ # log_configuration: {
2520
+ # cloud_watch_log_group_name: "String",
2521
+ # cloud_watch_encryption_enabled: false,
2522
+ # s3_bucket_name: "String",
2523
+ # s3_encryption_enabled: false,
2524
+ # s3_key_prefix: "String",
2525
+ # },
2526
+ # },
2527
+ # },
2444
2528
  # capacity_providers: ["String"],
2445
2529
  # default_capacity_provider_strategy: [
2446
2530
  # {
@@ -2495,14 +2579,22 @@ module Aws::ECS
2495
2579
  # with PutAccountSetting or PutAccountSettingDefault.
2496
2580
  # @return [Array<Types::ClusterSetting>]
2497
2581
  #
2582
+ # @!attribute [rw] configuration
2583
+ # The execute command configuration for the cluster.
2584
+ # @return [Types::ClusterConfiguration]
2585
+ #
2498
2586
  # @!attribute [rw] capacity_providers
2499
2587
  # The short name of one or more capacity providers to associate with
2500
- # the cluster.
2588
+ # the cluster. A capacity provider must be associated with a cluster
2589
+ # before it can be included as part of the default capacity provider
2590
+ # strategy of the cluster or used in a capacity provider strategy when
2591
+ # calling the CreateService or RunTask actions.
2501
2592
  #
2502
2593
  # If specifying a capacity provider that uses an Auto Scaling group,
2503
2594
  # 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.
2595
+ # associated with another cluster. New Auto Scaling group capacity
2596
+ # providers can be created with the CreateCapacityProvider API
2597
+ # operation.
2506
2598
  #
2507
2599
  # To use a AWS Fargate capacity provider, specify either the `FARGATE`
2508
2600
  # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
@@ -2515,29 +2607,12 @@ module Aws::ECS
2515
2607
  # @return [Array<String>]
2516
2608
  #
2517
2609
  # @!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
2610
+ # The capacity provider strategy to set as the default for the
2611
+ # cluster. When a default capacity provider strategy is set for a
2612
+ # cluster, when calling the RunTask or CreateService APIs wtih no
2613
+ # capacity provider strategy or launch type specified, the default
2522
2614
  # capacity provider strategy for the cluster is used.
2523
2615
  #
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
2616
  # If a default capacity provider strategy is not defined for a cluster
2542
2617
  # during creation, it can be defined later with the
2543
2618
  # PutClusterCapacityProviders API operation.
@@ -2549,6 +2624,7 @@ module Aws::ECS
2549
2624
  :cluster_name,
2550
2625
  :tags,
2551
2626
  :settings,
2627
+ :configuration,
2552
2628
  :capacity_providers,
2553
2629
  :default_capacity_provider_strategy)
2554
2630
  SENSITIVE = []
@@ -2642,6 +2718,7 @@ module Aws::ECS
2642
2718
  # ],
2643
2719
  # enable_ecs_managed_tags: false,
2644
2720
  # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
2721
+ # enable_execute_command: false,
2645
2722
  # }
2646
2723
  #
2647
2724
  # @!attribute [rw] cluster
@@ -2676,7 +2753,7 @@ module Aws::ECS
2676
2753
  # Load Balancer, you must specify one or more target group ARNs to
2677
2754
  # attach to the service. The service-linked role is required for
2678
2755
  # services that make use of multiple target groups. For more
2679
- # information, see [Using Service-Linked Roles for Amazon ECS][2] in
2756
+ # information, see [Using service-linked roles for Amazon ECS][2] in
2680
2757
  # the *Amazon Elastic Container Service Developer Guide*.
2681
2758
  #
2682
2759
  # If the service is using the `CODE_DEPLOY` deployment controller, the
@@ -2730,11 +2807,11 @@ module Aws::ECS
2730
2807
  #
2731
2808
  # @!attribute [rw] service_registries
2732
2809
  # The details of the service discovery registries to assign to this
2733
- # service. For more information, see [Service Discovery][1].
2810
+ # service. For more information, see [Service discovery][1].
2734
2811
  #
2735
2812
  # <note markdown="1"> Service discovery is supported for Fargate tasks if you are using
2736
2813
  # platform version v1.1.0 or later. For more information, see [AWS
2737
- # Fargate Platform Versions][2].
2814
+ # Fargate platform versions][2].
2738
2815
  #
2739
2816
  # </note>
2740
2817
  #
@@ -2759,9 +2836,18 @@ module Aws::ECS
2759
2836
  # @return [String]
2760
2837
  #
2761
2838
  # @!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*.
2839
+ # The launch type on which to run your service. The accepted values
2840
+ # are `FARGATE` and `EC2`. For more information, see [Amazon ECS
2841
+ # launch types][1] in the *Amazon Elastic Container Service Developer
2842
+ # Guide*.
2843
+ #
2844
+ # When a value of `FARGATE` is specified, your tasks are launched on
2845
+ # AWS Fargate On-Demand infrastructure. To use Fargate Spot, you must
2846
+ # use a capacity provider strategy with the `FARGATE_SPOT` capacity
2847
+ # provider.
2848
+ #
2849
+ # When a value of `EC2` is specified, your tasks are launched on
2850
+ # Amazon EC2 instances registered to your cluster.
2765
2851
  #
2766
2852
  # If a `launchType` is specified, the `capacityProviderStrategy`
2767
2853
  # parameter must be omitted.
@@ -2774,39 +2860,18 @@ module Aws::ECS
2774
2860
  # @!attribute [rw] capacity_provider_strategy
2775
2861
  # The capacity provider strategy to use for the service.
2776
2862
  #
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
2863
  # If a `capacityProviderStrategy` is specified, the `launchType`
2785
2864
  # parameter must be omitted. If no `capacityProviderStrategy` or
2786
2865
  # `launchType` is specified, the `defaultCapacityProviderStrategy` for
2787
2866
  # 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
2867
  # @return [Array<Types::CapacityProviderStrategyItem>]
2803
2868
  #
2804
2869
  # @!attribute [rw] platform_version
2805
2870
  # The platform version that your tasks in the service are running on.
2806
2871
  # A platform version is specified only for tasks using the Fargate
2807
2872
  # 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
2873
+ # is used by default. For more information, see [AWS Fargate platform
2874
+ # versions][1] in the *Amazon Elastic Container Service Developer
2810
2875
  # Guide*.
2811
2876
  #
2812
2877
  #
@@ -2830,14 +2895,14 @@ module Aws::ECS
2830
2895
  # configured to use service discovery, an external deployment
2831
2896
  # controller, multiple target groups, or Elastic Inference
2832
2897
  # accelerators in which case you should not specify a role here. For
2833
- # more information, see [Using Service-Linked Roles for Amazon ECS][1]
2898
+ # more information, see [Using service-linked roles for Amazon ECS][1]
2834
2899
  # in the *Amazon Elastic Container Service Developer Guide*.
2835
2900
  #
2836
2901
  # If your specified role has a path other than `/`, then you must
2837
2902
  # either specify the full role ARN (this is recommended) or prefix the
2838
2903
  # role name with the path. For example, if a role with the name `bar`
2839
2904
  # 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
2905
+ # name. For more information, see [Friendly names and paths][2] in the
2841
2906
  # *IAM User Guide*.
2842
2907
  #
2843
2908
  #
@@ -2869,7 +2934,7 @@ module Aws::ECS
2869
2934
  # required for task definitions that use the `awsvpc` network mode to
2870
2935
  # receive their own elastic network interface, and it is not supported
2871
2936
  # for other network modes. For more information, see [Task
2872
- # Networking][1] in the *Amazon Elastic Container Service Developer
2937
+ # networking][1] in the *Amazon Elastic Container Service Developer
2873
2938
  # Guide*.
2874
2939
  #
2875
2940
  #
@@ -2982,6 +3047,12 @@ module Aws::ECS
2982
3047
  # task after service creation, use the TagResource API action.
2983
3048
  # @return [String]
2984
3049
  #
3050
+ # @!attribute [rw] enable_execute_command
3051
+ # Whether or not the execute command functionality is enabled for the
3052
+ # service. If `true`, this enables execute command functionality on
3053
+ # all containers in the service tasks.
3054
+ # @return [Boolean]
3055
+ #
2985
3056
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateServiceRequest AWS API Documentation
2986
3057
  #
2987
3058
  class CreateServiceRequest < Struct.new(
@@ -3005,7 +3076,8 @@ module Aws::ECS
3005
3076
  :deployment_controller,
3006
3077
  :tags,
3007
3078
  :enable_ecs_managed_tags,
3008
- :propagate_tags)
3079
+ :propagate_tags,
3080
+ :enable_execute_command)
3009
3081
  SENSITIVE = []
3010
3082
  include Aws::Structure
3011
3083
  end
@@ -4035,7 +4107,7 @@ module Aws::ECS
4035
4107
  #
4036
4108
  # {
4037
4109
  # clusters: ["String"],
4038
- # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, SETTINGS, STATISTICS, TAGS
4110
+ # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, CONFIGURATIONS, SETTINGS, STATISTICS, TAGS
4039
4111
  # }
4040
4112
  #
4041
4113
  # @!attribute [rw] clusters
@@ -4720,12 +4792,12 @@ module Aws::ECS
4720
4792
  # variables contained within an environment file. If multiple
4721
4793
  # environment files are specified that contain the same variable, they
4722
4794
  # 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
4795
+ # variable names. For more information, see [Specifying environment
4796
+ # variables][2] in the *Amazon Elastic Container Service Developer
4725
4797
  # Guide*.
4726
4798
  #
4727
- # This field is not valid for containers in tasks using the Fargate
4728
- # launch type.
4799
+ # This field is only valid for containers in Fargate tasks that use
4800
+ # platform version `1.4.0` or later.
4729
4801
  #
4730
4802
  #
4731
4803
  #
@@ -4758,6 +4830,204 @@ module Aws::ECS
4758
4830
  include Aws::Structure
4759
4831
  end
4760
4832
 
4833
+ # The details of the execute command configuration.
4834
+ #
4835
+ # @note When making an API call, you may pass ExecuteCommandConfiguration
4836
+ # data as a hash:
4837
+ #
4838
+ # {
4839
+ # kms_key_id: "String",
4840
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
4841
+ # log_configuration: {
4842
+ # cloud_watch_log_group_name: "String",
4843
+ # cloud_watch_encryption_enabled: false,
4844
+ # s3_bucket_name: "String",
4845
+ # s3_encryption_enabled: false,
4846
+ # s3_key_prefix: "String",
4847
+ # },
4848
+ # }
4849
+ #
4850
+ # @!attribute [rw] kms_key_id
4851
+ # Specify an AWS Key Management Service key ID to encrypt the data
4852
+ # between the local client and the container.
4853
+ # @return [String]
4854
+ #
4855
+ # @!attribute [rw] logging
4856
+ # The log setting to use for redirecting logs for your execute command
4857
+ # results. The following log settings are available.
4858
+ #
4859
+ # * `NONE`\: The execute command session is not logged.
4860
+ #
4861
+ # * `DEFAULT`\: The `awslogs` configuration in the task definition is
4862
+ # used. If no logging parameter is specified, it defaults to this
4863
+ # value. If no `awslogs` log driver is configured in the task
4864
+ # definition, the output won't be logged.
4865
+ #
4866
+ # * `OVERRIDE`\: Specify the logging details as a part of
4867
+ # `logConfiguration`. If the `OVERRIDE` logging option is specified,
4868
+ # the `logConfiguration` is required.
4869
+ # @return [String]
4870
+ #
4871
+ # @!attribute [rw] log_configuration
4872
+ # The log configuration for the results of the execute command
4873
+ # actions. The logs can be sent to CloudWatch Logs or an Amazon S3
4874
+ # bucket. When `logging=OVERRIDE` is specified, a `logConfiguration`
4875
+ # must be provided.
4876
+ # @return [Types::ExecuteCommandLogConfiguration]
4877
+ #
4878
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommandConfiguration AWS API Documentation
4879
+ #
4880
+ class ExecuteCommandConfiguration < Struct.new(
4881
+ :kms_key_id,
4882
+ :logging,
4883
+ :log_configuration)
4884
+ SENSITIVE = []
4885
+ include Aws::Structure
4886
+ end
4887
+
4888
+ # The log configuration for the results of the execute command actions.
4889
+ # The logs can be sent to CloudWatch Logs or an Amazon S3 bucket.
4890
+ #
4891
+ # @note When making an API call, you may pass ExecuteCommandLogConfiguration
4892
+ # data as a hash:
4893
+ #
4894
+ # {
4895
+ # cloud_watch_log_group_name: "String",
4896
+ # cloud_watch_encryption_enabled: false,
4897
+ # s3_bucket_name: "String",
4898
+ # s3_encryption_enabled: false,
4899
+ # s3_key_prefix: "String",
4900
+ # }
4901
+ #
4902
+ # @!attribute [rw] cloud_watch_log_group_name
4903
+ # The name of the CloudWatch log group to send logs to.
4904
+ #
4905
+ # <note markdown="1"> The CloudWatch log group must already be created.
4906
+ #
4907
+ # </note>
4908
+ # @return [String]
4909
+ #
4910
+ # @!attribute [rw] cloud_watch_encryption_enabled
4911
+ # Whether or not to enable encryption on the CloudWatch logs. If not
4912
+ # specified, encryption will be disabled.
4913
+ # @return [Boolean]
4914
+ #
4915
+ # @!attribute [rw] s3_bucket_name
4916
+ # The name of the S3 bucket to send logs to.
4917
+ #
4918
+ # <note markdown="1"> The S3 bucket must already be created.
4919
+ #
4920
+ # </note>
4921
+ # @return [String]
4922
+ #
4923
+ # @!attribute [rw] s3_encryption_enabled
4924
+ # Whether or not to enable encryption on the CloudWatch logs. If not
4925
+ # specified, encryption will be disabled.
4926
+ # @return [Boolean]
4927
+ #
4928
+ # @!attribute [rw] s3_key_prefix
4929
+ # An optional folder in the S3 bucket to place logs in.
4930
+ # @return [String]
4931
+ #
4932
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommandLogConfiguration AWS API Documentation
4933
+ #
4934
+ class ExecuteCommandLogConfiguration < Struct.new(
4935
+ :cloud_watch_log_group_name,
4936
+ :cloud_watch_encryption_enabled,
4937
+ :s3_bucket_name,
4938
+ :s3_encryption_enabled,
4939
+ :s3_key_prefix)
4940
+ SENSITIVE = []
4941
+ include Aws::Structure
4942
+ end
4943
+
4944
+ # @note When making an API call, you may pass ExecuteCommandRequest
4945
+ # data as a hash:
4946
+ #
4947
+ # {
4948
+ # cluster: "String",
4949
+ # container: "String",
4950
+ # command: "String", # required
4951
+ # interactive: false, # required
4952
+ # task: "String", # required
4953
+ # }
4954
+ #
4955
+ # @!attribute [rw] cluster
4956
+ # The Amazon Resource Name (ARN) or short name of the cluster the task
4957
+ # is running in. If you do not specify a cluster, the default cluster
4958
+ # is assumed.
4959
+ # @return [String]
4960
+ #
4961
+ # @!attribute [rw] container
4962
+ # The name of the container to execute the command on. A container
4963
+ # name only needs to be specified for tasks containing multiple
4964
+ # containers.
4965
+ # @return [String]
4966
+ #
4967
+ # @!attribute [rw] command
4968
+ # The command to run on the container.
4969
+ # @return [String]
4970
+ #
4971
+ # @!attribute [rw] interactive
4972
+ # Use this flag to run your command in interactive mode.
4973
+ # @return [Boolean]
4974
+ #
4975
+ # @!attribute [rw] task
4976
+ # The Amazon Resource Name (ARN) or ID of the task the container is
4977
+ # part of.
4978
+ # @return [String]
4979
+ #
4980
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommandRequest AWS API Documentation
4981
+ #
4982
+ class ExecuteCommandRequest < Struct.new(
4983
+ :cluster,
4984
+ :container,
4985
+ :command,
4986
+ :interactive,
4987
+ :task)
4988
+ SENSITIVE = []
4989
+ include Aws::Structure
4990
+ end
4991
+
4992
+ # @!attribute [rw] cluster_arn
4993
+ # The Amazon Resource Name (ARN) of the cluster.
4994
+ # @return [String]
4995
+ #
4996
+ # @!attribute [rw] container_arn
4997
+ # The Amazon Resource Name (ARN) of the container.
4998
+ # @return [String]
4999
+ #
5000
+ # @!attribute [rw] container_name
5001
+ # The name of the container.
5002
+ # @return [String]
5003
+ #
5004
+ # @!attribute [rw] interactive
5005
+ # Whether or not the execute command session is running in interactive
5006
+ # mode.
5007
+ # @return [Boolean]
5008
+ #
5009
+ # @!attribute [rw] session
5010
+ # The details of the SSM session that was created for this instance of
5011
+ # execute-command.
5012
+ # @return [Types::Session]
5013
+ #
5014
+ # @!attribute [rw] task_arn
5015
+ # The Amazon Resource Name (ARN) of the task.
5016
+ # @return [String]
5017
+ #
5018
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommandResponse AWS API Documentation
5019
+ #
5020
+ class ExecuteCommandResponse < Struct.new(
5021
+ :cluster_arn,
5022
+ :container_arn,
5023
+ :container_name,
5024
+ :interactive,
5025
+ :session,
5026
+ :task_arn)
5027
+ SENSITIVE = []
5028
+ include Aws::Structure
5029
+ end
5030
+
4761
5031
  # The authorization configuration details for Amazon FSx for Windows
4762
5032
  # File Server file system. See
4763
5033
  # [FSxWindowsFileServerVolumeConfiguration][1] in the *Amazon Elastic
@@ -4918,6 +5188,11 @@ module Aws::ECS
4918
5188
  # FireLens Configuration][1] in the *Amazon Elastic Container Service
4919
5189
  # Developer Guide*.
4920
5190
  #
5191
+ # <note markdown="1"> Tasks hosted on AWS Fargate only support the `file` configuration
5192
+ # file type.
5193
+ #
5194
+ # </note>
5195
+ #
4921
5196
  #
4922
5197
  #
4923
5198
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef
@@ -6447,6 +6722,75 @@ module Aws::ECS
6447
6722
  include Aws::Structure
6448
6723
  end
6449
6724
 
6725
+ # Details about the managed agent status for the container.
6726
+ #
6727
+ # @!attribute [rw] last_started_at
6728
+ # The Unix timestamp for when the managed agent was last started.
6729
+ # @return [Time]
6730
+ #
6731
+ # @!attribute [rw] name
6732
+ # The name of the managed agent. When the execute command feature is
6733
+ # enabled, the managed agent name is `ExecuteCommandAgent`.
6734
+ # @return [String]
6735
+ #
6736
+ # @!attribute [rw] reason
6737
+ # The reason for why the managed agent is in the state it is in.
6738
+ # @return [String]
6739
+ #
6740
+ # @!attribute [rw] last_status
6741
+ # The last known status of the managed agent.
6742
+ # @return [String]
6743
+ #
6744
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedAgent AWS API Documentation
6745
+ #
6746
+ class ManagedAgent < Struct.new(
6747
+ :last_started_at,
6748
+ :name,
6749
+ :reason,
6750
+ :last_status)
6751
+ SENSITIVE = []
6752
+ include Aws::Structure
6753
+ end
6754
+
6755
+ # An object representing a change in state for a managed agent.
6756
+ #
6757
+ # @note When making an API call, you may pass ManagedAgentStateChange
6758
+ # data as a hash:
6759
+ #
6760
+ # {
6761
+ # container_name: "String", # required
6762
+ # managed_agent_name: "ExecuteCommandAgent", # required, accepts ExecuteCommandAgent
6763
+ # status: "String", # required
6764
+ # reason: "String",
6765
+ # }
6766
+ #
6767
+ # @!attribute [rw] container_name
6768
+ # The name of the container associated with the managed agent.
6769
+ # @return [String]
6770
+ #
6771
+ # @!attribute [rw] managed_agent_name
6772
+ # The name of the managed agent.
6773
+ # @return [String]
6774
+ #
6775
+ # @!attribute [rw] status
6776
+ # The status of the managed agent.
6777
+ # @return [String]
6778
+ #
6779
+ # @!attribute [rw] reason
6780
+ # The reason for the status of the managed agent.
6781
+ # @return [String]
6782
+ #
6783
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedAgentStateChange AWS API Documentation
6784
+ #
6785
+ class ManagedAgentStateChange < Struct.new(
6786
+ :container_name,
6787
+ :managed_agent_name,
6788
+ :status,
6789
+ :reason)
6790
+ SENSITIVE = []
6791
+ include Aws::Structure
6792
+ end
6793
+
6450
6794
  # The managed scaling settings for the Auto Scaling group capacity
6451
6795
  # provider.
6452
6796
  #
@@ -7706,9 +8050,10 @@ module Aws::ECS
7706
8050
  #
7707
8051
  # @!attribute [rw] requires_compatibilities
7708
8052
  # 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`.
8053
+ # definition against. A client exception is returned if the task
8054
+ # definition doesn't validate against the compatibilities specified.
8055
+ # If no value is specified, the parameter is omitted from the
8056
+ # response.
7712
8057
  # @return [Array<String>]
7713
8058
  #
7714
8059
  # @!attribute [rw] cpu
@@ -7829,8 +8174,8 @@ module Aws::ECS
7829
8174
  # risk of undesired process namespace expose. For more information,
7830
8175
  # see [Docker security][2].
7831
8176
  #
7832
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
7833
- # using the Fargate launch type.
8177
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
8178
+ # on AWS Fargate.
7834
8179
  #
7835
8180
  # </note>
7836
8181
  #
@@ -7870,8 +8215,8 @@ module Aws::ECS
7870
8215
  # * For tasks that use the `task` IPC mode, IPC namespace related
7871
8216
  # `systemControls` will apply to all containers within a task.
7872
8217
  #
7873
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
7874
- # using the Fargate launch type.
8218
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
8219
+ # on AWS Fargate.
7875
8220
  #
7876
8221
  # </note>
7877
8222
  #
@@ -8102,6 +8447,7 @@ module Aws::ECS
8102
8447
  # cluster: "String",
8103
8448
  # count: 1,
8104
8449
  # enable_ecs_managed_tags: false,
8450
+ # enable_execute_command: false,
8105
8451
  # group: "String",
8106
8452
  # launch_type: "EC2", # accepts EC2, FARGATE
8107
8453
  # network_configuration: {
@@ -8178,31 +8524,10 @@ module Aws::ECS
8178
8524
  # @!attribute [rw] capacity_provider_strategy
8179
8525
  # The capacity provider strategy to use for the task.
8180
8526
  #
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
8527
  # If a `capacityProviderStrategy` is specified, the `launchType`
8189
8528
  # parameter must be omitted. If no `capacityProviderStrategy` or
8190
8529
  # `launchType` is specified, the `defaultCapacityProviderStrategy` for
8191
8530
  # 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
8531
  # @return [Array<Types::CapacityProviderStrategyItem>]
8207
8532
  #
8208
8533
  # @!attribute [rw] cluster
@@ -8226,6 +8551,12 @@ module Aws::ECS
8226
8551
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
8227
8552
  # @return [Boolean]
8228
8553
  #
8554
+ # @!attribute [rw] enable_execute_command
8555
+ # Whether or not to enable the execute command functionality for the
8556
+ # containers in this task. If `true`, this enables execute command
8557
+ # functionality on all containers in the task.
8558
+ # @return [Boolean]
8559
+ #
8229
8560
  # @!attribute [rw] group
8230
8561
  # The name of the task group to associate with the task. The default
8231
8562
  # value is the family name of the task definition (for example,
@@ -8233,9 +8564,17 @@ module Aws::ECS
8233
8564
  # @return [String]
8234
8565
  #
8235
8566
  # @!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*.
8567
+ # The launch type on which to run your task. The accepted values are
8568
+ # `FARGATE` and `EC2`. For more information, see [Amazon ECS Launch
8569
+ # Types][1] in the *Amazon Elastic Container Service Developer Guide*.
8570
+ #
8571
+ # When a value of `FARGATE` is specified, your tasks are launched on
8572
+ # AWS Fargate On-Demand infrastructure. To use Fargate Spot, you must
8573
+ # use a capacity provider strategy with the `FARGATE_SPOT` capacity
8574
+ # provider.
8575
+ #
8576
+ # When a value of `EC2` is specified, your tasks are launched on
8577
+ # Amazon EC2 instances registered to your cluster.
8239
8578
  #
8240
8579
  # If a `launchType` is specified, the `capacityProviderStrategy`
8241
8580
  # parameter must be omitted.
@@ -8369,6 +8708,7 @@ module Aws::ECS
8369
8708
  :cluster,
8370
8709
  :count,
8371
8710
  :enable_ecs_managed_tags,
8711
+ :enable_execute_command,
8372
8712
  :group,
8373
8713
  :launch_type,
8374
8714
  :network_configuration,
@@ -8727,6 +9067,12 @@ module Aws::ECS
8727
9067
  # propagated.
8728
9068
  # @return [String]
8729
9069
  #
9070
+ # @!attribute [rw] enable_execute_command
9071
+ # Whether or not the execute command functionality is enabled for the
9072
+ # service. If `true`, the execute command functionality is enabled for
9073
+ # all containers in tasks as part of the service.
9074
+ # @return [Boolean]
9075
+ #
8730
9076
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Service AWS API Documentation
8731
9077
  #
8732
9078
  class Service < Struct.new(
@@ -8758,7 +9104,8 @@ module Aws::ECS
8758
9104
  :tags,
8759
9105
  :created_by,
8760
9106
  :enable_ecs_managed_tags,
8761
- :propagate_tags)
9107
+ :propagate_tags,
9108
+ :enable_execute_command)
8762
9109
  SENSITIVE = []
8763
9110
  include Aws::Structure
8764
9111
  end
@@ -8865,6 +9212,33 @@ module Aws::ECS
8865
9212
  include Aws::Structure
8866
9213
  end
8867
9214
 
9215
+ # The details of the execute command session.
9216
+ #
9217
+ # @!attribute [rw] session_id
9218
+ # The ID of the execute command session.
9219
+ # @return [String]
9220
+ #
9221
+ # @!attribute [rw] stream_url
9222
+ # A URL back to managed agent on the container that the SSM Session
9223
+ # Manager client uses to send commands and receive output from the
9224
+ # container.
9225
+ # @return [String]
9226
+ #
9227
+ # @!attribute [rw] token_value
9228
+ # An encrypted token value containing session and caller information.
9229
+ # Used to authenticate the connection to the container.
9230
+ # @return [String]
9231
+ #
9232
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Session AWS API Documentation
9233
+ #
9234
+ class Session < Struct.new(
9235
+ :session_id,
9236
+ :stream_url,
9237
+ :token_value)
9238
+ SENSITIVE = [:token_value]
9239
+ include Aws::Structure
9240
+ end
9241
+
8868
9242
  # The current account setting for a resource.
8869
9243
  #
8870
9244
  # @!attribute [rw] name
@@ -8899,6 +9273,7 @@ module Aws::ECS
8899
9273
  # cluster: "String",
8900
9274
  # container_instances: ["String"], # required
8901
9275
  # enable_ecs_managed_tags: false,
9276
+ # enable_execute_command: false,
8902
9277
  # group: "String",
8903
9278
  # network_configuration: {
8904
9279
  # awsvpc_configuration: {
@@ -8980,6 +9355,12 @@ module Aws::ECS
8980
9355
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
8981
9356
  # @return [Boolean]
8982
9357
  #
9358
+ # @!attribute [rw] enable_execute_command
9359
+ # Whether or not the execute command functionality is enabled for the
9360
+ # task. If `true`, this enables execute command functionality on all
9361
+ # containers in the task.
9362
+ # @return [Boolean]
9363
+ #
8983
9364
  # @!attribute [rw] group
8984
9365
  # The name of the task group to associate with the task. The default
8985
9366
  # value is the family name of the task definition (for example,
@@ -9074,6 +9455,7 @@ module Aws::ECS
9074
9455
  :cluster,
9075
9456
  :container_instances,
9076
9457
  :enable_ecs_managed_tags,
9458
+ :enable_execute_command,
9077
9459
  :group,
9078
9460
  :network_configuration,
9079
9461
  :overrides,
@@ -9309,6 +9691,14 @@ module Aws::ECS
9309
9691
  # status: "String", # required
9310
9692
  # },
9311
9693
  # ],
9694
+ # managed_agents: [
9695
+ # {
9696
+ # container_name: "String", # required
9697
+ # managed_agent_name: "ExecuteCommandAgent", # required, accepts ExecuteCommandAgent
9698
+ # status: "String", # required
9699
+ # reason: "String",
9700
+ # },
9701
+ # ],
9312
9702
  # pull_started_at: Time.now,
9313
9703
  # pull_stopped_at: Time.now,
9314
9704
  # execution_stopped_at: Time.now,
@@ -9339,6 +9729,10 @@ module Aws::ECS
9339
9729
  # Any attachments associated with the state change request.
9340
9730
  # @return [Array<Types::AttachmentStateChange>]
9341
9731
  #
9732
+ # @!attribute [rw] managed_agents
9733
+ # The details for the managed agent associated with the task.
9734
+ # @return [Array<Types::ManagedAgentStateChange>]
9735
+ #
9342
9736
  # @!attribute [rw] pull_started_at
9343
9737
  # The Unix timestamp for when the container image pull began.
9344
9738
  # @return [Time]
@@ -9360,6 +9754,7 @@ module Aws::ECS
9360
9754
  :reason,
9361
9755
  :containers,
9362
9756
  :attachments,
9757
+ :managed_agents,
9363
9758
  :pull_started_at,
9364
9759
  :pull_stopped_at,
9365
9760
  :execution_stopped_at)
@@ -9552,6 +9947,13 @@ module Aws::ECS
9552
9947
  #
9553
9948
  class TagResourceResponse < Aws::EmptyStructure; end
9554
9949
 
9950
+ # The target container is not properly configured with the execute
9951
+ # command agent or the container is no longer active or running.
9952
+ #
9953
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TargetNotConnectedException AWS API Documentation
9954
+ #
9955
+ class TargetNotConnectedException < Aws::EmptyStructure; end
9956
+
9555
9957
  # The specified target could not be found. You can view your available
9556
9958
  # container instances with ListContainerInstances. Amazon ECS container
9557
9959
  # instances are cluster-specific and Region-specific.
@@ -9647,6 +10049,12 @@ module Aws::ECS
9647
10049
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html
9648
10050
  # @return [String]
9649
10051
  #
10052
+ # @!attribute [rw] enable_execute_command
10053
+ # Whether or not execute command functionality is enabled for this
10054
+ # task. If `true`, this enables execute command functionality on all
10055
+ # containers in the task.
10056
+ # @return [Boolean]
10057
+ #
9650
10058
  # @!attribute [rw] execution_stopped_at
9651
10059
  # The Unix timestamp for when the task execution stopped.
9652
10060
  # @return [Time]
@@ -9844,6 +10252,7 @@ module Aws::ECS
9844
10252
  :cpu,
9845
10253
  :created_at,
9846
10254
  :desired_status,
10255
+ :enable_execute_command,
9847
10256
  :execution_stopped_at,
9848
10257
  :group,
9849
10258
  :health_status,
@@ -9913,7 +10322,7 @@ module Aws::ECS
9913
10322
  # option is set when you launch the Amazon ECS-optimized Windows AMI.
9914
10323
  # Your containers must also run some configuration code in order to
9915
10324
  # take advantage of the feature. For more information, see [Windows
9916
- # IAM Roles for Tasks][2] in the *Amazon Elastic Container Service
10325
+ # IAM roles for tasks][2] in the *Amazon Elastic Container Service
9917
10326
  # Developer Guide*.
9918
10327
  #
9919
10328
  #
@@ -10000,18 +10409,18 @@ module Aws::ECS
10000
10409
  # @return [Integer]
10001
10410
  #
10002
10411
  # @!attribute [rw] volumes
10003
- # The list of volume definitions for the task.
10412
+ # The list of data volume definitions for the task. For more
10413
+ # information, see [Using data volumes in tasks][1] in the *Amazon
10414
+ # Elastic Container Service Developer Guide*.
10004
10415
  #
10005
- # If your tasks are using the Fargate launch type, the `host` and
10006
- # `sourcePath` parameters are not supported.
10416
+ # <note markdown="1"> The `host` and `sourcePath` parameters are not supported for tasks
10417
+ # run on AWS Fargate.
10007
10418
  #
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*.
10419
+ # </note>
10011
10420
  #
10012
10421
  #
10013
10422
  #
10014
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html
10423
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html
10015
10424
  # @return [Array<Types::Volume>]
10016
10425
  #
10017
10426
  # @!attribute [rw] status
@@ -10019,20 +10428,37 @@ module Aws::ECS
10019
10428
  # @return [String]
10020
10429
  #
10021
10430
  # @!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.
10431
+ # The container instance attributes required by your task. When an
10432
+ # Amazon EC2 instance is registered to your cluster, the Amazon ECS
10433
+ # container agent assigns some standard attributes to the instance.
10434
+ # You can apply custom attributes, specified as key-value pairs using
10435
+ # the Amazon ECS console or the PutAttributes API. These attributes
10436
+ # are used when considering task placement for tasks hosted on Amazon
10437
+ # EC2 instances. For more information, see [Attributes][1] in the
10438
+ # *Amazon Elastic Container Service Developer Guide*.
10439
+ #
10440
+ # <note markdown="1"> This parameter is not supported for tasks run on AWS Fargate.
10441
+ #
10442
+ # </note>
10443
+ #
10444
+ #
10445
+ #
10446
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes
10024
10447
  # @return [Array<Types::Attribute>]
10025
10448
  #
10026
10449
  # @!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.
10450
+ # An array of placement constraint objects to use for tasks.
10451
+ #
10452
+ # <note markdown="1"> This parameter is not supported for tasks run on AWS Fargate.
10453
+ #
10454
+ # </note>
10030
10455
  # @return [Array<Types::TaskDefinitionPlacementConstraint>]
10031
10456
  #
10032
10457
  # @!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*.
10458
+ # The task launch types the task definition validated against during
10459
+ # task definition registration. For more information, see [Amazon ECS
10460
+ # launch types][1] in the *Amazon Elastic Container Service Developer
10461
+ # Guide*.
10036
10462
  #
10037
10463
  #
10038
10464
  #
@@ -10040,8 +10466,9 @@ module Aws::ECS
10040
10466
  # @return [Array<String>]
10041
10467
  #
10042
10468
  # @!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`.
10469
+ # The task launch types the task definition was validated against. To
10470
+ # determine which task launch types the task definition is validated
10471
+ # for, see the TaskDefinition$compatibilities parameter.
10045
10472
  # @return [Array<String>]
10046
10473
  #
10047
10474
  # @!attribute [rw] cpu
@@ -10071,16 +10498,16 @@ module Aws::ECS
10071
10498
  # @!attribute [rw] memory
10072
10499
  # The amount (in MiB) of memory used by the task.
10073
10500
  #
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].
10501
+ # If your tasks will be run on Amazon EC2 instances, you must specify
10502
+ # either a task-level memory value or a container-level memory value.
10503
+ # This field is optional and any value can be used. If a task-level
10504
+ # memory value is specified then the container-level memory value is
10505
+ # optional. For more information regarding container-level memory and
10506
+ # memory reservation, see [ContainerDefinition][1].
10080
10507
  #
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:
10508
+ # If your tasks will be run on AWS Fargate, this field is required and
10509
+ # you must use one of the following values, which determines your
10510
+ # range of valid values for the `cpu` parameter:
10084
10511
  #
10085
10512
  # * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available `cpu` values:
10086
10513
  # 256 (.25 vCPU)
@@ -10120,8 +10547,8 @@ module Aws::ECS
10120
10547
  # risk of undesired process namespace expose. For more information,
10121
10548
  # see [Docker security][2].
10122
10549
  #
10123
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
10124
- # using the Fargate launch type.
10550
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
10551
+ # on AWS Fargate.
10125
10552
  #
10126
10553
  # </note>
10127
10554
  #
@@ -10161,8 +10588,8 @@ module Aws::ECS
10161
10588
  # * For tasks that use the `task` IPC mode, IPC namespace related
10162
10589
  # `systemControls` will apply to all containers within a task.
10163
10590
  #
10164
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
10165
- # using the Fargate launch type.
10591
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
10592
+ # on AWS Fargate.
10166
10593
  #
10167
10594
  # </note>
10168
10595
  #
@@ -10232,11 +10659,11 @@ module Aws::ECS
10232
10659
  end
10233
10660
 
10234
10661
  # An object representing a constraint on task placement in the task
10235
- # definition. For more information, see [Task Placement Constraints][1]
10662
+ # definition. For more information, see [Task placement constraints][1]
10236
10663
  # in the *Amazon Elastic Container Service Developer Guide*.
10237
10664
  #
10238
- # <note markdown="1"> If you are using the Fargate launch type, task placement constraints
10239
- # are not supported.
10665
+ # <note markdown="1"> Task placement constraints are not supported for tasks run on AWS
10666
+ # Fargate.
10240
10667
  #
10241
10668
  # </note>
10242
10669
  #
@@ -10259,7 +10686,7 @@ module Aws::ECS
10259
10686
  #
10260
10687
  # @!attribute [rw] expression
10261
10688
  # A cluster query language expression to apply to the constraint. For
10262
- # more information, see [Cluster Query Language][1] in the *Amazon
10689
+ # more information, see [Cluster query language][1] in the *Amazon
10263
10690
  # Elastic Container Service Developer Guide*.
10264
10691
  #
10265
10692
  #
@@ -10456,7 +10883,7 @@ module Aws::ECS
10456
10883
  #
10457
10884
  # @!attribute [rw] launch_type
10458
10885
  # 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
10886
+ # information, see [Amazon ECS launch types][1] in the *Amazon Elastic
10460
10887
  # Container Service Developer Guide*.
10461
10888
  #
10462
10889
  #
@@ -10469,11 +10896,10 @@ module Aws::ECS
10469
10896
  # @return [Array<Types::CapacityProviderStrategyItem>]
10470
10897
  #
10471
10898
  # @!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
10899
+ # The AWS Fargate platform version on which the tasks in the task set
10900
+ # are running. A platform version is only specified for tasks run on
10901
+ # AWS Fargate. For more information, see [AWS Fargate platform
10902
+ # versions][1] in the *Amazon Elastic Container Service Developer
10477
10903
  # Guide*.
10478
10904
  #
10479
10905
  #
@@ -10491,7 +10917,7 @@ module Aws::ECS
10491
10917
  #
10492
10918
  # @!attribute [rw] service_registries
10493
10919
  # The details of the service discovery registries to assign to this
10494
- # task set. For more information, see [Service Discovery][1].
10920
+ # task set. For more information, see [Service discovery][1].
10495
10921
  #
10496
10922
  #
10497
10923
  #
@@ -10755,6 +11181,70 @@ module Aws::ECS
10755
11181
  include Aws::Structure
10756
11182
  end
10757
11183
 
11184
+ # @note When making an API call, you may pass UpdateClusterRequest
11185
+ # data as a hash:
11186
+ #
11187
+ # {
11188
+ # cluster: "String", # required
11189
+ # settings: [
11190
+ # {
11191
+ # name: "containerInsights", # accepts containerInsights
11192
+ # value: "String",
11193
+ # },
11194
+ # ],
11195
+ # configuration: {
11196
+ # execute_command_configuration: {
11197
+ # kms_key_id: "String",
11198
+ # logging: "NONE", # accepts NONE, DEFAULT, OVERRIDE
11199
+ # log_configuration: {
11200
+ # cloud_watch_log_group_name: "String",
11201
+ # cloud_watch_encryption_enabled: false,
11202
+ # s3_bucket_name: "String",
11203
+ # s3_encryption_enabled: false,
11204
+ # s3_key_prefix: "String",
11205
+ # },
11206
+ # },
11207
+ # },
11208
+ # }
11209
+ #
11210
+ # @!attribute [rw] cluster
11211
+ # The name of the cluster to modify the settings for.
11212
+ # @return [String]
11213
+ #
11214
+ # @!attribute [rw] settings
11215
+ # The cluster settings for your cluster.
11216
+ # @return [Array<Types::ClusterSetting>]
11217
+ #
11218
+ # @!attribute [rw] configuration
11219
+ # The execute command configuration for the cluster.
11220
+ # @return [Types::ClusterConfiguration]
11221
+ #
11222
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterRequest AWS API Documentation
11223
+ #
11224
+ class UpdateClusterRequest < Struct.new(
11225
+ :cluster,
11226
+ :settings,
11227
+ :configuration)
11228
+ SENSITIVE = []
11229
+ include Aws::Structure
11230
+ end
11231
+
11232
+ # @!attribute [rw] cluster
11233
+ # A regional grouping of one or more container instances on which you
11234
+ # can run task requests. Each account receives a default cluster the
11235
+ # first time you use the Amazon ECS service, but you may also create
11236
+ # other clusters. Clusters may contain more than one instance type
11237
+ # simultaneously.
11238
+ # @return [Types::Cluster]
11239
+ #
11240
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterResponse AWS API Documentation
11241
+ #
11242
+ class UpdateClusterResponse < Struct.new(
11243
+ :cluster)
11244
+ SENSITIVE = []
11245
+ include Aws::Structure
11246
+ end
11247
+
10758
11248
  # @note When making an API call, you may pass UpdateClusterSettingsRequest
10759
11249
  # data as a hash:
10760
11250
  #
@@ -11006,6 +11496,7 @@ module Aws::ECS
11006
11496
  # platform_version: "String",
11007
11497
  # force_new_deployment: false,
11008
11498
  # health_check_grace_period_seconds: 1,
11499
+ # enable_execute_command: false,
11009
11500
  # }
11010
11501
  #
11011
11502
  # @!attribute [rw] cluster
@@ -11134,6 +11625,15 @@ module Aws::ECS
11134
11625
  # to come up.
11135
11626
  # @return [Integer]
11136
11627
  #
11628
+ # @!attribute [rw] enable_execute_command
11629
+ # If `true`, this enables execute command functionality on all task
11630
+ # containers.
11631
+ #
11632
+ # If you do not want to override the value that was set when the
11633
+ # service was created, you can set this to `null` when performing this
11634
+ # action.
11635
+ # @return [Boolean]
11636
+ #
11137
11637
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServiceRequest AWS API Documentation
11138
11638
  #
11139
11639
  class UpdateServiceRequest < Struct.new(
@@ -11148,7 +11648,8 @@ module Aws::ECS
11148
11648
  :placement_strategy,
11149
11649
  :platform_version,
11150
11650
  :force_new_deployment,
11151
- :health_check_grace_period_seconds)
11651
+ :health_check_grace_period_seconds,
11652
+ :enable_execute_command)
11152
11653
  SENSITIVE = []
11153
11654
  include Aws::Structure
11154
11655
  end
@@ -11339,9 +11840,13 @@ module Aws::ECS
11339
11840
  #
11340
11841
  # @!attribute [rw] docker_volume_configuration
11341
11842
  # 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.
11843
+ #
11844
+ # Windows containers only support the use of the `local` driver. To
11845
+ # use bind mounts, specify the `host` parameter instead.
11846
+ #
11847
+ # <note markdown="1"> Docker volumes are not supported by tasks run on AWS Fargate.
11848
+ #
11849
+ # </note>
11345
11850
  # @return [Types::DockerVolumeConfiguration]
11346
11851
  #
11347
11852
  # @!attribute [rw] efs_volume_configuration