aws-sdk-ecs 1.71.0 → 1.76.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -25,6 +25,7 @@ module Aws::ECS
25
25
  AttributeLimitExceededException = Shapes::StructureShape.new(name: 'AttributeLimitExceededException')
26
26
  Attributes = Shapes::ListShape.new(name: 'Attributes')
27
27
  AutoScalingGroupProvider = Shapes::StructureShape.new(name: 'AutoScalingGroupProvider')
28
+ AutoScalingGroupProviderUpdate = Shapes::StructureShape.new(name: 'AutoScalingGroupProviderUpdate')
28
29
  AwsVpcConfiguration = Shapes::StructureShape.new(name: 'AwsVpcConfiguration')
29
30
  BlockedException = Shapes::StructureShape.new(name: 'BlockedException')
30
31
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
@@ -42,6 +43,7 @@ module Aws::ECS
42
43
  CapacityProviders = Shapes::ListShape.new(name: 'CapacityProviders')
43
44
  ClientException = Shapes::StructureShape.new(name: 'ClientException')
44
45
  Cluster = Shapes::StructureShape.new(name: 'Cluster')
46
+ ClusterConfiguration = Shapes::StructureShape.new(name: 'ClusterConfiguration')
45
47
  ClusterContainsContainerInstancesException = Shapes::StructureShape.new(name: 'ClusterContainsContainerInstancesException')
46
48
  ClusterContainsServicesException = Shapes::StructureShape.new(name: 'ClusterContainsServicesException')
47
49
  ClusterContainsTasksException = Shapes::StructureShape.new(name: 'ClusterContainsTasksException')
@@ -92,9 +94,11 @@ module Aws::ECS
92
94
  DeleteTaskSetRequest = Shapes::StructureShape.new(name: 'DeleteTaskSetRequest')
93
95
  DeleteTaskSetResponse = Shapes::StructureShape.new(name: 'DeleteTaskSetResponse')
94
96
  Deployment = Shapes::StructureShape.new(name: 'Deployment')
97
+ DeploymentCircuitBreaker = Shapes::StructureShape.new(name: 'DeploymentCircuitBreaker')
95
98
  DeploymentConfiguration = Shapes::StructureShape.new(name: 'DeploymentConfiguration')
96
99
  DeploymentController = Shapes::StructureShape.new(name: 'DeploymentController')
97
100
  DeploymentControllerType = Shapes::StringShape.new(name: 'DeploymentControllerType')
101
+ DeploymentRolloutState = Shapes::StringShape.new(name: 'DeploymentRolloutState')
98
102
  Deployments = Shapes::ListShape.new(name: 'Deployments')
99
103
  DeregisterContainerInstanceRequest = Shapes::StructureShape.new(name: 'DeregisterContainerInstanceRequest')
100
104
  DeregisterContainerInstanceResponse = Shapes::StructureShape.new(name: 'DeregisterContainerInstanceResponse')
@@ -132,6 +136,11 @@ module Aws::ECS
132
136
  EnvironmentFileType = Shapes::StringShape.new(name: 'EnvironmentFileType')
133
137
  EnvironmentFiles = Shapes::ListShape.new(name: 'EnvironmentFiles')
134
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')
135
144
  FSxWindowsFileServerAuthorizationConfig = Shapes::StructureShape.new(name: 'FSxWindowsFileServerAuthorizationConfig')
136
145
  FSxWindowsFileServerVolumeConfiguration = Shapes::StructureShape.new(name: 'FSxWindowsFileServerVolumeConfiguration')
137
146
  Failure = Shapes::StructureShape.new(name: 'Failure')
@@ -181,7 +190,13 @@ module Aws::ECS
181
190
  LogConfigurationOptionsMap = Shapes::MapShape.new(name: 'LogConfigurationOptionsMap')
182
191
  LogDriver = Shapes::StringShape.new(name: 'LogDriver')
183
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')
184
198
  ManagedScaling = Shapes::StructureShape.new(name: 'ManagedScaling')
199
+ ManagedScalingInstanceWarmupPeriod = Shapes::IntegerShape.new(name: 'ManagedScalingInstanceWarmupPeriod')
185
200
  ManagedScalingStatus = Shapes::StringShape.new(name: 'ManagedScalingStatus')
186
201
  ManagedScalingStepSize = Shapes::IntegerShape.new(name: 'ManagedScalingStepSize')
187
202
  ManagedScalingTargetCapacity = Shapes::IntegerShape.new(name: 'ManagedScalingTargetCapacity')
@@ -243,6 +258,7 @@ module Aws::ECS
243
258
  Scope = Shapes::StringShape.new(name: 'Scope')
244
259
  Secret = Shapes::StructureShape.new(name: 'Secret')
245
260
  SecretList = Shapes::ListShape.new(name: 'SecretList')
261
+ SensitiveString = Shapes::StringShape.new(name: 'SensitiveString')
246
262
  ServerException = Shapes::StructureShape.new(name: 'ServerException')
247
263
  Service = Shapes::StructureShape.new(name: 'Service')
248
264
  ServiceEvent = Shapes::StructureShape.new(name: 'ServiceEvent')
@@ -254,6 +270,7 @@ module Aws::ECS
254
270
  ServiceRegistries = Shapes::ListShape.new(name: 'ServiceRegistries')
255
271
  ServiceRegistry = Shapes::StructureShape.new(name: 'ServiceRegistry')
256
272
  Services = Shapes::ListShape.new(name: 'Services')
273
+ Session = Shapes::StructureShape.new(name: 'Session')
257
274
  Setting = Shapes::StructureShape.new(name: 'Setting')
258
275
  SettingName = Shapes::StringShape.new(name: 'SettingName')
259
276
  Settings = Shapes::ListShape.new(name: 'Settings')
@@ -282,6 +299,7 @@ module Aws::ECS
282
299
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
283
300
  TagValue = Shapes::StringShape.new(name: 'TagValue')
284
301
  Tags = Shapes::ListShape.new(name: 'Tags')
302
+ TargetNotConnectedException = Shapes::StructureShape.new(name: 'TargetNotConnectedException')
285
303
  TargetNotFoundException = Shapes::StructureShape.new(name: 'TargetNotFoundException')
286
304
  TargetType = Shapes::StringShape.new(name: 'TargetType')
287
305
  Task = Shapes::StructureShape.new(name: 'Task')
@@ -313,6 +331,10 @@ module Aws::ECS
313
331
  UnsupportedFeatureException = Shapes::StructureShape.new(name: 'UnsupportedFeatureException')
314
332
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
315
333
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
334
+ UpdateCapacityProviderRequest = Shapes::StructureShape.new(name: 'UpdateCapacityProviderRequest')
335
+ UpdateCapacityProviderResponse = Shapes::StructureShape.new(name: 'UpdateCapacityProviderResponse')
336
+ UpdateClusterRequest = Shapes::StructureShape.new(name: 'UpdateClusterRequest')
337
+ UpdateClusterResponse = Shapes::StructureShape.new(name: 'UpdateClusterResponse')
316
338
  UpdateClusterSettingsRequest = Shapes::StructureShape.new(name: 'UpdateClusterSettingsRequest')
317
339
  UpdateClusterSettingsResponse = Shapes::StructureShape.new(name: 'UpdateClusterSettingsResponse')
318
340
  UpdateContainerAgentRequest = Shapes::StructureShape.new(name: 'UpdateContainerAgentRequest')
@@ -365,6 +387,10 @@ module Aws::ECS
365
387
  AutoScalingGroupProvider.add_member(:managed_termination_protection, Shapes::ShapeRef.new(shape: ManagedTerminationProtection, location_name: "managedTerminationProtection"))
366
388
  AutoScalingGroupProvider.struct_class = Types::AutoScalingGroupProvider
367
389
 
390
+ AutoScalingGroupProviderUpdate.add_member(:managed_scaling, Shapes::ShapeRef.new(shape: ManagedScaling, location_name: "managedScaling"))
391
+ AutoScalingGroupProviderUpdate.add_member(:managed_termination_protection, Shapes::ShapeRef.new(shape: ManagedTerminationProtection, location_name: "managedTerminationProtection"))
392
+ AutoScalingGroupProviderUpdate.struct_class = Types::AutoScalingGroupProviderUpdate
393
+
368
394
  AwsVpcConfiguration.add_member(:subnets, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "subnets"))
369
395
  AwsVpcConfiguration.add_member(:security_groups, Shapes::ShapeRef.new(shape: StringList, location_name: "securityGroups"))
370
396
  AwsVpcConfiguration.add_member(:assign_public_ip, Shapes::ShapeRef.new(shape: AssignPublicIp, location_name: "assignPublicIp"))
@@ -397,6 +423,7 @@ module Aws::ECS
397
423
 
398
424
  Cluster.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: String, location_name: "clusterArn"))
399
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"))
400
427
  Cluster.add_member(:status, Shapes::ShapeRef.new(shape: String, location_name: "status"))
401
428
  Cluster.add_member(:registered_container_instances_count, Shapes::ShapeRef.new(shape: Integer, location_name: "registeredContainerInstancesCount"))
402
429
  Cluster.add_member(:running_tasks_count, Shapes::ShapeRef.new(shape: Integer, location_name: "runningTasksCount"))
@@ -411,6 +438,9 @@ module Aws::ECS
411
438
  Cluster.add_member(:attachments_status, Shapes::ShapeRef.new(shape: String, location_name: "attachmentsStatus"))
412
439
  Cluster.struct_class = Types::Cluster
413
440
 
441
+ ClusterConfiguration.add_member(:execute_command_configuration, Shapes::ShapeRef.new(shape: ExecuteCommandConfiguration, location_name: "executeCommandConfiguration"))
442
+ ClusterConfiguration.struct_class = Types::ClusterConfiguration
443
+
414
444
  ClusterContainsContainerInstancesException.struct_class = Types::ClusterContainsContainerInstancesException
415
445
 
416
446
  ClusterContainsServicesException.struct_class = Types::ClusterContainsServicesException
@@ -443,6 +473,7 @@ module Aws::ECS
443
473
  Container.add_member(:network_bindings, Shapes::ShapeRef.new(shape: NetworkBindings, location_name: "networkBindings"))
444
474
  Container.add_member(:network_interfaces, Shapes::ShapeRef.new(shape: NetworkInterfaces, location_name: "networkInterfaces"))
445
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"))
446
477
  Container.add_member(:cpu, Shapes::ShapeRef.new(shape: String, location_name: "cpu"))
447
478
  Container.add_member(:memory, Shapes::ShapeRef.new(shape: String, location_name: "memory"))
448
479
  Container.add_member(:memory_reservation, Shapes::ShapeRef.new(shape: String, location_name: "memoryReservation"))
@@ -557,6 +588,7 @@ module Aws::ECS
557
588
  CreateClusterRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, location_name: "clusterName"))
558
589
  CreateClusterRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
559
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"))
560
592
  CreateClusterRequest.add_member(:capacity_providers, Shapes::ShapeRef.new(shape: StringList, location_name: "capacityProviders"))
561
593
  CreateClusterRequest.add_member(:default_capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, location_name: "defaultCapacityProviderStrategy"))
562
594
  CreateClusterRequest.struct_class = Types::CreateClusterRequest
@@ -585,6 +617,7 @@ module Aws::ECS
585
617
  CreateServiceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
586
618
  CreateServiceRequest.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
587
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"))
588
621
  CreateServiceRequest.struct_class = Types::CreateServiceRequest
589
622
 
590
623
  CreateServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
@@ -657,14 +690,22 @@ module Aws::ECS
657
690
  Deployment.add_member(:desired_count, Shapes::ShapeRef.new(shape: Integer, location_name: "desiredCount"))
658
691
  Deployment.add_member(:pending_count, Shapes::ShapeRef.new(shape: Integer, location_name: "pendingCount"))
659
692
  Deployment.add_member(:running_count, Shapes::ShapeRef.new(shape: Integer, location_name: "runningCount"))
693
+ Deployment.add_member(:failed_tasks, Shapes::ShapeRef.new(shape: Integer, location_name: "failedTasks"))
660
694
  Deployment.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdAt"))
661
695
  Deployment.add_member(:updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "updatedAt"))
662
696
  Deployment.add_member(:capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, location_name: "capacityProviderStrategy"))
663
697
  Deployment.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
664
698
  Deployment.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
665
699
  Deployment.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
700
+ Deployment.add_member(:rollout_state, Shapes::ShapeRef.new(shape: DeploymentRolloutState, location_name: "rolloutState"))
701
+ Deployment.add_member(:rollout_state_reason, Shapes::ShapeRef.new(shape: String, location_name: "rolloutStateReason"))
666
702
  Deployment.struct_class = Types::Deployment
667
703
 
704
+ DeploymentCircuitBreaker.add_member(:enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "enable"))
705
+ DeploymentCircuitBreaker.add_member(:rollback, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "rollback"))
706
+ DeploymentCircuitBreaker.struct_class = Types::DeploymentCircuitBreaker
707
+
708
+ DeploymentConfiguration.add_member(:deployment_circuit_breaker, Shapes::ShapeRef.new(shape: DeploymentCircuitBreaker, location_name: "deploymentCircuitBreaker"))
668
709
  DeploymentConfiguration.add_member(:maximum_percent, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "maximumPercent"))
669
710
  DeploymentConfiguration.add_member(:minimum_healthy_percent, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "minimumHealthyPercent"))
670
711
  DeploymentConfiguration.struct_class = Types::DeploymentConfiguration
@@ -798,6 +839,33 @@ module Aws::ECS
798
839
 
799
840
  EnvironmentVariables.member = Shapes::ShapeRef.new(shape: KeyValuePair)
800
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
+
801
869
  FSxWindowsFileServerAuthorizationConfig.add_member(:credentials_parameter, Shapes::ShapeRef.new(shape: String, required: true, location_name: "credentialsParameter"))
802
870
  FSxWindowsFileServerAuthorizationConfig.add_member(:domain, Shapes::ShapeRef.new(shape: String, required: true, location_name: "domain"))
803
871
  FSxWindowsFileServerAuthorizationConfig.struct_class = Types::FSxWindowsFileServerAuthorizationConfig
@@ -984,10 +1052,27 @@ module Aws::ECS
984
1052
  LogConfigurationOptionsMap.key = Shapes::ShapeRef.new(shape: String)
985
1053
  LogConfigurationOptionsMap.value = Shapes::ShapeRef.new(shape: String)
986
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
+
987
1071
  ManagedScaling.add_member(:status, Shapes::ShapeRef.new(shape: ManagedScalingStatus, location_name: "status"))
988
1072
  ManagedScaling.add_member(:target_capacity, Shapes::ShapeRef.new(shape: ManagedScalingTargetCapacity, location_name: "targetCapacity"))
989
1073
  ManagedScaling.add_member(:minimum_scaling_step_size, Shapes::ShapeRef.new(shape: ManagedScalingStepSize, location_name: "minimumScalingStepSize"))
990
1074
  ManagedScaling.add_member(:maximum_scaling_step_size, Shapes::ShapeRef.new(shape: ManagedScalingStepSize, location_name: "maximumScalingStepSize"))
1075
+ ManagedScaling.add_member(:instance_warmup_period, Shapes::ShapeRef.new(shape: ManagedScalingInstanceWarmupPeriod, location_name: "instanceWarmupPeriod"))
991
1076
  ManagedScaling.struct_class = Types::ManagedScaling
992
1077
 
993
1078
  MissingVersionException.struct_class = Types::MissingVersionException
@@ -1149,6 +1234,7 @@ module Aws::ECS
1149
1234
  RunTaskRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
1150
1235
  RunTaskRequest.add_member(:count, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "count"))
1151
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"))
1152
1238
  RunTaskRequest.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
1153
1239
  RunTaskRequest.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
1154
1240
  RunTaskRequest.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
@@ -1209,6 +1295,7 @@ module Aws::ECS
1209
1295
  Service.add_member(:created_by, Shapes::ShapeRef.new(shape: String, location_name: "createdBy"))
1210
1296
  Service.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
1211
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"))
1212
1299
  Service.struct_class = Types::Service
1213
1300
 
1214
1301
  ServiceEvent.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
@@ -1234,6 +1321,11 @@ module Aws::ECS
1234
1321
 
1235
1322
  Services.member = Shapes::ShapeRef.new(shape: Service)
1236
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
+
1237
1329
  Setting.add_member(:name, Shapes::ShapeRef.new(shape: SettingName, location_name: "name"))
1238
1330
  Setting.add_member(:value, Shapes::ShapeRef.new(shape: String, location_name: "value"))
1239
1331
  Setting.add_member(:principal_arn, Shapes::ShapeRef.new(shape: String, location_name: "principalArn"))
@@ -1244,6 +1336,7 @@ module Aws::ECS
1244
1336
  StartTaskRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
1245
1337
  StartTaskRequest.add_member(:container_instances, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "containerInstances"))
1246
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"))
1247
1340
  StartTaskRequest.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
1248
1341
  StartTaskRequest.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
1249
1342
  StartTaskRequest.add_member(:overrides, Shapes::ShapeRef.new(shape: TaskOverride, location_name: "overrides"))
@@ -1299,6 +1392,7 @@ module Aws::ECS
1299
1392
  SubmitTaskStateChangeRequest.add_member(:reason, Shapes::ShapeRef.new(shape: String, location_name: "reason"))
1300
1393
  SubmitTaskStateChangeRequest.add_member(:containers, Shapes::ShapeRef.new(shape: ContainerStateChanges, location_name: "containers"))
1301
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"))
1302
1396
  SubmitTaskStateChangeRequest.add_member(:pull_started_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "pullStartedAt"))
1303
1397
  SubmitTaskStateChangeRequest.add_member(:pull_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "pullStoppedAt"))
1304
1398
  SubmitTaskStateChangeRequest.add_member(:execution_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "executionStoppedAt"))
@@ -1327,6 +1421,8 @@ module Aws::ECS
1327
1421
 
1328
1422
  Tags.member = Shapes::ShapeRef.new(shape: Tag)
1329
1423
 
1424
+ TargetNotConnectedException.struct_class = Types::TargetNotConnectedException
1425
+
1330
1426
  TargetNotFoundException.struct_class = Types::TargetNotFoundException
1331
1427
 
1332
1428
  Task.add_member(:attachments, Shapes::ShapeRef.new(shape: Attachments, location_name: "attachments"))
@@ -1341,6 +1437,7 @@ module Aws::ECS
1341
1437
  Task.add_member(:cpu, Shapes::ShapeRef.new(shape: String, location_name: "cpu"))
1342
1438
  Task.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdAt"))
1343
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"))
1344
1441
  Task.add_member(:execution_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "executionStoppedAt"))
1345
1442
  Task.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
1346
1443
  Task.add_member(:health_status, Shapes::ShapeRef.new(shape: HealthStatus, location_name: "healthStatus"))
@@ -1383,6 +1480,9 @@ module Aws::ECS
1383
1480
  TaskDefinition.add_member(:pid_mode, Shapes::ShapeRef.new(shape: PidMode, location_name: "pidMode"))
1384
1481
  TaskDefinition.add_member(:ipc_mode, Shapes::ShapeRef.new(shape: IpcMode, location_name: "ipcMode"))
1385
1482
  TaskDefinition.add_member(:proxy_configuration, Shapes::ShapeRef.new(shape: ProxyConfiguration, location_name: "proxyConfiguration"))
1483
+ TaskDefinition.add_member(:registered_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "registeredAt"))
1484
+ TaskDefinition.add_member(:deregistered_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "deregisteredAt"))
1485
+ TaskDefinition.add_member(:registered_by, Shapes::ShapeRef.new(shape: String, location_name: "registeredBy"))
1386
1486
  TaskDefinition.struct_class = Types::TaskDefinition
1387
1487
 
1388
1488
  TaskDefinitionFieldList.member = Shapes::ShapeRef.new(shape: TaskDefinitionField)
@@ -1458,6 +1558,21 @@ module Aws::ECS
1458
1558
 
1459
1559
  UntagResourceResponse.struct_class = Types::UntagResourceResponse
1460
1560
 
1561
+ UpdateCapacityProviderRequest.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name"))
1562
+ UpdateCapacityProviderRequest.add_member(:auto_scaling_group_provider, Shapes::ShapeRef.new(shape: AutoScalingGroupProviderUpdate, required: true, location_name: "autoScalingGroupProvider"))
1563
+ UpdateCapacityProviderRequest.struct_class = Types::UpdateCapacityProviderRequest
1564
+
1565
+ UpdateCapacityProviderResponse.add_member(:capacity_provider, Shapes::ShapeRef.new(shape: CapacityProvider, location_name: "capacityProvider"))
1566
+ UpdateCapacityProviderResponse.struct_class = Types::UpdateCapacityProviderResponse
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
+
1461
1576
  UpdateClusterSettingsRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
1462
1577
  UpdateClusterSettingsRequest.add_member(:settings, Shapes::ShapeRef.new(shape: ClusterSettings, required: true, location_name: "settings"))
1463
1578
  UpdateClusterSettingsRequest.struct_class = Types::UpdateClusterSettingsRequest
@@ -1503,6 +1618,7 @@ module Aws::ECS
1503
1618
  UpdateServiceRequest.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
1504
1619
  UpdateServiceRequest.add_member(:force_new_deployment, Shapes::ShapeRef.new(shape: Boolean, location_name: "forceNewDeployment"))
1505
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"))
1506
1622
  UpdateServiceRequest.struct_class = Types::UpdateServiceRequest
1507
1623
 
1508
1624
  UpdateServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
@@ -1811,6 +1927,20 @@ module Aws::ECS
1811
1927
  o.errors << Shapes::ShapeRef.new(shape: ClientException)
1812
1928
  end)
1813
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
+
1814
1944
  api.add_operation(:list_account_settings, Seahorse::Model::Operation.new.tap do |o|
1815
1945
  o.name = "ListAccountSettings"
1816
1946
  o.http_method = "POST"
@@ -2134,6 +2264,29 @@ module Aws::ECS
2134
2264
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2135
2265
  end)
2136
2266
 
2267
+ api.add_operation(:update_capacity_provider, Seahorse::Model::Operation.new.tap do |o|
2268
+ o.name = "UpdateCapacityProvider"
2269
+ o.http_method = "POST"
2270
+ o.http_request_uri = "/"
2271
+ o.input = Shapes::ShapeRef.new(shape: UpdateCapacityProviderRequest)
2272
+ o.output = Shapes::ShapeRef.new(shape: UpdateCapacityProviderResponse)
2273
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
2274
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
2275
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2276
+ end)
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
+
2137
2290
  api.add_operation(:update_cluster_settings, Seahorse::Model::Operation.new.tap do |o|
2138
2291
  o.name = "UpdateClusterSettings"
2139
2292
  o.http_method = "POST"
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -46,6 +46,7 @@ module Aws::ECS
46
46
  # * {ServerException}
47
47
  # * {ServiceNotActiveException}
48
48
  # * {ServiceNotFoundException}
49
+ # * {TargetNotConnectedException}
49
50
  # * {TargetNotFoundException}
50
51
  # * {TaskSetNotFoundException}
51
52
  # * {UnsupportedFeatureException}
@@ -257,6 +258,16 @@ module Aws::ECS
257
258
  end
258
259
  end
259
260
 
261
+ class TargetNotConnectedException < ServiceError
262
+
263
+ # @param [Seahorse::Client::RequestContext] context
264
+ # @param [String] message
265
+ # @param [Aws::ECS::Types::TargetNotConnectedException] data
266
+ def initialize(context, message, data = Aws::EmptyStructure.new)
267
+ super(context, message, data)
268
+ end
269
+ end
270
+
260
271
  class TargetNotFoundException < ServiceError
261
272
 
262
273
  # @param [Seahorse::Client::RequestContext] context
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -153,6 +153,7 @@ module Aws::ECS
153
153
  # target_capacity: 1,
154
154
  # minimum_scaling_step_size: 1,
155
155
  # maximum_scaling_step_size: 1,
156
+ # instance_warmup_period: 1,
156
157
  # },
157
158
  # managed_termination_protection: "ENABLED", # accepts ENABLED, DISABLED
158
159
  # }
@@ -202,6 +203,76 @@ module Aws::ECS
202
203
  include Aws::Structure
203
204
  end
204
205
 
206
+ # The details of the Auto Scaling group capacity provider to update.
207
+ #
208
+ # @note When making an API call, you may pass AutoScalingGroupProviderUpdate
209
+ # data as a hash:
210
+ #
211
+ # {
212
+ # managed_scaling: {
213
+ # status: "ENABLED", # accepts ENABLED, DISABLED
214
+ # target_capacity: 1,
215
+ # minimum_scaling_step_size: 1,
216
+ # maximum_scaling_step_size: 1,
217
+ # instance_warmup_period: 1,
218
+ # },
219
+ # managed_termination_protection: "ENABLED", # accepts ENABLED, DISABLED
220
+ # }
221
+ #
222
+ # @!attribute [rw] managed_scaling
223
+ # The managed scaling settings for the Auto Scaling group capacity
224
+ # provider.
225
+ #
226
+ # When managed scaling is enabled, Amazon ECS manages the scale-in and
227
+ # scale-out actions of the Auto Scaling group. Amazon ECS manages a
228
+ # target tracking scaling policy using an Amazon ECS-managed
229
+ # CloudWatch metric with the specified `targetCapacity` value as the
230
+ # target value for the metric. For more information, see [Using
231
+ # Managed Scaling][1] in the *Amazon Elastic Container Service
232
+ # Developer Guide*.
233
+ #
234
+ # If managed scaling is disabled, the user must manage the scaling of
235
+ # the Auto Scaling group.
236
+ #
237
+ #
238
+ #
239
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling
240
+ # @return [Types::ManagedScaling]
241
+ #
242
+ # @!attribute [rw] managed_termination_protection
243
+ # The managed termination protection setting to use for the Auto
244
+ # Scaling group capacity provider. This determines whether the Auto
245
+ # Scaling group has managed termination protection.
246
+ #
247
+ # When using managed termination protection, managed scaling must also
248
+ # be used otherwise managed termination protection will not work.
249
+ #
250
+ # When managed termination protection is enabled, Amazon ECS prevents
251
+ # the Amazon EC2 instances in an Auto Scaling group that contain tasks
252
+ # from being terminated during a scale-in action. The Auto Scaling
253
+ # group and each instance in the Auto Scaling group must have instance
254
+ # protection from scale-in actions enabled as well. For more
255
+ # information, see [Instance Protection][1] in the *AWS Auto Scaling
256
+ # User Guide*.
257
+ #
258
+ # When managed termination protection is disabled, your Amazon EC2
259
+ # instances are not protected from termination when the Auto Scaling
260
+ # group scales in.
261
+ #
262
+ #
263
+ #
264
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection
265
+ # @return [String]
266
+ #
267
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/AutoScalingGroupProviderUpdate AWS API Documentation
268
+ #
269
+ class AutoScalingGroupProviderUpdate < Struct.new(
270
+ :managed_scaling,
271
+ :managed_termination_protection)
272
+ SENSITIVE = []
273
+ include Aws::Structure
274
+ end
275
+
205
276
  # An object representing the networking details for a task or service.
206
277
  #
207
278
  # @note When making an API call, you may pass AwsVpcConfiguration
@@ -350,7 +421,25 @@ module Aws::ECS
350
421
  include Aws::Structure
351
422
  end
352
423
 
353
- # 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.
354
443
  #
355
444
  # @note When making an API call, you may pass CapacityProviderStrategyItem
356
445
  # data as a hash:
@@ -368,21 +457,32 @@ module Aws::ECS
368
457
  # @!attribute [rw] weight
369
458
  # The *weight* value designates the relative percentage of the total
370
459
  # number of tasks launched that should use the specified capacity
371
- # provider.
372
- #
373
- # For example, if you have a strategy that contains two capacity
374
- # providers and both have a weight of `1`, then when the `base` is
375
- # satisfied, the tasks will be split evenly across the two capacity
376
- # providers. Using that same logic, if you specify a weight of `1` for
377
- # *capacityProviderA* and a weight of `4` for *capacityProviderB*,
378
- # then for every one task that is run using *capacityProviderA*, four
379
- # 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*.
380
479
  # @return [Integer]
381
480
  #
382
481
  # @!attribute [rw] base
383
482
  # The *base* value designates how many tasks, at a minimum, to run on
384
483
  # the specified capacity provider. Only one capacity provider in a
385
- # 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.
386
486
  # @return [Integer]
387
487
  #
388
488
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CapacityProviderStrategyItem AWS API Documentation
@@ -429,6 +529,10 @@ module Aws::ECS
429
529
  # A user-generated string that you use to identify your cluster.
430
530
  # @return [String]
431
531
  #
532
+ # @!attribute [rw] configuration
533
+ # The execute command configuration for the cluster.
534
+ # @return [Types::ClusterConfiguration]
535
+ #
432
536
  # @!attribute [rw] status
433
537
  # The status of the cluster. The following are the possible states
434
538
  # that will be returned.
@@ -577,6 +681,7 @@ module Aws::ECS
577
681
  class Cluster < Struct.new(
578
682
  :cluster_arn,
579
683
  :cluster_name,
684
+ :configuration,
580
685
  :status,
581
686
  :registered_container_instances_count,
582
687
  :running_tasks_count,
@@ -593,6 +698,37 @@ module Aws::ECS
593
698
  include Aws::Structure
594
699
  end
595
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
+
596
732
  # You cannot delete a cluster that has registered container instances.
597
733
  # First, deregister the container instances before you can delete the
598
734
  # cluster. For more information, see DeregisterContainerInstance.
@@ -715,6 +851,11 @@ module Aws::ECS
715
851
  # reports the health status as `UNKNOWN`.
716
852
  # @return [String]
717
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
+ #
718
859
  # @!attribute [rw] cpu
719
860
  # The number of CPU units set for the container. The value will be `0`
720
861
  # if no value was specified in the container definition when the task
@@ -748,6 +889,7 @@ module Aws::ECS
748
889
  :network_bindings,
749
890
  :network_interfaces,
750
891
  :health_status,
892
+ :managed_agents,
751
893
  :cpu,
752
894
  :memory,
753
895
  :memory_reservation,
@@ -1261,9 +1403,6 @@ module Aws::ECS
1261
1403
  # Variables][3] in the *Amazon Elastic Container Service Developer
1262
1404
  # Guide*.
1263
1405
  #
1264
- # This field is not valid for containers in tasks using the Fargate
1265
- # launch type.
1266
- #
1267
1406
  #
1268
1407
  #
1269
1408
  # [1]: https://docs.docker.com/engine/reference/run/#security-configuration
@@ -1442,12 +1581,16 @@ module Aws::ECS
1442
1581
  # @return [String]
1443
1582
  #
1444
1583
  # @!attribute [rw] user
1445
- # The user name to use inside the container. This parameter maps to
1446
- # `User` in the [Create a container][1] section of the [Docker Remote
1447
- # API][2] and the `--user` option to [docker run][3].
1584
+ # The user to use inside the container. This parameter maps to `User`
1585
+ # in the [Create a container][1] section of the [Docker Remote API][2]
1586
+ # and the `--user` option to [docker run][3].
1448
1587
  #
1449
- # You can use the following formats. If specifying a UID or GID, you
1450
- # must specify it as a positive integer.
1588
+ # When running tasks using the `host` network mode, you should not run
1589
+ # containers using the root user (UID 0). It is considered best
1590
+ # practice to use a non-root user.
1591
+ #
1592
+ # You can specify the `user` using the following formats. If
1593
+ # specifying a UID or GID, you must specify it as a positive integer.
1451
1594
  #
1452
1595
  # * `user`
1453
1596
  #
@@ -1509,8 +1652,8 @@ module Aws::ECS
1509
1652
  # container][1] section of the [Docker Remote API][2] and the
1510
1653
  # `--privileged` option to [docker run][3].
1511
1654
  #
1512
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
1513
- # using the Fargate launch type.
1655
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
1656
+ # on AWS Fargate.
1514
1657
  #
1515
1658
  # </note>
1516
1659
  #
@@ -2276,6 +2419,7 @@ module Aws::ECS
2276
2419
  # target_capacity: 1,
2277
2420
  # minimum_scaling_step_size: 1,
2278
2421
  # maximum_scaling_step_size: 1,
2422
+ # instance_warmup_period: 1,
2279
2423
  # },
2280
2424
  # managed_termination_protection: "ENABLED", # accepts ENABLED, DISABLED
2281
2425
  # },
@@ -2368,6 +2512,19 @@ module Aws::ECS
2368
2512
  # value: "String",
2369
2513
  # },
2370
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
+ # },
2371
2528
  # capacity_providers: ["String"],
2372
2529
  # default_capacity_provider_strategy: [
2373
2530
  # {
@@ -2422,14 +2579,22 @@ module Aws::ECS
2422
2579
  # with PutAccountSetting or PutAccountSettingDefault.
2423
2580
  # @return [Array<Types::ClusterSetting>]
2424
2581
  #
2582
+ # @!attribute [rw] configuration
2583
+ # The execute command configuration for the cluster.
2584
+ # @return [Types::ClusterConfiguration]
2585
+ #
2425
2586
  # @!attribute [rw] capacity_providers
2426
2587
  # The short name of one or more capacity providers to associate with
2427
- # 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.
2428
2592
  #
2429
2593
  # If specifying a capacity provider that uses an Auto Scaling group,
2430
2594
  # the capacity provider must already be created and not already
2431
- # associated with another cluster. New capacity providers can be
2432
- # 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.
2433
2598
  #
2434
2599
  # To use a AWS Fargate capacity provider, specify either the `FARGATE`
2435
2600
  # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
@@ -2442,29 +2607,12 @@ module Aws::ECS
2442
2607
  # @return [Array<String>]
2443
2608
  #
2444
2609
  # @!attribute [rw] default_capacity_provider_strategy
2445
- # The capacity provider strategy to use by default for the cluster.
2446
- #
2447
- # When creating a service or running a task on a cluster, if no
2448
- # 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
2449
2614
  # capacity provider strategy for the cluster is used.
2450
2615
  #
2451
- # A capacity provider strategy consists of one or more capacity
2452
- # providers along with the `base` and `weight` to assign to them. A
2453
- # capacity provider must be associated with the cluster to be used in
2454
- # a capacity provider strategy. The PutClusterCapacityProviders API is
2455
- # used to associate a capacity provider with a cluster. Only capacity
2456
- # providers with an `ACTIVE` or `UPDATING` status can be used.
2457
- #
2458
- # If specifying a capacity provider that uses an Auto Scaling group,
2459
- # the capacity provider must already be created. New capacity
2460
- # providers can be created with the CreateCapacityProvider API
2461
- # operation.
2462
- #
2463
- # To use a AWS Fargate capacity provider, specify either the `FARGATE`
2464
- # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
2465
- # providers are available to all accounts and only need to be
2466
- # associated with a cluster to be used.
2467
- #
2468
2616
  # If a default capacity provider strategy is not defined for a cluster
2469
2617
  # during creation, it can be defined later with the
2470
2618
  # PutClusterCapacityProviders API operation.
@@ -2476,6 +2624,7 @@ module Aws::ECS
2476
2624
  :cluster_name,
2477
2625
  :tags,
2478
2626
  :settings,
2627
+ :configuration,
2479
2628
  :capacity_providers,
2480
2629
  :default_capacity_provider_strategy)
2481
2630
  SENSITIVE = []
@@ -2530,6 +2679,10 @@ module Aws::ECS
2530
2679
  # platform_version: "String",
2531
2680
  # role: "String",
2532
2681
  # deployment_configuration: {
2682
+ # deployment_circuit_breaker: {
2683
+ # enable: false, # required
2684
+ # rollback: false, # required
2685
+ # },
2533
2686
  # maximum_percent: 1,
2534
2687
  # minimum_healthy_percent: 1,
2535
2688
  # },
@@ -2565,6 +2718,7 @@ module Aws::ECS
2565
2718
  # ],
2566
2719
  # enable_ecs_managed_tags: false,
2567
2720
  # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
2721
+ # enable_execute_command: false,
2568
2722
  # }
2569
2723
  #
2570
2724
  # @!attribute [rw] cluster
@@ -2599,7 +2753,7 @@ module Aws::ECS
2599
2753
  # Load Balancer, you must specify one or more target group ARNs to
2600
2754
  # attach to the service. The service-linked role is required for
2601
2755
  # services that make use of multiple target groups. For more
2602
- # information, see [Using Service-Linked Roles for Amazon ECS][2] in
2756
+ # information, see [Using service-linked roles for Amazon ECS][2] in
2603
2757
  # the *Amazon Elastic Container Service Developer Guide*.
2604
2758
  #
2605
2759
  # If the service is using the `CODE_DEPLOY` deployment controller, the
@@ -2653,11 +2807,11 @@ module Aws::ECS
2653
2807
  #
2654
2808
  # @!attribute [rw] service_registries
2655
2809
  # The details of the service discovery registries to assign to this
2656
- # service. For more information, see [Service Discovery][1].
2810
+ # service. For more information, see [Service discovery][1].
2657
2811
  #
2658
2812
  # <note markdown="1"> Service discovery is supported for Fargate tasks if you are using
2659
2813
  # platform version v1.1.0 or later. For more information, see [AWS
2660
- # Fargate Platform Versions][2].
2814
+ # Fargate platform versions][2].
2661
2815
  #
2662
2816
  # </note>
2663
2817
  #
@@ -2682,9 +2836,18 @@ module Aws::ECS
2682
2836
  # @return [String]
2683
2837
  #
2684
2838
  # @!attribute [rw] launch_type
2685
- # The launch type on which to run your service. For more information,
2686
- # see [Amazon ECS Launch Types][1] in the *Amazon Elastic Container
2687
- # 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.
2688
2851
  #
2689
2852
  # If a `launchType` is specified, the `capacityProviderStrategy`
2690
2853
  # parameter must be omitted.
@@ -2697,39 +2860,18 @@ module Aws::ECS
2697
2860
  # @!attribute [rw] capacity_provider_strategy
2698
2861
  # The capacity provider strategy to use for the service.
2699
2862
  #
2700
- # A capacity provider strategy consists of one or more capacity
2701
- # providers along with the `base` and `weight` to assign to them. A
2702
- # capacity provider must be associated with the cluster to be used in
2703
- # a capacity provider strategy. The PutClusterCapacityProviders API is
2704
- # used to associate a capacity provider with a cluster. Only capacity
2705
- # providers with an `ACTIVE` or `UPDATING` status can be used.
2706
- #
2707
2863
  # If a `capacityProviderStrategy` is specified, the `launchType`
2708
2864
  # parameter must be omitted. If no `capacityProviderStrategy` or
2709
2865
  # `launchType` is specified, the `defaultCapacityProviderStrategy` for
2710
2866
  # the cluster is used.
2711
- #
2712
- # If specifying a capacity provider that uses an Auto Scaling group,
2713
- # the capacity provider must already be created. New capacity
2714
- # providers can be created with the CreateCapacityProvider API
2715
- # operation.
2716
- #
2717
- # To use a AWS Fargate capacity provider, specify either the `FARGATE`
2718
- # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
2719
- # providers are available to all accounts and only need to be
2720
- # associated with a cluster to be used.
2721
- #
2722
- # The PutClusterCapacityProviders API operation is used to update the
2723
- # list of available capacity providers for a cluster after the cluster
2724
- # is created.
2725
2867
  # @return [Array<Types::CapacityProviderStrategyItem>]
2726
2868
  #
2727
2869
  # @!attribute [rw] platform_version
2728
2870
  # The platform version that your tasks in the service are running on.
2729
2871
  # A platform version is specified only for tasks using the Fargate
2730
2872
  # launch type. If one isn't specified, the `LATEST` platform version
2731
- # is used by default. For more information, see [AWS Fargate Platform
2732
- # 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
2733
2875
  # Guide*.
2734
2876
  #
2735
2877
  #
@@ -2753,14 +2895,14 @@ module Aws::ECS
2753
2895
  # configured to use service discovery, an external deployment
2754
2896
  # controller, multiple target groups, or Elastic Inference
2755
2897
  # accelerators in which case you should not specify a role here. For
2756
- # more information, see [Using Service-Linked Roles for Amazon ECS][1]
2898
+ # more information, see [Using service-linked roles for Amazon ECS][1]
2757
2899
  # in the *Amazon Elastic Container Service Developer Guide*.
2758
2900
  #
2759
2901
  # If your specified role has a path other than `/`, then you must
2760
2902
  # either specify the full role ARN (this is recommended) or prefix the
2761
2903
  # role name with the path. For example, if a role with the name `bar`
2762
2904
  # has a path of `/foo/` then you would specify `/foo/bar` as the role
2763
- # 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
2764
2906
  # *IAM User Guide*.
2765
2907
  #
2766
2908
  #
@@ -2792,7 +2934,7 @@ module Aws::ECS
2792
2934
  # required for task definitions that use the `awsvpc` network mode to
2793
2935
  # receive their own elastic network interface, and it is not supported
2794
2936
  # for other network modes. For more information, see [Task
2795
- # Networking][1] in the *Amazon Elastic Container Service Developer
2937
+ # networking][1] in the *Amazon Elastic Container Service Developer
2796
2938
  # Guide*.
2797
2939
  #
2798
2940
  #
@@ -2905,6 +3047,12 @@ module Aws::ECS
2905
3047
  # task after service creation, use the TagResource API action.
2906
3048
  # @return [String]
2907
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
+ #
2908
3056
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateServiceRequest AWS API Documentation
2909
3057
  #
2910
3058
  class CreateServiceRequest < Struct.new(
@@ -2928,7 +3076,8 @@ module Aws::ECS
2928
3076
  :deployment_controller,
2929
3077
  :tags,
2930
3078
  :enable_ecs_managed_tags,
2931
- :propagate_tags)
3079
+ :propagate_tags,
3080
+ :enable_execute_command)
2932
3081
  SENSITIVE = []
2933
3082
  include Aws::Structure
2934
3083
  end
@@ -3487,6 +3636,19 @@ module Aws::ECS
3487
3636
  # status.
3488
3637
  # @return [Integer]
3489
3638
  #
3639
+ # @!attribute [rw] failed_tasks
3640
+ # The number of consecutively failed tasks in the deployment. A task
3641
+ # is considered a failure if the service scheduler can't launch the
3642
+ # task, the task doesn't transition to a `RUNNING` state, or if it
3643
+ # fails any of its defined health checks and is stopped.
3644
+ #
3645
+ # <note markdown="1"> Once a service deployment has one or more successfully running
3646
+ # tasks, the failed task count resets to zero and stops being
3647
+ # evaluated.
3648
+ #
3649
+ # </note>
3650
+ # @return [Integer]
3651
+ #
3490
3652
  # @!attribute [rw] created_at
3491
3653
  # The Unix timestamp for when the service deployment was created.
3492
3654
  # @return [Time]
@@ -3528,6 +3690,26 @@ module Aws::ECS
3528
3690
  # networking mode.
3529
3691
  # @return [Types::NetworkConfiguration]
3530
3692
  #
3693
+ # @!attribute [rw] rollout_state
3694
+ # <note markdown="1"> The `rolloutState` of a service is only returned for services that
3695
+ # use the rolling update (`ECS`) deployment type that are not behind a
3696
+ # Classic Load Balancer.
3697
+ #
3698
+ # </note>
3699
+ #
3700
+ # The rollout state of the deployment. When a service deployment is
3701
+ # started, it begins in an `IN_PROGRESS` state. When the service
3702
+ # reaches a steady state, the deployment will transition to a
3703
+ # `COMPLETED` state. If the service fails to reach a steady state and
3704
+ # circuit breaker is enabled, the deployment will transition to a
3705
+ # `FAILED` state. A deployment in `FAILED` state will launch no new
3706
+ # tasks. For more information, see DeploymentCircuitBreaker.
3707
+ # @return [String]
3708
+ #
3709
+ # @!attribute [rw] rollout_state_reason
3710
+ # A description of the rollout state of a deployment.
3711
+ # @return [String]
3712
+ #
3531
3713
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Deployment AWS API Documentation
3532
3714
  #
3533
3715
  class Deployment < Struct.new(
@@ -3537,12 +3719,62 @@ module Aws::ECS
3537
3719
  :desired_count,
3538
3720
  :pending_count,
3539
3721
  :running_count,
3722
+ :failed_tasks,
3540
3723
  :created_at,
3541
3724
  :updated_at,
3542
3725
  :capacity_provider_strategy,
3543
3726
  :launch_type,
3544
3727
  :platform_version,
3545
- :network_configuration)
3728
+ :network_configuration,
3729
+ :rollout_state,
3730
+ :rollout_state_reason)
3731
+ SENSITIVE = []
3732
+ include Aws::Structure
3733
+ end
3734
+
3735
+ # <note markdown="1"> The deployment circuit breaker can only be used for services using the
3736
+ # rolling update (`ECS`) deployment type that are not behind a Classic
3737
+ # Load Balancer.
3738
+ #
3739
+ # </note>
3740
+ #
3741
+ # The **deployment circuit breaker** determines whether a service
3742
+ # deployment will fail if the service can't reach a steady state. If
3743
+ # enabled, a service deployment will transition to a failed state and
3744
+ # stop launching new tasks. You can also enable Amazon ECS to roll back
3745
+ # your service to the last completed deployment after a failure. For
3746
+ # more information, see [Rolling update][1] in the *Amazon Elastic
3747
+ # Container Service Developer Guide*.
3748
+ #
3749
+ #
3750
+ #
3751
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html
3752
+ #
3753
+ # @note When making an API call, you may pass DeploymentCircuitBreaker
3754
+ # data as a hash:
3755
+ #
3756
+ # {
3757
+ # enable: false, # required
3758
+ # rollback: false, # required
3759
+ # }
3760
+ #
3761
+ # @!attribute [rw] enable
3762
+ # Whether to enable the deployment circuit breaker logic for the
3763
+ # service.
3764
+ # @return [Boolean]
3765
+ #
3766
+ # @!attribute [rw] rollback
3767
+ # Whether to enable Amazon ECS to roll back the service if a service
3768
+ # deployment fails. If rollback is enabled, when a service deployment
3769
+ # fails, the service is rolled back to the last deployment that
3770
+ # completed successfully.
3771
+ # @return [Boolean]
3772
+ #
3773
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeploymentCircuitBreaker AWS API Documentation
3774
+ #
3775
+ class DeploymentCircuitBreaker < Struct.new(
3776
+ :enable,
3777
+ :rollback)
3546
3778
  SENSITIVE = []
3547
3779
  include Aws::Structure
3548
3780
  end
@@ -3554,10 +3786,28 @@ module Aws::ECS
3554
3786
  # data as a hash:
3555
3787
  #
3556
3788
  # {
3789
+ # deployment_circuit_breaker: {
3790
+ # enable: false, # required
3791
+ # rollback: false, # required
3792
+ # },
3557
3793
  # maximum_percent: 1,
3558
3794
  # minimum_healthy_percent: 1,
3559
3795
  # }
3560
3796
  #
3797
+ # @!attribute [rw] deployment_circuit_breaker
3798
+ # <note markdown="1"> The deployment circuit breaker can only be used for services using
3799
+ # the rolling update (`ECS`) deployment type.
3800
+ #
3801
+ # </note>
3802
+ #
3803
+ # The **deployment circuit breaker** determines whether a service
3804
+ # deployment will fail if the service can't reach a steady state. If
3805
+ # deployment circuit breaker is enabled, a service deployment will
3806
+ # transition to a failed state and stop launching new tasks. If
3807
+ # rollback is enabled, when a service deployment fails, the service is
3808
+ # rolled back to the last deployment that completed successfully.
3809
+ # @return [Types::DeploymentCircuitBreaker]
3810
+ #
3561
3811
  # @!attribute [rw] maximum_percent
3562
3812
  # If a service is using the rolling update (`ECS`) deployment type,
3563
3813
  # the **maximum percent** parameter represents an upper limit on the
@@ -3613,6 +3863,7 @@ module Aws::ECS
3613
3863
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeploymentConfiguration AWS API Documentation
3614
3864
  #
3615
3865
  class DeploymentConfiguration < Struct.new(
3866
+ :deployment_circuit_breaker,
3616
3867
  :maximum_percent,
3617
3868
  :minimum_healthy_percent)
3618
3869
  SENSITIVE = []
@@ -3856,7 +4107,7 @@ module Aws::ECS
3856
4107
  #
3857
4108
  # {
3858
4109
  # clusters: ["String"],
3859
- # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, SETTINGS, STATISTICS, TAGS
4110
+ # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, CONFIGURATIONS, SETTINGS, STATISTICS, TAGS
3860
4111
  # }
3861
4112
  #
3862
4113
  # @!attribute [rw] clusters
@@ -4541,12 +4792,12 @@ module Aws::ECS
4541
4792
  # variables contained within an environment file. If multiple
4542
4793
  # environment files are specified that contain the same variable, they
4543
4794
  # are processed from the top down. It is recommended to use unique
4544
- # variable names. For more information, see [Specifying Environment
4545
- # 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
4546
4797
  # Guide*.
4547
4798
  #
4548
- # This field is not valid for containers in tasks using the Fargate
4549
- # launch type.
4799
+ # This field is only valid for containers in Fargate tasks that use
4800
+ # platform version `1.4.0` or later.
4550
4801
  #
4551
4802
  #
4552
4803
  #
@@ -4579,6 +4830,204 @@ module Aws::ECS
4579
4830
  include Aws::Structure
4580
4831
  end
4581
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
+
4582
5031
  # The authorization configuration details for Amazon FSx for Windows
4583
5032
  # File Server file system. See
4584
5033
  # [FSxWindowsFileServerVolumeConfiguration][1] in the *Amazon Elastic
@@ -4602,29 +5051,16 @@ module Aws::ECS
4602
5051
  # }
4603
5052
  #
4604
5053
  # @!attribute [rw] credentials_parameter
4605
- # The authorization credential option to use.
4606
- #
4607
- # The authorization credential options can be provided using either
4608
- # the AWS Secrets Manager ARN or the AWS Systems Manager ARN. The ARNs
4609
- # refer to the stored credentials.
4610
- #
4611
- # **options:**
4612
- #
4613
- # * [ARN][1] of an [AWS Secrets Manager][2] secret.
4614
- #
4615
- # * [ARN][1] of an [AWS Systems Manager][3] parameter.
4616
- #
4617
- #
4618
- #
4619
- # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
4620
- # [2]: https://docs.aws.amazon.com/secretsmanager
4621
- # [3]: https://docs.aws.amazon.com/systems-manager/latest/userguide/integration-ps-secretsmanager.html
5054
+ # The authorization credential option to use. The authorization
5055
+ # credential options can be provided using either the Amazon Resource
5056
+ # Name (ARN) of an AWS Secrets Manager secret or AWS Systems Manager
5057
+ # Parameter Store parameter. The ARNs refer to the stored credentials.
4622
5058
  # @return [String]
4623
5059
  #
4624
5060
  # @!attribute [rw] domain
4625
5061
  # A fully qualified domain name hosted by an [AWS Directory
4626
5062
  # Service][1] Managed Microsoft AD (Active Directory) or self-hosted
4627
- # EC2 AD.
5063
+ # AD on Amazon EC2.
4628
5064
  #
4629
5065
  #
4630
5066
  #
@@ -4752,6 +5188,11 @@ module Aws::ECS
4752
5188
  # FireLens Configuration][1] in the *Amazon Elastic Container Service
4753
5189
  # Developer Guide*.
4754
5190
  #
5191
+ # <note markdown="1"> Tasks hosted on AWS Fargate only support the `file` configuration
5192
+ # file type.
5193
+ #
5194
+ # </note>
5195
+ #
4755
5196
  #
4756
5197
  #
4757
5198
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef
@@ -6281,6 +6722,75 @@ module Aws::ECS
6281
6722
  include Aws::Structure
6282
6723
  end
6283
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
+
6284
6794
  # The managed scaling settings for the Auto Scaling group capacity
6285
6795
  # provider.
6286
6796
  #
@@ -6306,6 +6816,7 @@ module Aws::ECS
6306
6816
  # target_capacity: 1,
6307
6817
  # minimum_scaling_step_size: 1,
6308
6818
  # maximum_scaling_step_size: 1,
6819
+ # instance_warmup_period: 1,
6309
6820
  # }
6310
6821
  #
6311
6822
  # @!attribute [rw] status
@@ -6320,27 +6831,22 @@ module Aws::ECS
6320
6831
  # @return [Integer]
6321
6832
  #
6322
6833
  # @!attribute [rw] minimum_scaling_step_size
6323
- # The minimum number of Amazon EC2 instances that Amazon ECS will
6324
- # scale out at one time. The scale in process is not affected by this
6325
- # parameter If this parameter is omitted, the default value of `1` is
6326
- # used.
6327
- #
6328
- # When additional capacity is required, Amazon ECS will scale up the
6329
- # minimum scaling step size even if the actual demand is less than the
6330
- # minimum scaling step size.
6331
- #
6332
- # If you use a capacity provider with an Auto Scaling group configured
6333
- # with more than one Amazon EC2 instance type or Availability Zone,
6334
- # Amazon ECS will scale up by the exact minimum scaling step size
6335
- # value and will ignore both the maximum scaling step size as well as
6336
- # the capacity demand.
6834
+ # The minimum number of container instances that Amazon ECS will scale
6835
+ # in or scale out at one time. If this parameter is omitted, the
6836
+ # default value of `1` is used.
6337
6837
  # @return [Integer]
6338
6838
  #
6339
6839
  # @!attribute [rw] maximum_scaling_step_size
6340
- # The maximum number of Amazon EC2 instances that Amazon ECS will
6341
- # scale out at one time. The scale in process is not affected by this
6342
- # parameter. If this parameter is omitted, the default value of
6343
- # `10000` is used.
6840
+ # The maximum number of container instances that Amazon ECS will scale
6841
+ # in or scale out at one time. If this parameter is omitted, the
6842
+ # default value of `10000` is used.
6843
+ # @return [Integer]
6844
+ #
6845
+ # @!attribute [rw] instance_warmup_period
6846
+ # The period of time, in seconds, after a newly launched Amazon EC2
6847
+ # instance can contribute to CloudWatch metrics for Auto Scaling
6848
+ # group. If this parameter is omitted, the default value of `300`
6849
+ # seconds is used.
6344
6850
  # @return [Integer]
6345
6851
  #
6346
6852
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedScaling AWS API Documentation
@@ -6349,7 +6855,8 @@ module Aws::ECS
6349
6855
  :status,
6350
6856
  :target_capacity,
6351
6857
  :minimum_scaling_step_size,
6352
- :maximum_scaling_step_size)
6858
+ :maximum_scaling_step_size,
6859
+ :instance_warmup_period)
6353
6860
  SENSITIVE = []
6354
6861
  include Aws::Structure
6355
6862
  end
@@ -6749,11 +7256,7 @@ module Aws::ECS
6749
7256
  # your container instances are launched from the Amazon ECS-optimized
6750
7257
  # AMI version `20190301` or later, then they contain the required
6751
7258
  # versions of the container agent and `ecs-init`. For more information,
6752
- # see [Amazon ECS-optimized Linux AMI][1] in the *Amazon Elastic
6753
- # Container Service Developer Guide*.
6754
- #
6755
- # For tasks using the Fargate launch type, the task or service requires
6756
- # platform version 1.3.0 or later.
7259
+ # see [Amazon ECS-optimized Linux AMI][1]
6757
7260
  #
6758
7261
  #
6759
7262
  #
@@ -7475,16 +7978,17 @@ module Aws::ECS
7475
7978
  #
7476
7979
  # @!attribute [rw] network_mode
7477
7980
  # The Docker networking mode to use for the containers in the task.
7478
- # The valid values are `none`, `bridge`, `awsvpc`, and `host`. The
7479
- # default Docker network mode is `bridge`. If you are using the
7480
- # Fargate launch type, the `awsvpc` network mode is required. If you
7481
- # are using the EC2 launch type, any network mode can be used. If the
7482
- # network mode is set to `none`, you cannot specify port mappings in
7483
- # your container definitions, and the tasks containers do not have
7484
- # external connectivity. The `host` and `awsvpc` network modes offer
7485
- # the highest networking performance for containers because they use
7486
- # the EC2 network stack instead of the virtualized network stack
7487
- # provided by the `bridge` mode.
7981
+ # The valid values are `none`, `bridge`, `awsvpc`, and `host`. If no
7982
+ # network mode is specified, the default is `bridge`.
7983
+ #
7984
+ # For Amazon ECS tasks on Fargate, the `awsvpc` network mode is
7985
+ # required. For Amazon ECS tasks on Amazon EC2 instances, any network
7986
+ # mode can be used. If the network mode is set to `none`, you cannot
7987
+ # specify port mappings in your container definitions, and the tasks
7988
+ # containers do not have external connectivity. The `host` and
7989
+ # `awsvpc` network modes offer the highest networking performance for
7990
+ # containers because they use the EC2 network stack instead of the
7991
+ # virtualized network stack provided by the `bridge` mode.
7488
7992
  #
7489
7993
  # With the `host` and `awsvpc` network modes, exposed container ports
7490
7994
  # are mapped directly to the corresponding host port (for the `host`
@@ -7492,6 +7996,10 @@ module Aws::ECS
7492
7996
  # the `awsvpc` network mode), so you cannot take advantage of dynamic
7493
7997
  # host port mappings.
7494
7998
  #
7999
+ # When using the `host` network mode, you should not run containers
8000
+ # using the root user (UID 0). It is considered best practice to use a
8001
+ # non-root user.
8002
+ #
7495
8003
  # If the network mode is `awsvpc`, the task is allocated an elastic
7496
8004
  # network interface, and you must specify a NetworkConfiguration value
7497
8005
  # when you create a service or run a task with the task definition.
@@ -7542,9 +8050,10 @@ module Aws::ECS
7542
8050
  #
7543
8051
  # @!attribute [rw] requires_compatibilities
7544
8052
  # The task launch type that Amazon ECS should validate the task
7545
- # definition against. This ensures that the task definition parameters
7546
- # are compatible with the specified launch type. If no value is
7547
- # 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.
7548
8057
  # @return [Array<String>]
7549
8058
  #
7550
8059
  # @!attribute [rw] cpu
@@ -7665,8 +8174,8 @@ module Aws::ECS
7665
8174
  # risk of undesired process namespace expose. For more information,
7666
8175
  # see [Docker security][2].
7667
8176
  #
7668
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
7669
- # using the Fargate launch type.
8177
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
8178
+ # on AWS Fargate.
7670
8179
  #
7671
8180
  # </note>
7672
8181
  #
@@ -7706,8 +8215,8 @@ module Aws::ECS
7706
8215
  # * For tasks that use the `task` IPC mode, IPC namespace related
7707
8216
  # `systemControls` will apply to all containers within a task.
7708
8217
  #
7709
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
7710
- # using the Fargate launch type.
8218
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
8219
+ # on AWS Fargate.
7711
8220
  #
7712
8221
  # </note>
7713
8222
  #
@@ -7727,11 +8236,7 @@ module Aws::ECS
7727
8236
  # If your container instances are launched from the Amazon
7728
8237
  # ECS-optimized AMI version `20190301` or later, then they contain the
7729
8238
  # required versions of the container agent and `ecs-init`. For more
7730
- # information, see [Amazon ECS-optimized Linux AMI][1] in the *Amazon
7731
- # Elastic Container Service Developer Guide*.
7732
- #
7733
- # For tasks using the Fargate launch type, the task or service
7734
- # requires platform version 1.3.0 or later.
8239
+ # information, see [Amazon ECS-optimized Linux AMI][1]
7735
8240
  #
7736
8241
  #
7737
8242
  #
@@ -7942,6 +8447,7 @@ module Aws::ECS
7942
8447
  # cluster: "String",
7943
8448
  # count: 1,
7944
8449
  # enable_ecs_managed_tags: false,
8450
+ # enable_execute_command: false,
7945
8451
  # group: "String",
7946
8452
  # launch_type: "EC2", # accepts EC2, FARGATE
7947
8453
  # network_configuration: {
@@ -8018,31 +8524,10 @@ module Aws::ECS
8018
8524
  # @!attribute [rw] capacity_provider_strategy
8019
8525
  # The capacity provider strategy to use for the task.
8020
8526
  #
8021
- # A capacity provider strategy consists of one or more capacity
8022
- # providers along with the `base` and `weight` to assign to them. A
8023
- # capacity provider must be associated with the cluster to be used in
8024
- # a capacity provider strategy. The PutClusterCapacityProviders API is
8025
- # used to associate a capacity provider with a cluster. Only capacity
8026
- # providers with an `ACTIVE` or `UPDATING` status can be used.
8027
- #
8028
8527
  # If a `capacityProviderStrategy` is specified, the `launchType`
8029
8528
  # parameter must be omitted. If no `capacityProviderStrategy` or
8030
8529
  # `launchType` is specified, the `defaultCapacityProviderStrategy` for
8031
8530
  # the cluster is used.
8032
- #
8033
- # If specifying a capacity provider that uses an Auto Scaling group,
8034
- # the capacity provider must already be created. New capacity
8035
- # providers can be created with the CreateCapacityProvider API
8036
- # operation.
8037
- #
8038
- # To use a AWS Fargate capacity provider, specify either the `FARGATE`
8039
- # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
8040
- # providers are available to all accounts and only need to be
8041
- # associated with a cluster to be used.
8042
- #
8043
- # The PutClusterCapacityProviders API operation is used to update the
8044
- # list of available capacity providers for a cluster after the cluster
8045
- # is created.
8046
8531
  # @return [Array<Types::CapacityProviderStrategyItem>]
8047
8532
  #
8048
8533
  # @!attribute [rw] cluster
@@ -8066,6 +8551,12 @@ module Aws::ECS
8066
8551
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
8067
8552
  # @return [Boolean]
8068
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
+ #
8069
8560
  # @!attribute [rw] group
8070
8561
  # The name of the task group to associate with the task. The default
8071
8562
  # value is the family name of the task definition (for example,
@@ -8073,9 +8564,17 @@ module Aws::ECS
8073
8564
  # @return [String]
8074
8565
  #
8075
8566
  # @!attribute [rw] launch_type
8076
- # The launch type on which to run your task. For more information, see
8077
- # [Amazon ECS Launch Types][1] in the *Amazon Elastic Container
8078
- # 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.
8079
8578
  #
8080
8579
  # If a `launchType` is specified, the `capacityProviderStrategy`
8081
8580
  # parameter must be omitted.
@@ -8209,6 +8708,7 @@ module Aws::ECS
8209
8708
  :cluster,
8210
8709
  :count,
8211
8710
  :enable_ecs_managed_tags,
8711
+ :enable_execute_command,
8212
8712
  :group,
8213
8713
  :launch_type,
8214
8714
  :network_configuration,
@@ -8567,6 +9067,12 @@ module Aws::ECS
8567
9067
  # propagated.
8568
9068
  # @return [String]
8569
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
+ #
8570
9076
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Service AWS API Documentation
8571
9077
  #
8572
9078
  class Service < Struct.new(
@@ -8598,7 +9104,8 @@ module Aws::ECS
8598
9104
  :tags,
8599
9105
  :created_by,
8600
9106
  :enable_ecs_managed_tags,
8601
- :propagate_tags)
9107
+ :propagate_tags,
9108
+ :enable_execute_command)
8602
9109
  SENSITIVE = []
8603
9110
  include Aws::Structure
8604
9111
  end
@@ -8705,6 +9212,33 @@ module Aws::ECS
8705
9212
  include Aws::Structure
8706
9213
  end
8707
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
+
8708
9242
  # The current account setting for a resource.
8709
9243
  #
8710
9244
  # @!attribute [rw] name
@@ -8739,6 +9273,7 @@ module Aws::ECS
8739
9273
  # cluster: "String",
8740
9274
  # container_instances: ["String"], # required
8741
9275
  # enable_ecs_managed_tags: false,
9276
+ # enable_execute_command: false,
8742
9277
  # group: "String",
8743
9278
  # network_configuration: {
8744
9279
  # awsvpc_configuration: {
@@ -8820,6 +9355,12 @@ module Aws::ECS
8820
9355
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
8821
9356
  # @return [Boolean]
8822
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
+ #
8823
9364
  # @!attribute [rw] group
8824
9365
  # The name of the task group to associate with the task. The default
8825
9366
  # value is the family name of the task definition (for example,
@@ -8914,6 +9455,7 @@ module Aws::ECS
8914
9455
  :cluster,
8915
9456
  :container_instances,
8916
9457
  :enable_ecs_managed_tags,
9458
+ :enable_execute_command,
8917
9459
  :group,
8918
9460
  :network_configuration,
8919
9461
  :overrides,
@@ -9149,6 +9691,14 @@ module Aws::ECS
9149
9691
  # status: "String", # required
9150
9692
  # },
9151
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
+ # ],
9152
9702
  # pull_started_at: Time.now,
9153
9703
  # pull_stopped_at: Time.now,
9154
9704
  # execution_stopped_at: Time.now,
@@ -9179,6 +9729,10 @@ module Aws::ECS
9179
9729
  # Any attachments associated with the state change request.
9180
9730
  # @return [Array<Types::AttachmentStateChange>]
9181
9731
  #
9732
+ # @!attribute [rw] managed_agents
9733
+ # The details for the managed agent associated with the task.
9734
+ # @return [Array<Types::ManagedAgentStateChange>]
9735
+ #
9182
9736
  # @!attribute [rw] pull_started_at
9183
9737
  # The Unix timestamp for when the container image pull began.
9184
9738
  # @return [Time]
@@ -9200,6 +9754,7 @@ module Aws::ECS
9200
9754
  :reason,
9201
9755
  :containers,
9202
9756
  :attachments,
9757
+ :managed_agents,
9203
9758
  :pull_started_at,
9204
9759
  :pull_stopped_at,
9205
9760
  :execution_stopped_at)
@@ -9392,6 +9947,13 @@ module Aws::ECS
9392
9947
  #
9393
9948
  class TagResourceResponse < Aws::EmptyStructure; end
9394
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
+
9395
9957
  # The specified target could not be found. You can view your available
9396
9958
  # container instances with ListContainerInstances. Amazon ECS container
9397
9959
  # instances are cluster-specific and Region-specific.
@@ -9487,6 +10049,12 @@ module Aws::ECS
9487
10049
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html
9488
10050
  # @return [String]
9489
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
+ #
9490
10058
  # @!attribute [rw] execution_stopped_at
9491
10059
  # The Unix timestamp for when the task execution stopped.
9492
10060
  # @return [Time]
@@ -9684,6 +10252,7 @@ module Aws::ECS
9684
10252
  :cpu,
9685
10253
  :created_at,
9686
10254
  :desired_status,
10255
+ :enable_execute_command,
9687
10256
  :execution_stopped_at,
9688
10257
  :group,
9689
10258
  :health_status,
@@ -9753,7 +10322,7 @@ module Aws::ECS
9753
10322
  # option is set when you launch the Amazon ECS-optimized Windows AMI.
9754
10323
  # Your containers must also run some configuration code in order to
9755
10324
  # take advantage of the feature. For more information, see [Windows
9756
- # IAM Roles for Tasks][2] in the *Amazon Elastic Container Service
10325
+ # IAM roles for tasks][2] in the *Amazon Elastic Container Service
9757
10326
  # Developer Guide*.
9758
10327
  #
9759
10328
  #
@@ -9777,16 +10346,17 @@ module Aws::ECS
9777
10346
  #
9778
10347
  # @!attribute [rw] network_mode
9779
10348
  # The Docker networking mode to use for the containers in the task.
9780
- # The valid values are `none`, `bridge`, `awsvpc`, and `host`. The
9781
- # default Docker network mode is `bridge`. If you are using the
9782
- # Fargate launch type, the `awsvpc` network mode is required. If you
9783
- # are using the EC2 launch type, any network mode can be used. If the
9784
- # network mode is set to `none`, you cannot specify port mappings in
9785
- # your container definitions, and the tasks containers do not have
9786
- # external connectivity. The `host` and `awsvpc` network modes offer
9787
- # the highest networking performance for containers because they use
9788
- # the EC2 network stack instead of the virtualized network stack
9789
- # provided by the `bridge` mode.
10349
+ # The valid values are `none`, `bridge`, `awsvpc`, and `host`. If no
10350
+ # network mode is specified, the default is `bridge`.
10351
+ #
10352
+ # For Amazon ECS tasks on Fargate, the `awsvpc` network mode is
10353
+ # required. For Amazon ECS tasks on Amazon EC2 instances, any network
10354
+ # mode can be used. If the network mode is set to `none`, you cannot
10355
+ # specify port mappings in your container definitions, and the tasks
10356
+ # containers do not have external connectivity. The `host` and
10357
+ # `awsvpc` network modes offer the highest networking performance for
10358
+ # containers because they use the EC2 network stack instead of the
10359
+ # virtualized network stack provided by the `bridge` mode.
9790
10360
  #
9791
10361
  # With the `host` and `awsvpc` network modes, exposed container ports
9792
10362
  # are mapped directly to the corresponding host port (for the `host`
@@ -9794,6 +10364,10 @@ module Aws::ECS
9794
10364
  # the `awsvpc` network mode), so you cannot take advantage of dynamic
9795
10365
  # host port mappings.
9796
10366
  #
10367
+ # When using the `host` network mode, you should not run containers
10368
+ # using the root user (UID 0). It is considered best practice to use a
10369
+ # non-root user.
10370
+ #
9797
10371
  # If the network mode is `awsvpc`, the task is allocated an elastic
9798
10372
  # network interface, and you must specify a NetworkConfiguration value
9799
10373
  # when you create a service or run a task with the task definition.
@@ -9835,18 +10409,18 @@ module Aws::ECS
9835
10409
  # @return [Integer]
9836
10410
  #
9837
10411
  # @!attribute [rw] volumes
9838
- # 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*.
9839
10415
  #
9840
- # If your tasks are using the Fargate launch type, the `host` and
9841
- # `sourcePath` parameters are not supported.
10416
+ # <note markdown="1"> The `host` and `sourcePath` parameters are not supported for tasks
10417
+ # run on AWS Fargate.
9842
10418
  #
9843
- # For more information about volume definition parameters and
9844
- # defaults, see [Amazon ECS Task Definitions][1] in the *Amazon
9845
- # Elastic Container Service Developer Guide*.
10419
+ # </note>
9846
10420
  #
9847
10421
  #
9848
10422
  #
9849
- # [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
9850
10424
  # @return [Array<Types::Volume>]
9851
10425
  #
9852
10426
  # @!attribute [rw] status
@@ -9854,20 +10428,37 @@ module Aws::ECS
9854
10428
  # @return [String]
9855
10429
  #
9856
10430
  # @!attribute [rw] requires_attributes
9857
- # The container instance attributes required by your task. This field
9858
- # 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
9859
10447
  # @return [Array<Types::Attribute>]
9860
10448
  #
9861
10449
  # @!attribute [rw] placement_constraints
9862
- # An array of placement constraint objects to use for tasks. This
9863
- # field is not valid if you are using the Fargate launch type for your
9864
- # 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>
9865
10455
  # @return [Array<Types::TaskDefinitionPlacementConstraint>]
9866
10456
  #
9867
10457
  # @!attribute [rw] compatibilities
9868
- # The launch type to use with your task. For more information, see
9869
- # [Amazon ECS Launch Types][1] in the *Amazon Elastic Container
9870
- # 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*.
9871
10462
  #
9872
10463
  #
9873
10464
  #
@@ -9875,8 +10466,9 @@ module Aws::ECS
9875
10466
  # @return [Array<String>]
9876
10467
  #
9877
10468
  # @!attribute [rw] requires_compatibilities
9878
- # The launch type the task requires. If no value is specified, it will
9879
- # 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.
9880
10472
  # @return [Array<String>]
9881
10473
  #
9882
10474
  # @!attribute [rw] cpu
@@ -9906,16 +10498,16 @@ module Aws::ECS
9906
10498
  # @!attribute [rw] memory
9907
10499
  # The amount (in MiB) of memory used by the task.
9908
10500
  #
9909
- # If using the EC2 launch type, you must specify either a task-level
9910
- # memory value or a container-level memory value. This field is
9911
- # optional and any value can be used. If a task-level memory value is
9912
- # specified then the container-level memory value is optional. For
9913
- # more information regarding container-level memory and memory
9914
- # 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].
9915
10507
  #
9916
- # If using the Fargate launch type, this field is required and you
9917
- # must use one of the following values, which determines your range of
9918
- # 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:
9919
10511
  #
9920
10512
  # * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available `cpu` values:
9921
10513
  # 256 (.25 vCPU)
@@ -9955,8 +10547,8 @@ module Aws::ECS
9955
10547
  # risk of undesired process namespace expose. For more information,
9956
10548
  # see [Docker security][2].
9957
10549
  #
9958
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
9959
- # using the Fargate launch type.
10550
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
10551
+ # on AWS Fargate.
9960
10552
  #
9961
10553
  # </note>
9962
10554
  #
@@ -9996,8 +10588,8 @@ module Aws::ECS
9996
10588
  # * For tasks that use the `task` IPC mode, IPC namespace related
9997
10589
  # `systemControls` will apply to all containers within a task.
9998
10590
  #
9999
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks
10000
- # using the Fargate launch type.
10591
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
10592
+ # on AWS Fargate.
10001
10593
  #
10002
10594
  # </note>
10003
10595
  #
@@ -10025,6 +10617,18 @@ module Aws::ECS
10025
10617
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
10026
10618
  # @return [Types::ProxyConfiguration]
10027
10619
  #
10620
+ # @!attribute [rw] registered_at
10621
+ # The Unix timestamp for when the task definition was registered.
10622
+ # @return [Time]
10623
+ #
10624
+ # @!attribute [rw] deregistered_at
10625
+ # The Unix timestamp for when the task definition was deregistered.
10626
+ # @return [Time]
10627
+ #
10628
+ # @!attribute [rw] registered_by
10629
+ # The principal that registered the task definition.
10630
+ # @return [String]
10631
+ #
10028
10632
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskDefinition AWS API Documentation
10029
10633
  #
10030
10634
  class TaskDefinition < Struct.new(
@@ -10046,17 +10650,20 @@ module Aws::ECS
10046
10650
  :inference_accelerators,
10047
10651
  :pid_mode,
10048
10652
  :ipc_mode,
10049
- :proxy_configuration)
10653
+ :proxy_configuration,
10654
+ :registered_at,
10655
+ :deregistered_at,
10656
+ :registered_by)
10050
10657
  SENSITIVE = []
10051
10658
  include Aws::Structure
10052
10659
  end
10053
10660
 
10054
10661
  # An object representing a constraint on task placement in the task
10055
- # definition. For more information, see [Task Placement Constraints][1]
10662
+ # definition. For more information, see [Task placement constraints][1]
10056
10663
  # in the *Amazon Elastic Container Service Developer Guide*.
10057
10664
  #
10058
- # <note markdown="1"> If you are using the Fargate launch type, task placement constraints
10059
- # are not supported.
10665
+ # <note markdown="1"> Task placement constraints are not supported for tasks run on AWS
10666
+ # Fargate.
10060
10667
  #
10061
10668
  # </note>
10062
10669
  #
@@ -10079,7 +10686,7 @@ module Aws::ECS
10079
10686
  #
10080
10687
  # @!attribute [rw] expression
10081
10688
  # A cluster query language expression to apply to the constraint. For
10082
- # more information, see [Cluster Query Language][1] in the *Amazon
10689
+ # more information, see [Cluster query language][1] in the *Amazon
10083
10690
  # Elastic Container Service Developer Guide*.
10084
10691
  #
10085
10692
  #
@@ -10276,7 +10883,7 @@ module Aws::ECS
10276
10883
  #
10277
10884
  # @!attribute [rw] launch_type
10278
10885
  # The launch type the tasks in the task set are using. For more
10279
- # information, see [Amazon ECS Launch Types][1] in the *Amazon Elastic
10886
+ # information, see [Amazon ECS launch types][1] in the *Amazon Elastic
10280
10887
  # Container Service Developer Guide*.
10281
10888
  #
10282
10889
  #
@@ -10289,11 +10896,10 @@ module Aws::ECS
10289
10896
  # @return [Array<Types::CapacityProviderStrategyItem>]
10290
10897
  #
10291
10898
  # @!attribute [rw] platform_version
10292
- # The platform version on which the tasks in the task set are running.
10293
- # A platform version is only specified for tasks using the Fargate
10294
- # launch type. If one is not specified, the `LATEST` platform version
10295
- # is used by default. For more information, see [AWS Fargate Platform
10296
- # 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
10297
10903
  # Guide*.
10298
10904
  #
10299
10905
  #
@@ -10311,7 +10917,7 @@ module Aws::ECS
10311
10917
  #
10312
10918
  # @!attribute [rw] service_registries
10313
10919
  # The details of the service discovery registries to assign to this
10314
- # task set. For more information, see [Service Discovery][1].
10920
+ # task set. For more information, see [Service discovery][1].
10315
10921
  #
10316
10922
  #
10317
10923
  #
@@ -10528,6 +11134,117 @@ module Aws::ECS
10528
11134
  #
10529
11135
  class UntagResourceResponse < Aws::EmptyStructure; end
10530
11136
 
11137
+ # @note When making an API call, you may pass UpdateCapacityProviderRequest
11138
+ # data as a hash:
11139
+ #
11140
+ # {
11141
+ # name: "String", # required
11142
+ # auto_scaling_group_provider: { # required
11143
+ # managed_scaling: {
11144
+ # status: "ENABLED", # accepts ENABLED, DISABLED
11145
+ # target_capacity: 1,
11146
+ # minimum_scaling_step_size: 1,
11147
+ # maximum_scaling_step_size: 1,
11148
+ # instance_warmup_period: 1,
11149
+ # },
11150
+ # managed_termination_protection: "ENABLED", # accepts ENABLED, DISABLED
11151
+ # },
11152
+ # }
11153
+ #
11154
+ # @!attribute [rw] name
11155
+ # The name of the capacity provider to update.
11156
+ # @return [String]
11157
+ #
11158
+ # @!attribute [rw] auto_scaling_group_provider
11159
+ # An object representing the parameters to update for the Auto Scaling
11160
+ # group capacity provider.
11161
+ # @return [Types::AutoScalingGroupProviderUpdate]
11162
+ #
11163
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCapacityProviderRequest AWS API Documentation
11164
+ #
11165
+ class UpdateCapacityProviderRequest < Struct.new(
11166
+ :name,
11167
+ :auto_scaling_group_provider)
11168
+ SENSITIVE = []
11169
+ include Aws::Structure
11170
+ end
11171
+
11172
+ # @!attribute [rw] capacity_provider
11173
+ # The details of a capacity provider.
11174
+ # @return [Types::CapacityProvider]
11175
+ #
11176
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCapacityProviderResponse AWS API Documentation
11177
+ #
11178
+ class UpdateCapacityProviderResponse < Struct.new(
11179
+ :capacity_provider)
11180
+ SENSITIVE = []
11181
+ include Aws::Structure
11182
+ end
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
+
10531
11248
  # @note When making an API call, you may pass UpdateClusterSettingsRequest
10532
11249
  # data as a hash:
10533
11250
  #
@@ -10750,6 +11467,10 @@ module Aws::ECS
10750
11467
  # },
10751
11468
  # ],
10752
11469
  # deployment_configuration: {
11470
+ # deployment_circuit_breaker: {
11471
+ # enable: false, # required
11472
+ # rollback: false, # required
11473
+ # },
10753
11474
  # maximum_percent: 1,
10754
11475
  # minimum_healthy_percent: 1,
10755
11476
  # },
@@ -10775,6 +11496,7 @@ module Aws::ECS
10775
11496
  # platform_version: "String",
10776
11497
  # force_new_deployment: false,
10777
11498
  # health_check_grace_period_seconds: 1,
11499
+ # enable_execute_command: false,
10778
11500
  # }
10779
11501
  #
10780
11502
  # @!attribute [rw] cluster
@@ -10903,6 +11625,15 @@ module Aws::ECS
10903
11625
  # to come up.
10904
11626
  # @return [Integer]
10905
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
+ #
10906
11637
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServiceRequest AWS API Documentation
10907
11638
  #
10908
11639
  class UpdateServiceRequest < Struct.new(
@@ -10917,7 +11648,8 @@ module Aws::ECS
10917
11648
  :placement_strategy,
10918
11649
  :platform_version,
10919
11650
  :force_new_deployment,
10920
- :health_check_grace_period_seconds)
11651
+ :health_check_grace_period_seconds,
11652
+ :enable_execute_command)
10921
11653
  SENSITIVE = []
10922
11654
  include Aws::Structure
10923
11655
  end
@@ -11108,9 +11840,13 @@ module Aws::ECS
11108
11840
  #
11109
11841
  # @!attribute [rw] docker_volume_configuration
11110
11842
  # This parameter is specified when you are using Docker volumes.
11111
- # Docker volumes are only supported when you are using the EC2 launch
11112
- # type. Windows containers only support the use of the `local` driver.
11113
- # 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>
11114
11850
  # @return [Types::DockerVolumeConfiguration]
11115
11851
  #
11116
11852
  # @!attribute [rw] efs_volume_configuration