aws-sdk-ecs 1.92.0 → 1.131.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -15,6 +15,7 @@ module Aws::ECS
15
15
 
16
16
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
17
  AgentUpdateStatus = Shapes::StringShape.new(name: 'AgentUpdateStatus')
18
+ ApplicationProtocol = Shapes::StringShape.new(name: 'ApplicationProtocol')
18
19
  AssignPublicIp = Shapes::StringShape.new(name: 'AssignPublicIp')
19
20
  Attachment = Shapes::StructureShape.new(name: 'Attachment')
20
21
  AttachmentDetails = Shapes::ListShape.new(name: 'AttachmentDetails')
@@ -51,6 +52,8 @@ module Aws::ECS
51
52
  ClusterField = Shapes::StringShape.new(name: 'ClusterField')
52
53
  ClusterFieldList = Shapes::ListShape.new(name: 'ClusterFieldList')
53
54
  ClusterNotFoundException = Shapes::StructureShape.new(name: 'ClusterNotFoundException')
55
+ ClusterServiceConnectDefaults = Shapes::StructureShape.new(name: 'ClusterServiceConnectDefaults')
56
+ ClusterServiceConnectDefaultsRequest = Shapes::StructureShape.new(name: 'ClusterServiceConnectDefaultsRequest')
54
57
  ClusterSetting = Shapes::StructureShape.new(name: 'ClusterSetting')
55
58
  ClusterSettingName = Shapes::StringShape.new(name: 'ClusterSettingName')
56
59
  ClusterSettings = Shapes::ListShape.new(name: 'ClusterSettings')
@@ -93,9 +96,12 @@ module Aws::ECS
93
96
  DeleteClusterResponse = Shapes::StructureShape.new(name: 'DeleteClusterResponse')
94
97
  DeleteServiceRequest = Shapes::StructureShape.new(name: 'DeleteServiceRequest')
95
98
  DeleteServiceResponse = Shapes::StructureShape.new(name: 'DeleteServiceResponse')
99
+ DeleteTaskDefinitionsRequest = Shapes::StructureShape.new(name: 'DeleteTaskDefinitionsRequest')
100
+ DeleteTaskDefinitionsResponse = Shapes::StructureShape.new(name: 'DeleteTaskDefinitionsResponse')
96
101
  DeleteTaskSetRequest = Shapes::StructureShape.new(name: 'DeleteTaskSetRequest')
97
102
  DeleteTaskSetResponse = Shapes::StructureShape.new(name: 'DeleteTaskSetResponse')
98
103
  Deployment = Shapes::StructureShape.new(name: 'Deployment')
104
+ DeploymentAlarms = Shapes::StructureShape.new(name: 'DeploymentAlarms')
99
105
  DeploymentCircuitBreaker = Shapes::StructureShape.new(name: 'DeploymentCircuitBreaker')
100
106
  DeploymentConfiguration = Shapes::StructureShape.new(name: 'DeploymentConfiguration')
101
107
  DeploymentController = Shapes::StructureShape.new(name: 'DeploymentController')
@@ -151,6 +157,8 @@ module Aws::ECS
151
157
  FirelensConfiguration = Shapes::StructureShape.new(name: 'FirelensConfiguration')
152
158
  FirelensConfigurationOptionsMap = Shapes::MapShape.new(name: 'FirelensConfigurationOptionsMap')
153
159
  FirelensConfigurationType = Shapes::StringShape.new(name: 'FirelensConfigurationType')
160
+ GetTaskProtectionRequest = Shapes::StructureShape.new(name: 'GetTaskProtectionRequest')
161
+ GetTaskProtectionResponse = Shapes::StructureShape.new(name: 'GetTaskProtectionResponse')
154
162
  GpuIds = Shapes::ListShape.new(name: 'GpuIds')
155
163
  HealthCheck = Shapes::StructureShape.new(name: 'HealthCheck')
156
164
  HealthStatus = Shapes::StringShape.new(name: 'HealthStatus')
@@ -181,6 +189,8 @@ module Aws::ECS
181
189
  ListClustersResponse = Shapes::StructureShape.new(name: 'ListClustersResponse')
182
190
  ListContainerInstancesRequest = Shapes::StructureShape.new(name: 'ListContainerInstancesRequest')
183
191
  ListContainerInstancesResponse = Shapes::StructureShape.new(name: 'ListContainerInstancesResponse')
192
+ ListServicesByNamespaceRequest = Shapes::StructureShape.new(name: 'ListServicesByNamespaceRequest')
193
+ ListServicesByNamespaceResponse = Shapes::StructureShape.new(name: 'ListServicesByNamespaceResponse')
184
194
  ListServicesRequest = Shapes::StructureShape.new(name: 'ListServicesRequest')
185
195
  ListServicesResponse = Shapes::StructureShape.new(name: 'ListServicesResponse')
186
196
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
@@ -211,6 +221,7 @@ module Aws::ECS
211
221
  MissingVersionException = Shapes::StructureShape.new(name: 'MissingVersionException')
212
222
  MountPoint = Shapes::StructureShape.new(name: 'MountPoint')
213
223
  MountPointList = Shapes::ListShape.new(name: 'MountPointList')
224
+ NamespaceNotFoundException = Shapes::StructureShape.new(name: 'NamespaceNotFoundException')
214
225
  NetworkBinding = Shapes::StructureShape.new(name: 'NetworkBinding')
215
226
  NetworkBindings = Shapes::ListShape.new(name: 'NetworkBindings')
216
227
  NetworkConfiguration = Shapes::StructureShape.new(name: 'NetworkConfiguration')
@@ -233,7 +244,10 @@ module Aws::ECS
233
244
  PlatformUnknownException = Shapes::StructureShape.new(name: 'PlatformUnknownException')
234
245
  PortMapping = Shapes::StructureShape.new(name: 'PortMapping')
235
246
  PortMappingList = Shapes::ListShape.new(name: 'PortMappingList')
247
+ PortNumber = Shapes::IntegerShape.new(name: 'PortNumber')
236
248
  PropagateTags = Shapes::StringShape.new(name: 'PropagateTags')
249
+ ProtectedTask = Shapes::StructureShape.new(name: 'ProtectedTask')
250
+ ProtectedTasks = Shapes::ListShape.new(name: 'ProtectedTasks')
237
251
  ProxyConfiguration = Shapes::StructureShape.new(name: 'ProxyConfiguration')
238
252
  ProxyConfigurationProperties = Shapes::ListShape.new(name: 'ProxyConfigurationProperties')
239
253
  ProxyConfigurationType = Shapes::StringShape.new(name: 'ProxyConfigurationType')
@@ -270,6 +284,13 @@ module Aws::ECS
270
284
  SensitiveString = Shapes::StringShape.new(name: 'SensitiveString')
271
285
  ServerException = Shapes::StructureShape.new(name: 'ServerException')
272
286
  Service = Shapes::StructureShape.new(name: 'Service')
287
+ ServiceConnectClientAlias = Shapes::StructureShape.new(name: 'ServiceConnectClientAlias')
288
+ ServiceConnectClientAliasList = Shapes::ListShape.new(name: 'ServiceConnectClientAliasList')
289
+ ServiceConnectConfiguration = Shapes::StructureShape.new(name: 'ServiceConnectConfiguration')
290
+ ServiceConnectService = Shapes::StructureShape.new(name: 'ServiceConnectService')
291
+ ServiceConnectServiceList = Shapes::ListShape.new(name: 'ServiceConnectServiceList')
292
+ ServiceConnectServiceResource = Shapes::StructureShape.new(name: 'ServiceConnectServiceResource')
293
+ ServiceConnectServiceResourceList = Shapes::ListShape.new(name: 'ServiceConnectServiceResourceList')
273
294
  ServiceEvent = Shapes::StructureShape.new(name: 'ServiceEvent')
274
295
  ServiceEvents = Shapes::ListShape.new(name: 'ServiceEvents')
275
296
  ServiceField = Shapes::StringShape.new(name: 'ServiceField')
@@ -316,6 +337,7 @@ module Aws::ECS
316
337
  TaskDefinitionFamilyStatus = Shapes::StringShape.new(name: 'TaskDefinitionFamilyStatus')
317
338
  TaskDefinitionField = Shapes::StringShape.new(name: 'TaskDefinitionField')
318
339
  TaskDefinitionFieldList = Shapes::ListShape.new(name: 'TaskDefinitionFieldList')
340
+ TaskDefinitionList = Shapes::ListShape.new(name: 'TaskDefinitionList')
319
341
  TaskDefinitionPlacementConstraint = Shapes::StructureShape.new(name: 'TaskDefinitionPlacementConstraint')
320
342
  TaskDefinitionPlacementConstraintType = Shapes::StringShape.new(name: 'TaskDefinitionPlacementConstraintType')
321
343
  TaskDefinitionPlacementConstraints = Shapes::ListShape.new(name: 'TaskDefinitionPlacementConstraints')
@@ -355,6 +377,8 @@ module Aws::ECS
355
377
  UpdateServicePrimaryTaskSetResponse = Shapes::StructureShape.new(name: 'UpdateServicePrimaryTaskSetResponse')
356
378
  UpdateServiceRequest = Shapes::StructureShape.new(name: 'UpdateServiceRequest')
357
379
  UpdateServiceResponse = Shapes::StructureShape.new(name: 'UpdateServiceResponse')
380
+ UpdateTaskProtectionRequest = Shapes::StructureShape.new(name: 'UpdateTaskProtectionRequest')
381
+ UpdateTaskProtectionResponse = Shapes::StructureShape.new(name: 'UpdateTaskProtectionResponse')
358
382
  UpdateTaskSetRequest = Shapes::StructureShape.new(name: 'UpdateTaskSetRequest')
359
383
  UpdateTaskSetResponse = Shapes::StructureShape.new(name: 'UpdateTaskSetResponse')
360
384
  VersionInfo = Shapes::StructureShape.new(name: 'VersionInfo')
@@ -445,6 +469,7 @@ module Aws::ECS
445
469
  Cluster.add_member(:default_capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, location_name: "defaultCapacityProviderStrategy"))
446
470
  Cluster.add_member(:attachments, Shapes::ShapeRef.new(shape: Attachments, location_name: "attachments"))
447
471
  Cluster.add_member(:attachments_status, Shapes::ShapeRef.new(shape: String, location_name: "attachmentsStatus"))
472
+ Cluster.add_member(:service_connect_defaults, Shapes::ShapeRef.new(shape: ClusterServiceConnectDefaults, location_name: "serviceConnectDefaults"))
448
473
  Cluster.struct_class = Types::Cluster
449
474
 
450
475
  ClusterConfiguration.add_member(:execute_command_configuration, Shapes::ShapeRef.new(shape: ExecuteCommandConfiguration, location_name: "executeCommandConfiguration"))
@@ -460,6 +485,12 @@ module Aws::ECS
460
485
 
461
486
  ClusterNotFoundException.struct_class = Types::ClusterNotFoundException
462
487
 
488
+ ClusterServiceConnectDefaults.add_member(:namespace, Shapes::ShapeRef.new(shape: String, location_name: "namespace"))
489
+ ClusterServiceConnectDefaults.struct_class = Types::ClusterServiceConnectDefaults
490
+
491
+ ClusterServiceConnectDefaultsRequest.add_member(:namespace, Shapes::ShapeRef.new(shape: String, required: true, location_name: "namespace"))
492
+ ClusterServiceConnectDefaultsRequest.struct_class = Types::ClusterServiceConnectDefaultsRequest
493
+
463
494
  ClusterSetting.add_member(:name, Shapes::ShapeRef.new(shape: ClusterSettingName, location_name: "name"))
464
495
  ClusterSetting.add_member(:value, Shapes::ShapeRef.new(shape: String, location_name: "value"))
465
496
  ClusterSetting.struct_class = Types::ClusterSetting
@@ -528,6 +559,7 @@ module Aws::ECS
528
559
  ContainerDefinition.add_member(:system_controls, Shapes::ShapeRef.new(shape: SystemControls, location_name: "systemControls"))
529
560
  ContainerDefinition.add_member(:resource_requirements, Shapes::ShapeRef.new(shape: ResourceRequirements, location_name: "resourceRequirements"))
530
561
  ContainerDefinition.add_member(:firelens_configuration, Shapes::ShapeRef.new(shape: FirelensConfiguration, location_name: "firelensConfiguration"))
562
+ ContainerDefinition.add_member(:credential_specs, Shapes::ShapeRef.new(shape: StringList, location_name: "credentialSpecs"))
531
563
  ContainerDefinition.struct_class = Types::ContainerDefinition
532
564
 
533
565
  ContainerDefinitions.member = Shapes::ShapeRef.new(shape: ContainerDefinition)
@@ -605,6 +637,7 @@ module Aws::ECS
605
637
  CreateClusterRequest.add_member(:configuration, Shapes::ShapeRef.new(shape: ClusterConfiguration, location_name: "configuration"))
606
638
  CreateClusterRequest.add_member(:capacity_providers, Shapes::ShapeRef.new(shape: StringList, location_name: "capacityProviders"))
607
639
  CreateClusterRequest.add_member(:default_capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, location_name: "defaultCapacityProviderStrategy"))
640
+ CreateClusterRequest.add_member(:service_connect_defaults, Shapes::ShapeRef.new(shape: ClusterServiceConnectDefaultsRequest, location_name: "serviceConnectDefaults"))
608
641
  CreateClusterRequest.struct_class = Types::CreateClusterRequest
609
642
 
610
643
  CreateClusterResponse.add_member(:cluster, Shapes::ShapeRef.new(shape: Cluster, location_name: "cluster"))
@@ -632,6 +665,7 @@ module Aws::ECS
632
665
  CreateServiceRequest.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
633
666
  CreateServiceRequest.add_member(:propagate_tags, Shapes::ShapeRef.new(shape: PropagateTags, location_name: "propagateTags"))
634
667
  CreateServiceRequest.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
668
+ CreateServiceRequest.add_member(:service_connect_configuration, Shapes::ShapeRef.new(shape: ServiceConnectConfiguration, location_name: "serviceConnectConfiguration"))
635
669
  CreateServiceRequest.struct_class = Types::CreateServiceRequest
636
670
 
637
671
  CreateServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
@@ -689,6 +723,13 @@ module Aws::ECS
689
723
  DeleteServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
690
724
  DeleteServiceResponse.struct_class = Types::DeleteServiceResponse
691
725
 
726
+ DeleteTaskDefinitionsRequest.add_member(:task_definitions, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "taskDefinitions"))
727
+ DeleteTaskDefinitionsRequest.struct_class = Types::DeleteTaskDefinitionsRequest
728
+
729
+ DeleteTaskDefinitionsResponse.add_member(:task_definitions, Shapes::ShapeRef.new(shape: TaskDefinitionList, location_name: "taskDefinitions"))
730
+ DeleteTaskDefinitionsResponse.add_member(:failures, Shapes::ShapeRef.new(shape: Failures, location_name: "failures"))
731
+ DeleteTaskDefinitionsResponse.struct_class = Types::DeleteTaskDefinitionsResponse
732
+
692
733
  DeleteTaskSetRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
693
734
  DeleteTaskSetRequest.add_member(:service, Shapes::ShapeRef.new(shape: String, required: true, location_name: "service"))
694
735
  DeleteTaskSetRequest.add_member(:task_set, Shapes::ShapeRef.new(shape: String, required: true, location_name: "taskSet"))
@@ -714,8 +755,15 @@ module Aws::ECS
714
755
  Deployment.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
715
756
  Deployment.add_member(:rollout_state, Shapes::ShapeRef.new(shape: DeploymentRolloutState, location_name: "rolloutState"))
716
757
  Deployment.add_member(:rollout_state_reason, Shapes::ShapeRef.new(shape: String, location_name: "rolloutStateReason"))
758
+ Deployment.add_member(:service_connect_configuration, Shapes::ShapeRef.new(shape: ServiceConnectConfiguration, location_name: "serviceConnectConfiguration"))
759
+ Deployment.add_member(:service_connect_resources, Shapes::ShapeRef.new(shape: ServiceConnectServiceResourceList, location_name: "serviceConnectResources"))
717
760
  Deployment.struct_class = Types::Deployment
718
761
 
762
+ DeploymentAlarms.add_member(:alarm_names, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "alarmNames"))
763
+ DeploymentAlarms.add_member(:enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "enable"))
764
+ DeploymentAlarms.add_member(:rollback, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "rollback"))
765
+ DeploymentAlarms.struct_class = Types::DeploymentAlarms
766
+
719
767
  DeploymentCircuitBreaker.add_member(:enable, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "enable"))
720
768
  DeploymentCircuitBreaker.add_member(:rollback, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "rollback"))
721
769
  DeploymentCircuitBreaker.struct_class = Types::DeploymentCircuitBreaker
@@ -723,6 +771,7 @@ module Aws::ECS
723
771
  DeploymentConfiguration.add_member(:deployment_circuit_breaker, Shapes::ShapeRef.new(shape: DeploymentCircuitBreaker, location_name: "deploymentCircuitBreaker"))
724
772
  DeploymentConfiguration.add_member(:maximum_percent, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "maximumPercent"))
725
773
  DeploymentConfiguration.add_member(:minimum_healthy_percent, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "minimumHealthyPercent"))
774
+ DeploymentConfiguration.add_member(:alarms, Shapes::ShapeRef.new(shape: DeploymentAlarms, location_name: "alarms"))
726
775
  DeploymentConfiguration.struct_class = Types::DeploymentConfiguration
727
776
 
728
777
  DeploymentController.add_member(:type, Shapes::ShapeRef.new(shape: DeploymentControllerType, required: true, location_name: "type"))
@@ -823,6 +872,7 @@ module Aws::ECS
823
872
 
824
873
  DiscoverPollEndpointResponse.add_member(:endpoint, Shapes::ShapeRef.new(shape: String, location_name: "endpoint"))
825
874
  DiscoverPollEndpointResponse.add_member(:telemetry_endpoint, Shapes::ShapeRef.new(shape: String, location_name: "telemetryEndpoint"))
875
+ DiscoverPollEndpointResponse.add_member(:service_connect_endpoint, Shapes::ShapeRef.new(shape: String, location_name: "serviceConnectEndpoint"))
826
876
  DiscoverPollEndpointResponse.struct_class = Types::DiscoverPollEndpointResponse
827
877
 
828
878
  DockerLabelsMap.key = Shapes::ShapeRef.new(shape: String)
@@ -907,6 +957,14 @@ module Aws::ECS
907
957
  FirelensConfigurationOptionsMap.key = Shapes::ShapeRef.new(shape: String)
908
958
  FirelensConfigurationOptionsMap.value = Shapes::ShapeRef.new(shape: String)
909
959
 
960
+ GetTaskProtectionRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
961
+ GetTaskProtectionRequest.add_member(:tasks, Shapes::ShapeRef.new(shape: StringList, location_name: "tasks"))
962
+ GetTaskProtectionRequest.struct_class = Types::GetTaskProtectionRequest
963
+
964
+ GetTaskProtectionResponse.add_member(:protected_tasks, Shapes::ShapeRef.new(shape: ProtectedTasks, location_name: "protectedTasks"))
965
+ GetTaskProtectionResponse.add_member(:failures, Shapes::ShapeRef.new(shape: Failures, location_name: "failures"))
966
+ GetTaskProtectionResponse.struct_class = Types::GetTaskProtectionResponse
967
+
910
968
  GpuIds.member = Shapes::ShapeRef.new(shape: String)
911
969
 
912
970
  HealthCheck.add_member(:command, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "command"))
@@ -1009,6 +1067,15 @@ module Aws::ECS
1009
1067
  ListContainerInstancesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
1010
1068
  ListContainerInstancesResponse.struct_class = Types::ListContainerInstancesResponse
1011
1069
 
1070
+ ListServicesByNamespaceRequest.add_member(:namespace, Shapes::ShapeRef.new(shape: String, required: true, location_name: "namespace"))
1071
+ ListServicesByNamespaceRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
1072
+ ListServicesByNamespaceRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "maxResults"))
1073
+ ListServicesByNamespaceRequest.struct_class = Types::ListServicesByNamespaceRequest
1074
+
1075
+ ListServicesByNamespaceResponse.add_member(:service_arns, Shapes::ShapeRef.new(shape: StringList, location_name: "serviceArns"))
1076
+ ListServicesByNamespaceResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
1077
+ ListServicesByNamespaceResponse.struct_class = Types::ListServicesByNamespaceResponse
1078
+
1012
1079
  ListServicesRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
1013
1080
  ListServicesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
1014
1081
  ListServicesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "maxResults"))
@@ -1110,10 +1177,14 @@ module Aws::ECS
1110
1177
 
1111
1178
  MountPointList.member = Shapes::ShapeRef.new(shape: MountPoint)
1112
1179
 
1180
+ NamespaceNotFoundException.struct_class = Types::NamespaceNotFoundException
1181
+
1113
1182
  NetworkBinding.add_member(:bind_ip, Shapes::ShapeRef.new(shape: String, location_name: "bindIP"))
1114
1183
  NetworkBinding.add_member(:container_port, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "containerPort"))
1115
1184
  NetworkBinding.add_member(:host_port, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "hostPort"))
1116
1185
  NetworkBinding.add_member(:protocol, Shapes::ShapeRef.new(shape: TransportProtocol, location_name: "protocol"))
1186
+ NetworkBinding.add_member(:container_port_range, Shapes::ShapeRef.new(shape: String, location_name: "containerPortRange"))
1187
+ NetworkBinding.add_member(:host_port_range, Shapes::ShapeRef.new(shape: String, location_name: "hostPortRange"))
1117
1188
  NetworkBinding.struct_class = Types::NetworkBinding
1118
1189
 
1119
1190
  NetworkBindings.member = Shapes::ShapeRef.new(shape: NetworkBinding)
@@ -1155,10 +1226,20 @@ module Aws::ECS
1155
1226
  PortMapping.add_member(:container_port, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "containerPort"))
1156
1227
  PortMapping.add_member(:host_port, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "hostPort"))
1157
1228
  PortMapping.add_member(:protocol, Shapes::ShapeRef.new(shape: TransportProtocol, location_name: "protocol"))
1229
+ PortMapping.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name"))
1230
+ PortMapping.add_member(:app_protocol, Shapes::ShapeRef.new(shape: ApplicationProtocol, location_name: "appProtocol"))
1231
+ PortMapping.add_member(:container_port_range, Shapes::ShapeRef.new(shape: String, location_name: "containerPortRange"))
1158
1232
  PortMapping.struct_class = Types::PortMapping
1159
1233
 
1160
1234
  PortMappingList.member = Shapes::ShapeRef.new(shape: PortMapping)
1161
1235
 
1236
+ ProtectedTask.add_member(:task_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskArn"))
1237
+ ProtectedTask.add_member(:protection_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "protectionEnabled"))
1238
+ ProtectedTask.add_member(:expiration_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "expirationDate"))
1239
+ ProtectedTask.struct_class = Types::ProtectedTask
1240
+
1241
+ ProtectedTasks.member = Shapes::ShapeRef.new(shape: ProtectedTask)
1242
+
1162
1243
  ProxyConfiguration.add_member(:type, Shapes::ShapeRef.new(shape: ProxyConfigurationType, location_name: "type"))
1163
1244
  ProxyConfiguration.add_member(:container_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "containerName"))
1164
1245
  ProxyConfiguration.add_member(:properties, Shapes::ShapeRef.new(shape: ProxyConfigurationProperties, location_name: "properties"))
@@ -1331,6 +1412,32 @@ module Aws::ECS
1331
1412
  Service.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableExecuteCommand"))
1332
1413
  Service.struct_class = Types::Service
1333
1414
 
1415
+ ServiceConnectClientAlias.add_member(:port, Shapes::ShapeRef.new(shape: PortNumber, required: true, location_name: "port"))
1416
+ ServiceConnectClientAlias.add_member(:dns_name, Shapes::ShapeRef.new(shape: String, location_name: "dnsName"))
1417
+ ServiceConnectClientAlias.struct_class = Types::ServiceConnectClientAlias
1418
+
1419
+ ServiceConnectClientAliasList.member = Shapes::ShapeRef.new(shape: ServiceConnectClientAlias)
1420
+
1421
+ ServiceConnectConfiguration.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "enabled"))
1422
+ ServiceConnectConfiguration.add_member(:namespace, Shapes::ShapeRef.new(shape: String, location_name: "namespace"))
1423
+ ServiceConnectConfiguration.add_member(:services, Shapes::ShapeRef.new(shape: ServiceConnectServiceList, location_name: "services"))
1424
+ ServiceConnectConfiguration.add_member(:log_configuration, Shapes::ShapeRef.new(shape: LogConfiguration, location_name: "logConfiguration"))
1425
+ ServiceConnectConfiguration.struct_class = Types::ServiceConnectConfiguration
1426
+
1427
+ ServiceConnectService.add_member(:port_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "portName"))
1428
+ ServiceConnectService.add_member(:discovery_name, Shapes::ShapeRef.new(shape: String, location_name: "discoveryName"))
1429
+ ServiceConnectService.add_member(:client_aliases, Shapes::ShapeRef.new(shape: ServiceConnectClientAliasList, location_name: "clientAliases"))
1430
+ ServiceConnectService.add_member(:ingress_port_override, Shapes::ShapeRef.new(shape: PortNumber, location_name: "ingressPortOverride"))
1431
+ ServiceConnectService.struct_class = Types::ServiceConnectService
1432
+
1433
+ ServiceConnectServiceList.member = Shapes::ShapeRef.new(shape: ServiceConnectService)
1434
+
1435
+ ServiceConnectServiceResource.add_member(:discovery_name, Shapes::ShapeRef.new(shape: String, location_name: "discoveryName"))
1436
+ ServiceConnectServiceResource.add_member(:discovery_arn, Shapes::ShapeRef.new(shape: String, location_name: "discoveryArn"))
1437
+ ServiceConnectServiceResource.struct_class = Types::ServiceConnectServiceResource
1438
+
1439
+ ServiceConnectServiceResourceList.member = Shapes::ShapeRef.new(shape: ServiceConnectServiceResource)
1440
+
1334
1441
  ServiceEvent.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
1335
1442
  ServiceEvent.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdAt"))
1336
1443
  ServiceEvent.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
@@ -1524,6 +1631,8 @@ module Aws::ECS
1524
1631
 
1525
1632
  TaskDefinitionFieldList.member = Shapes::ShapeRef.new(shape: TaskDefinitionField)
1526
1633
 
1634
+ TaskDefinitionList.member = Shapes::ShapeRef.new(shape: TaskDefinition)
1635
+
1527
1636
  TaskDefinitionPlacementConstraint.add_member(:type, Shapes::ShapeRef.new(shape: TaskDefinitionPlacementConstraintType, location_name: "type"))
1528
1637
  TaskDefinitionPlacementConstraint.add_member(:expression, Shapes::ShapeRef.new(shape: String, location_name: "expression"))
1529
1638
  TaskDefinitionPlacementConstraint.struct_class = Types::TaskDefinitionPlacementConstraint
@@ -1607,6 +1716,7 @@ module Aws::ECS
1607
1716
  UpdateClusterRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
1608
1717
  UpdateClusterRequest.add_member(:settings, Shapes::ShapeRef.new(shape: ClusterSettings, location_name: "settings"))
1609
1718
  UpdateClusterRequest.add_member(:configuration, Shapes::ShapeRef.new(shape: ClusterConfiguration, location_name: "configuration"))
1719
+ UpdateClusterRequest.add_member(:service_connect_defaults, Shapes::ShapeRef.new(shape: ClusterServiceConnectDefaultsRequest, location_name: "serviceConnectDefaults"))
1610
1720
  UpdateClusterRequest.struct_class = Types::UpdateClusterRequest
1611
1721
 
1612
1722
  UpdateClusterResponse.add_member(:cluster, Shapes::ShapeRef.new(shape: Cluster, location_name: "cluster"))
@@ -1658,11 +1768,26 @@ module Aws::ECS
1658
1768
  UpdateServiceRequest.add_member(:force_new_deployment, Shapes::ShapeRef.new(shape: Boolean, location_name: "forceNewDeployment"))
1659
1769
  UpdateServiceRequest.add_member(:health_check_grace_period_seconds, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "healthCheckGracePeriodSeconds"))
1660
1770
  UpdateServiceRequest.add_member(:enable_execute_command, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "enableExecuteCommand"))
1771
+ UpdateServiceRequest.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "enableECSManagedTags"))
1772
+ UpdateServiceRequest.add_member(:load_balancers, Shapes::ShapeRef.new(shape: LoadBalancers, location_name: "loadBalancers"))
1773
+ UpdateServiceRequest.add_member(:propagate_tags, Shapes::ShapeRef.new(shape: PropagateTags, location_name: "propagateTags"))
1774
+ UpdateServiceRequest.add_member(:service_registries, Shapes::ShapeRef.new(shape: ServiceRegistries, location_name: "serviceRegistries"))
1775
+ UpdateServiceRequest.add_member(:service_connect_configuration, Shapes::ShapeRef.new(shape: ServiceConnectConfiguration, location_name: "serviceConnectConfiguration"))
1661
1776
  UpdateServiceRequest.struct_class = Types::UpdateServiceRequest
1662
1777
 
1663
1778
  UpdateServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
1664
1779
  UpdateServiceResponse.struct_class = Types::UpdateServiceResponse
1665
1780
 
1781
+ UpdateTaskProtectionRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
1782
+ UpdateTaskProtectionRequest.add_member(:tasks, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "tasks"))
1783
+ UpdateTaskProtectionRequest.add_member(:protection_enabled, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "protectionEnabled"))
1784
+ UpdateTaskProtectionRequest.add_member(:expires_in_minutes, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "expiresInMinutes"))
1785
+ UpdateTaskProtectionRequest.struct_class = Types::UpdateTaskProtectionRequest
1786
+
1787
+ UpdateTaskProtectionResponse.add_member(:protected_tasks, Shapes::ShapeRef.new(shape: ProtectedTasks, location_name: "protectedTasks"))
1788
+ UpdateTaskProtectionResponse.add_member(:failures, Shapes::ShapeRef.new(shape: Failures, location_name: "failures"))
1789
+ UpdateTaskProtectionResponse.struct_class = Types::UpdateTaskProtectionResponse
1790
+
1666
1791
  UpdateTaskSetRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
1667
1792
  UpdateTaskSetRequest.add_member(:service, Shapes::ShapeRef.new(shape: String, required: true, location_name: "service"))
1668
1793
  UpdateTaskSetRequest.add_member(:task_set, Shapes::ShapeRef.new(shape: String, required: true, location_name: "taskSet"))
@@ -1733,6 +1858,7 @@ module Aws::ECS
1733
1858
  o.errors << Shapes::ShapeRef.new(shape: ServerException)
1734
1859
  o.errors << Shapes::ShapeRef.new(shape: ClientException)
1735
1860
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1861
+ o.errors << Shapes::ShapeRef.new(shape: NamespaceNotFoundException)
1736
1862
  end)
1737
1863
 
1738
1864
  api.add_operation(:create_service, Seahorse::Model::Operation.new.tap do |o|
@@ -1749,6 +1875,7 @@ module Aws::ECS
1749
1875
  o.errors << Shapes::ShapeRef.new(shape: PlatformUnknownException)
1750
1876
  o.errors << Shapes::ShapeRef.new(shape: PlatformTaskDefinitionIncompatibilityException)
1751
1877
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1878
+ o.errors << Shapes::ShapeRef.new(shape: NamespaceNotFoundException)
1752
1879
  end)
1753
1880
 
1754
1881
  api.add_operation(:create_task_set, Seahorse::Model::Operation.new.tap do |o|
@@ -1767,6 +1894,7 @@ module Aws::ECS
1767
1894
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1768
1895
  o.errors << Shapes::ShapeRef.new(shape: ServiceNotFoundException)
1769
1896
  o.errors << Shapes::ShapeRef.new(shape: ServiceNotActiveException)
1897
+ o.errors << Shapes::ShapeRef.new(shape: NamespaceNotFoundException)
1770
1898
  end)
1771
1899
 
1772
1900
  api.add_operation(:delete_account_setting, Seahorse::Model::Operation.new.tap do |o|
@@ -1831,6 +1959,18 @@ module Aws::ECS
1831
1959
  o.errors << Shapes::ShapeRef.new(shape: ServiceNotFoundException)
1832
1960
  end)
1833
1961
 
1962
+ api.add_operation(:delete_task_definitions, Seahorse::Model::Operation.new.tap do |o|
1963
+ o.name = "DeleteTaskDefinitions"
1964
+ o.http_method = "POST"
1965
+ o.http_request_uri = "/"
1966
+ o.input = Shapes::ShapeRef.new(shape: DeleteTaskDefinitionsRequest)
1967
+ o.output = Shapes::ShapeRef.new(shape: DeleteTaskDefinitionsResponse)
1968
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1969
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1970
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1971
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
1972
+ end)
1973
+
1834
1974
  api.add_operation(:delete_task_set, Seahorse::Model::Operation.new.tap do |o|
1835
1975
  o.name = "DeleteTaskSet"
1836
1976
  o.http_method = "POST"
@@ -1980,6 +2120,21 @@ module Aws::ECS
1980
2120
  o.errors << Shapes::ShapeRef.new(shape: TargetNotConnectedException)
1981
2121
  end)
1982
2122
 
2123
+ api.add_operation(:get_task_protection, Seahorse::Model::Operation.new.tap do |o|
2124
+ o.name = "GetTaskProtection"
2125
+ o.http_method = "POST"
2126
+ o.http_request_uri = "/"
2127
+ o.input = Shapes::ShapeRef.new(shape: GetTaskProtectionRequest)
2128
+ o.output = Shapes::ShapeRef.new(shape: GetTaskProtectionResponse)
2129
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2130
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
2131
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
2132
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2133
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2134
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
2135
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedFeatureException)
2136
+ end)
2137
+
1983
2138
  api.add_operation(:list_account_settings, Seahorse::Model::Operation.new.tap do |o|
1984
2139
  o.name = "ListAccountSettings"
1985
2140
  o.http_method = "POST"
@@ -2066,6 +2221,24 @@ module Aws::ECS
2066
2221
  )
2067
2222
  end)
2068
2223
 
2224
+ api.add_operation(:list_services_by_namespace, Seahorse::Model::Operation.new.tap do |o|
2225
+ o.name = "ListServicesByNamespace"
2226
+ o.http_method = "POST"
2227
+ o.http_request_uri = "/"
2228
+ o.input = Shapes::ShapeRef.new(shape: ListServicesByNamespaceRequest)
2229
+ o.output = Shapes::ShapeRef.new(shape: ListServicesByNamespaceResponse)
2230
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
2231
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
2232
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2233
+ o.errors << Shapes::ShapeRef.new(shape: NamespaceNotFoundException)
2234
+ o[:pager] = Aws::Pager.new(
2235
+ limit_key: "max_results",
2236
+ tokens: {
2237
+ "next_token" => "next_token"
2238
+ }
2239
+ )
2240
+ end)
2241
+
2069
2242
  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
2070
2243
  o.name = "ListTagsForResource"
2071
2244
  o.http_method = "POST"
@@ -2324,6 +2497,7 @@ module Aws::ECS
2324
2497
  o.errors << Shapes::ShapeRef.new(shape: ClientException)
2325
2498
  o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
2326
2499
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2500
+ o.errors << Shapes::ShapeRef.new(shape: NamespaceNotFoundException)
2327
2501
  end)
2328
2502
 
2329
2503
  api.add_operation(:update_cluster_settings, Seahorse::Model::Operation.new.tap do |o|
@@ -2380,6 +2554,7 @@ module Aws::ECS
2380
2554
  o.errors << Shapes::ShapeRef.new(shape: PlatformUnknownException)
2381
2555
  o.errors << Shapes::ShapeRef.new(shape: PlatformTaskDefinitionIncompatibilityException)
2382
2556
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2557
+ o.errors << Shapes::ShapeRef.new(shape: NamespaceNotFoundException)
2383
2558
  end)
2384
2559
 
2385
2560
  api.add_operation(:update_service_primary_task_set, Seahorse::Model::Operation.new.tap do |o|
@@ -2399,6 +2574,21 @@ module Aws::ECS
2399
2574
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2400
2575
  end)
2401
2576
 
2577
+ api.add_operation(:update_task_protection, Seahorse::Model::Operation.new.tap do |o|
2578
+ o.name = "UpdateTaskProtection"
2579
+ o.http_method = "POST"
2580
+ o.http_request_uri = "/"
2581
+ o.input = Shapes::ShapeRef.new(shape: UpdateTaskProtectionRequest)
2582
+ o.output = Shapes::ShapeRef.new(shape: UpdateTaskProtectionResponse)
2583
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
2584
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
2585
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
2586
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
2587
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
2588
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
2589
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedFeatureException)
2590
+ end)
2591
+
2402
2592
  api.add_operation(:update_task_set, Seahorse::Model::Operation.new.tap do |o|
2403
2593
  o.name = "UpdateTaskSet"
2404
2594
  o.http_method = "POST"
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::ECS
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::ECS
11
+ class EndpointProvider
12
+ def resolve_endpoint(parameters)
13
+ region = parameters.region
14
+ use_dual_stack = parameters.use_dual_stack
15
+ use_fips = parameters.use_fips
16
+ endpoint = parameters.endpoint
17
+ if Aws::Endpoints::Matchers.set?(endpoint)
18
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
20
+ end
21
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
+ end
24
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
25
+ end
26
+ if Aws::Endpoints::Matchers.set?(region)
27
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
+ return Aws::Endpoints::Endpoint.new(url: "https://ecs-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
+ end
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
+ end
34
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
36
+ return Aws::Endpoints::Endpoint.new(url: "https://ecs-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
+ end
38
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
39
+ end
40
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
41
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
42
+ return Aws::Endpoints::Endpoint.new(url: "https://ecs.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
43
+ end
44
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
45
+ end
46
+ return Aws::Endpoints::Endpoint.new(url: "https://ecs.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
47
+ end
48
+ end
49
+ raise ArgumentError, "Invalid Configuration: Missing Region"
50
+ raise ArgumentError, 'No endpoint could be resolved'
51
+
52
+ end
53
+ end
54
+ end