aws-sdk-ecs 1.75.0 → 1.76.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -43,6 +43,7 @@ module Aws::ECS
43
43
  CapacityProviders = Shapes::ListShape.new(name: 'CapacityProviders')
44
44
  ClientException = Shapes::StructureShape.new(name: 'ClientException')
45
45
  Cluster = Shapes::StructureShape.new(name: 'Cluster')
46
+ ClusterConfiguration = Shapes::StructureShape.new(name: 'ClusterConfiguration')
46
47
  ClusterContainsContainerInstancesException = Shapes::StructureShape.new(name: 'ClusterContainsContainerInstancesException')
47
48
  ClusterContainsServicesException = Shapes::StructureShape.new(name: 'ClusterContainsServicesException')
48
49
  ClusterContainsTasksException = Shapes::StructureShape.new(name: 'ClusterContainsTasksException')
@@ -135,6 +136,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