Repository: getmoto/moto
Pull request #8487 (2025-01-13 19:33:37)

Glue: get_dev_endpoints, create_dev_endpoint, get_dev_endpoint
Issue: https://github.com/getmoto/moto/issues/8488#issue-2785343083

New Boto Methods Added
- get_dev_endpoints()
- create_dev_endpoint()
- get_dev_endpoints()


Patch:
diff --git a/docs/docs/services/glue.rst b/docs/docs/services/glue.rst
index eaa5a75c8..fd4761bf3 100644
--- a/docs/docs/services/glue.rst
+++ b/docs/docs/services/glue.rst
@@ -46,7 +46,7 @@ glue
 - [ ] create_custom_entity_type
 - [ ] create_data_quality_ruleset
 - [X] create_database
-- [ ] create_dev_endpoint
+- [X] create_dev_endpoint
 - [ ] create_integration
 - [ ] create_integration_resource_property
 - [ ] create_integration_table_properties
@@ -133,8 +133,8 @@ glue
 - [X] get_database
 - [X] get_databases
 - [ ] get_dataflow_graph
-- [ ] get_dev_endpoint
-- [ ] get_dev_endpoints
+- [X] get_dev_endpoint
+- [X] get_dev_endpoints
 - [ ] get_entity_records
 - [ ] get_integration_resource_property
 - [ ] get_integration_table_properties
diff --git a/moto/acm/models.py b/moto/acm/models.py
index a963cd827..b2aa1e493 100644
--- a/moto/acm/models.py
+++ b/moto/acm/models.py
@@ -369,8 +369,11 @@ class CertBundle(BaseModel):
 
         domain_name_status = "SUCCESS" if self.status == "ISSUED" else self.status
         for san in domain_names:
+            # https://docs.aws.amazon.com/acm/latest/userguide/dns-validation.html
+            # Record name usually follows the SAN - except when the SAN starts with an asterisk
+            rr_name = f"_d930b28be6c5927595552b219965053e.{san[2:] if san.startswith('*.') else san}."
             resource_record = {
-                "Name": f"_d930b28be6c5927595552b219965053e.{san}.",
+                "Name": rr_name,
                 "Type": "CNAME",
                 "Value": "_c9edd76ee4a0e2a74388032f3861cc50.ykybfrwcxw.acm-validations.aws.",
             }
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-northeast-2.json b/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-northeast-2.json
index b053cdf76..637f561d9 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-northeast-2.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-northeast-2.json
@@ -5319,6 +5319,42 @@
   "InstanceType": "c6i.xlarge",
   "Location": "apne2-az4"
  },
+ {
+  "InstanceType": "c7g.12xlarge",
+  "Location": "apne2-az4"
+ },
+ {
+  "InstanceType": "c7g.16xlarge",
+  "Location": "apne2-az4"
+ },
+ {
+  "InstanceType": "c7g.2xlarge",
+  "Location": "apne2-az4"
+ },
+ {
+  "InstanceType": "c7g.4xlarge",
+  "Location": "apne2-az4"
+ },
+ {
+  "InstanceType": "c7g.8xlarge",
+  "Location": "apne2-az4"
+ },
+ {
+  "InstanceType": "c7g.large",
+  "Location": "apne2-az4"
+ },
+ {
+  "InstanceType": "c7g.medium",
+  "Location": "apne2-az4"
+ },
+ {
+  "InstanceType": "c7g.metal",
+  "Location": "apne2-az4"
+ },
+ {
+  "InstanceType": "c7g.xlarge",
+  "Location": "apne2-az4"
+ },
  {
   "InstanceType": "c7i-flex.2xlarge",
   "Location": "apne2-az4"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-south-2.json b/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-south-2.json
index 478a60f36..e4f35ad39 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-south-2.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-south-2.json
@@ -367,6 +367,54 @@
   "InstanceType": "c7i.xlarge",
   "Location": "eus2-az1"
  },
+ {
+  "InstanceType": "c8g.12xlarge",
+  "Location": "eus2-az1"
+ },
+ {
+  "InstanceType": "c8g.16xlarge",
+  "Location": "eus2-az1"
+ },
+ {
+  "InstanceType": "c8g.24xlarge",
+  "Location": "eus2-az1"
+ },
+ {
+  "InstanceType": "c8g.2xlarge",
+  "Location": "eus2-az1"
+ },
+ {
+  "InstanceType": "c8g.48xlarge",
+  "Location": "eus2-az1"
+ },
+ {
+  "InstanceType": "c8g.4xlarge",
+  "Location": "eus2-az1"
+ },
+ {
+  "InstanceType": "c8g.8xlarge",
+  "Location": "eus2-az1"
+ },
+ {
+  "InstanceType": "c8g.large",
+  "Location": "eus2-az1"
+ },
+ {
+  "InstanceType": "c8g.medium",
+  "Location": "eus2-az1"
+ },
+ {
+  "InstanceType": "c8g.metal-24xl",
+  "Location": "eus2-az1"
+ },
+ {
+  "InstanceType": "c8g.metal-48xl",
+  "Location": "eus2-az1"
+ },
+ {
+  "InstanceType": "c8g.xlarge",
+  "Location": "eus2-az1"
+ },
  {
   "InstanceType": "g5g.16xlarge",
   "Location": "eus2-az1"
@@ -1755,6 +1803,54 @@
   "InstanceType": "c7i.xlarge",
   "Location": "eus2-az2"
  },
+ {
+  "InstanceType": "c8g.12xlarge",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "c8g.16xlarge",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "c8g.24xlarge",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "c8g.2xlarge",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "c8g.48xlarge",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "c8g.4xlarge",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "c8g.8xlarge",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "c8g.large",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "c8g.medium",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "c8g.metal-24xl",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "c8g.metal-48xl",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "c8g.xlarge",
+  "Location": "eus2-az2"
+ },
  {
   "InstanceType": "g6.12xlarge",
   "Location": "eus2-az2"
@@ -3115,6 +3211,54 @@
   "InstanceType": "c7i.xlarge",
   "Location": "eus2-az3"
  },
+ {
+  "InstanceType": "c8g.12xlarge",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "c8g.16xlarge",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "c8g.24xlarge",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "c8g.2xlarge",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "c8g.48xlarge",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "c8g.4xlarge",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "c8g.8xlarge",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "c8g.large",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "c8g.medium",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "c8g.metal-24xl",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "c8g.metal-48xl",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "c8g.xlarge",
+  "Location": "eus2-az3"
+ },
  {
   "InstanceType": "g6.12xlarge",
   "Location": "eus2-az3"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-west-1.json b/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-west-1.json
index 5cc66a5c9..baf744f52 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-west-1.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-west-1.json
@@ -723,6 +723,54 @@
   "InstanceType": "c7i.xlarge",
   "Location": "euw1-az1"
  },
+ {
+  "InstanceType": "c8g.12xlarge",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "c8g.16xlarge",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "c8g.24xlarge",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "c8g.2xlarge",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "c8g.48xlarge",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "c8g.4xlarge",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "c8g.8xlarge",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "c8g.large",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "c8g.medium",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "c8g.metal-24xl",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "c8g.metal-48xl",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "c8g.xlarge",
+  "Location": "euw1-az1"
+ },
  {
   "InstanceType": "d2.2xlarge",
   "Location": "euw1-az1"
@@ -3763,6 +3811,54 @@
   "InstanceType": "c7i.xlarge",
   "Location": "euw1-az2"
  },
+ {
+  "InstanceType": "c8g.12xlarge",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "c8g.16xlarge",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "c8g.24xlarge",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "c8g.2xlarge",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "c8g.48xlarge",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "c8g.4xlarge",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "c8g.8xlarge",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "c8g.large",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "c8g.medium",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "c8g.metal-24xl",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "c8g.metal-48xl",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "c8g.xlarge",
+  "Location": "euw1-az2"
+ },
  {
   "InstanceType": "d2.2xlarge",
   "Location": "euw1-az2"
@@ -6783,6 +6879,54 @@
   "InstanceType": "c7i.xlarge",
   "Location": "euw1-az3"
  },
+ {
+  "InstanceType": "c8g.12xlarge",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "c8g.16xlarge",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "c8g.24xlarge",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "c8g.2xlarge",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "c8g.48xlarge",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "c8g.4xlarge",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "c8g.8xlarge",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "c8g.large",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "c8g.medium",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "c8g.metal-24xl",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "c8g.metal-48xl",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "c8g.xlarge",
+  "Location": "euw1-az3"
+ },
  {
   "InstanceType": "d2.2xlarge",
   "Location": "euw1-az3"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone-id/us-east-1.json b/moto/ec2/resources/instance_type_offerings/availability-zone-id/us-east-1.json
index f8e4fef13..0c24d4986 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone-id/us-east-1.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone-id/us-east-1.json
@@ -10811,6 +10811,54 @@
   "InstanceType": "c7i.xlarge",
   "Location": "use1-az5"
  },
+ {
+  "InstanceType": "c8g.12xlarge",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "c8g.16xlarge",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "c8g.24xlarge",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "c8g.2xlarge",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "c8g.48xlarge",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "c8g.4xlarge",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "c8g.8xlarge",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "c8g.large",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "c8g.medium",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "c8g.metal-24xl",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "c8g.metal-48xl",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "c8g.xlarge",
+  "Location": "use1-az5"
+ },
  {
   "InstanceType": "d2.2xlarge",
   "Location": "use1-az5"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone/ap-northeast-2.json b/moto/ec2/resources/instance_type_offerings/availability-zone/ap-northeast-2.json
index 92ef19e28..f7d1beebd 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone/ap-northeast-2.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone/ap-northeast-2.json
@@ -5319,6 +5319,42 @@
   "InstanceType": "c6i.xlarge",
   "Location": "ap-northeast-2d"
  },
+ {
+  "InstanceType": "c7g.12xlarge",
+  "Location": "ap-northeast-2d"
+ },
+ {
+  "InstanceType": "c7g.16xlarge",
+  "Location": "ap-northeast-2d"
+ },
+ {
+  "InstanceType": "c7g.2xlarge",
+  "Location": "ap-northeast-2d"
+ },
+ {
+  "InstanceType": "c7g.4xlarge",
+  "Location": "ap-northeast-2d"
+ },
+ {
+  "InstanceType": "c7g.8xlarge",
+  "Location": "ap-northeast-2d"
+ },
+ {
+  "InstanceType": "c7g.large",
+  "Location": "ap-northeast-2d"
+ },
+ {
+  "InstanceType": "c7g.medium",
+  "Location": "ap-northeast-2d"
+ },
+ {
+  "InstanceType": "c7g.metal",
+  "Location": "ap-northeast-2d"
+ },
+ {
+  "InstanceType": "c7g.xlarge",
+  "Location": "ap-northeast-2d"
+ },
  {
   "InstanceType": "c7i-flex.2xlarge",
   "Location": "ap-northeast-2d"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone/eu-south-2.json b/moto/ec2/resources/instance_type_offerings/availability-zone/eu-south-2.json
index 8e366820d..ccacec250 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone/eu-south-2.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone/eu-south-2.json
@@ -367,6 +367,54 @@
   "InstanceType": "c7i.xlarge",
   "Location": "eu-south-2a"
  },
+ {
+  "InstanceType": "c8g.12xlarge",
+  "Location": "eu-south-2a"
+ },
+ {
+  "InstanceType": "c8g.16xlarge",
+  "Location": "eu-south-2a"
+ },
+ {
+  "InstanceType": "c8g.24xlarge",
+  "Location": "eu-south-2a"
+ },
+ {
+  "InstanceType": "c8g.2xlarge",
+  "Location": "eu-south-2a"
+ },
+ {
+  "InstanceType": "c8g.48xlarge",
+  "Location": "eu-south-2a"
+ },
+ {
+  "InstanceType": "c8g.4xlarge",
+  "Location": "eu-south-2a"
+ },
+ {
+  "InstanceType": "c8g.8xlarge",
+  "Location": "eu-south-2a"
+ },
+ {
+  "InstanceType": "c8g.large",
+  "Location": "eu-south-2a"
+ },
+ {
+  "InstanceType": "c8g.medium",
+  "Location": "eu-south-2a"
+ },
+ {
+  "InstanceType": "c8g.metal-24xl",
+  "Location": "eu-south-2a"
+ },
+ {
+  "InstanceType": "c8g.metal-48xl",
+  "Location": "eu-south-2a"
+ },
+ {
+  "InstanceType": "c8g.xlarge",
+  "Location": "eu-south-2a"
+ },
  {
   "InstanceType": "g5g.16xlarge",
   "Location": "eu-south-2a"
@@ -1755,6 +1803,54 @@
   "InstanceType": "c7i.xlarge",
   "Location": "eu-south-2b"
  },
+ {
+  "InstanceType": "c8g.12xlarge",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "c8g.16xlarge",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "c8g.24xlarge",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "c8g.2xlarge",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "c8g.48xlarge",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "c8g.4xlarge",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "c8g.8xlarge",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "c8g.large",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "c8g.medium",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "c8g.metal-24xl",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "c8g.metal-48xl",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "c8g.xlarge",
+  "Location": "eu-south-2b"
+ },
  {
   "InstanceType": "g6.12xlarge",
   "Location": "eu-south-2b"
@@ -3115,6 +3211,54 @@
   "InstanceType": "c7i.xlarge",
   "Location": "eu-south-2c"
  },
+ {
+  "InstanceType": "c8g.12xlarge",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "c8g.16xlarge",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "c8g.24xlarge",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "c8g.2xlarge",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "c8g.48xlarge",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "c8g.4xlarge",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "c8g.8xlarge",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "c8g.large",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "c8g.medium",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "c8g.metal-24xl",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "c8g.metal-48xl",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "c8g.xlarge",
+  "Location": "eu-south-2c"
+ },
  {
   "InstanceType": "g6.12xlarge",
   "Location": "eu-south-2c"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone/eu-west-1.json b/moto/ec2/resources/instance_type_offerings/availability-zone/eu-west-1.json
index 964b78cae..0323cce8a 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone/eu-west-1.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone/eu-west-1.json
@@ -699,6 +699,54 @@
   "InstanceType": "c7i.xlarge",
   "Location": "eu-west-1a"
  },
+ {
+  "InstanceType": "c8g.12xlarge",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "c8g.16xlarge",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "c8g.24xlarge",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "c8g.2xlarge",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "c8g.48xlarge",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "c8g.4xlarge",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "c8g.8xlarge",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "c8g.large",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "c8g.medium",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "c8g.metal-24xl",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "c8g.metal-48xl",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "c8g.xlarge",
+  "Location": "eu-west-1a"
+ },
  {
   "InstanceType": "d2.2xlarge",
   "Location": "eu-west-1a"
@@ -3671,6 +3719,54 @@
   "InstanceType": "c7i.xlarge",
   "Location": "eu-west-1b"
  },
+ {
+  "InstanceType": "c8g.12xlarge",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "c8g.16xlarge",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "c8g.24xlarge",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "c8g.2xlarge",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "c8g.48xlarge",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "c8g.4xlarge",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "c8g.8xlarge",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "c8g.large",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "c8g.medium",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "c8g.metal-24xl",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "c8g.metal-48xl",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "c8g.xlarge",
+  "Location": "eu-west-1b"
+ },
  {
   "InstanceType": "d2.2xlarge",
   "Location": "eu-west-1b"
@@ -6711,6 +6807,54 @@
   "InstanceType": "c7i.xlarge",
   "Location": "eu-west-1c"
  },
+ {
+  "InstanceType": "c8g.12xlarge",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "c8g.16xlarge",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "c8g.24xlarge",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "c8g.2xlarge",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "c8g.48xlarge",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "c8g.4xlarge",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "c8g.8xlarge",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "c8g.large",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "c8g.medium",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "c8g.metal-24xl",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "c8g.metal-48xl",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "c8g.xlarge",
+  "Location": "eu-west-1c"
+ },
  {
   "InstanceType": "d2.2xlarge",
   "Location": "eu-west-1c"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone/us-east-1.json b/moto/ec2/resources/instance_type_offerings/availability-zone/us-east-1.json
index 8930d4e88..29087f676 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone/us-east-1.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone/us-east-1.json
@@ -14211,6 +14211,54 @@
   "InstanceType": "c7i.xlarge",
   "Location": "us-east-1f"
  },
+ {
+  "InstanceType": "c8g.12xlarge",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "c8g.16xlarge",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "c8g.24xlarge",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "c8g.2xlarge",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "c8g.48xlarge",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "c8g.4xlarge",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "c8g.8xlarge",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "c8g.large",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "c8g.medium",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "c8g.metal-24xl",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "c8g.metal-48xl",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "c8g.xlarge",
+  "Location": "us-east-1f"
+ },
  {
   "InstanceType": "d2.2xlarge",
   "Location": "us-east-1f"
diff --git a/moto/ec2/resources/instance_type_offerings/region/eu-south-2.json b/moto/ec2/resources/instance_type_offerings/region/eu-south-2.json
index 4c8ddb9f7..54dbeadf1 100644
--- a/moto/ec2/resources/instance_type_offerings/region/eu-south-2.json
+++ b/moto/ec2/resources/instance_type_offerings/region/eu-south-2.json
@@ -367,6 +367,54 @@
   "InstanceType": "c7i.xlarge",
   "Location": "eu-south-2"
  },
+ {
+  "InstanceType": "c8g.12xlarge",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "c8g.16xlarge",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "c8g.24xlarge",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "c8g.2xlarge",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "c8g.48xlarge",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "c8g.4xlarge",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "c8g.8xlarge",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "c8g.large",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "c8g.medium",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "c8g.metal-24xl",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "c8g.metal-48xl",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "c8g.xlarge",
+  "Location": "eu-south-2"
+ },
  {
   "InstanceType": "g5g.16xlarge",
   "Location": "eu-south-2"
diff --git a/moto/ec2/resources/instance_type_offerings/region/eu-west-1.json b/moto/ec2/resources/instance_type_offerings/region/eu-west-1.json
index 8d5345d00..aaef7382a 100644
--- a/moto/ec2/resources/instance_type_offerings/region/eu-west-1.json
+++ b/moto/ec2/resources/instance_type_offerings/region/eu-west-1.json
@@ -723,6 +723,54 @@
   "InstanceType": "c7i.xlarge",
   "Location": "eu-west-1"
  },
+ {
+  "InstanceType": "c8g.12xlarge",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "c8g.16xlarge",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "c8g.24xlarge",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "c8g.2xlarge",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "c8g.48xlarge",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "c8g.4xlarge",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "c8g.8xlarge",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "c8g.large",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "c8g.medium",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "c8g.metal-24xl",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "c8g.metal-48xl",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "c8g.xlarge",
+  "Location": "eu-west-1"
+ },
  {
   "InstanceType": "d2.2xlarge",
   "Location": "eu-west-1"
diff --git a/moto/ec2/resources/instance_types.json b/moto/ec2/resources/instance_types.json
index ddb149095..0b0f1a291 100644
--- a/moto/ec2/resources/instance_types.json
+++ b/moto/ec2/resources/instance_types.json
@@ -36287,7 +36287,7 @@
      "PeakBandwidthInGbps": 37.5
     }
    ],
-   "NetworkPerformance": "37.5 Gigabit"
+   "NetworkPerformance": "Up to 37.5 Gigabit"
   },
   "NitroEnclavesSupport": "supported",
   "NitroTpmInfo": {
diff --git a/moto/es/models.py b/moto/es/models.py
index 4cc65d6fb..729a63f72 100644
--- a/moto/es/models.py
+++ b/moto/es/models.py
@@ -1,155 +1,10 @@
-from typing import Any, Dict, List
-
 from moto.core.base_backend import BackendDict, BaseBackend
-from moto.core.common_models import BaseModel
-from moto.moto_api._internal import mock_random
-from moto.utilities.utils import get_partition
-
-from .exceptions import DomainNotFound
-
-
-class Domain(BaseModel):
-    def __init__(
-        self,
-        region_name: str,
-        domain_name: str,
-        es_version: str,
-        elasticsearch_cluster_config: Dict[str, Any],
-        ebs_options: Dict[str, Any],
-        access_policies: Dict[str, Any],
-        snapshot_options: Dict[str, Any],
-        vpc_options: Dict[str, Any],
-        cognito_options: Dict[str, Any],
-        encryption_at_rest_options: Dict[str, Any],
-        node_to_node_encryption_options: Dict[str, Any],
-        advanced_options: Dict[str, Any],
-        log_publishing_options: Dict[str, Any],
-        domain_endpoint_options: Dict[str, Any],
-        advanced_security_options: Dict[str, Any],
-        auto_tune_options: Dict[str, Any],
-    ):
-        self.domain_id = mock_random.get_random_hex(8)
-        self.region_name = region_name
-        self.domain_name = domain_name
-        self.es_version = es_version
-        self.elasticsearch_cluster_config = elasticsearch_cluster_config
-        self.ebs_options = ebs_options
-        self.access_policies = access_policies
-        self.snapshot_options = snapshot_options
-        self.vpc_options = vpc_options
-        self.cognito_options = cognito_options
-        self.encryption_at_rest_options = encryption_at_rest_options
-        self.node_to_node_encryption_options = node_to_node_encryption_options
-        self.advanced_options = advanced_options
-        self.log_publishing_options = log_publishing_options
-        self.domain_endpoint_options = domain_endpoint_options
-        self.advanced_security_options = advanced_security_options
-        self.auto_tune_options = auto_tune_options
-        if self.auto_tune_options:
-            self.auto_tune_options["State"] = "ENABLED"
-
-    @property
-    def arn(self) -> str:
-        return f"arn:{get_partition(self.region_name)}:es:{self.region_name}:domain/{self.domain_id}"
-
-    def to_json(self) -> Dict[str, Any]:
-        return {
-            "DomainId": self.domain_id,
-            "DomainName": self.domain_name,
-            "ARN": self.arn,
-            "Created": True,
-            "Deleted": False,
-            "Processing": False,
-            "UpgradeProcessing": False,
-            "ElasticsearchVersion": self.es_version,
-            "ElasticsearchClusterConfig": self.elasticsearch_cluster_config,
-            "EBSOptions": self.ebs_options,
-            "AccessPolicies": self.access_policies,
-            "SnapshotOptions": self.snapshot_options,
-            "VPCOptions": self.vpc_options,
-            "CognitoOptions": self.cognito_options,
-            "EncryptionAtRestOptions": self.encryption_at_rest_options,
-            "NodeToNodeEncryptionOptions": self.node_to_node_encryption_options,
-            "AdvancedOptions": self.advanced_options,
-            "LogPublishingOptions": self.log_publishing_options,
-            "DomainEndpointOptions": self.domain_endpoint_options,
-            "AdvancedSecurityOptions": self.advanced_security_options,
-            "AutoTuneOptions": self.auto_tune_options,
-        }
 
 
 class ElasticsearchServiceBackend(BaseBackend):
-    """Implementation of ElasticsearchService APIs."""
-
     def __init__(self, region_name: str, account_id: str):
+        # Functionality is part of OpenSearch, as that includes all of ES functionality + more
         super().__init__(region_name, account_id)
-        self.domains: Dict[str, Domain] = dict()
-
-    def create_elasticsearch_domain(
-        self,
-        domain_name: str,
-        elasticsearch_version: str,
-        elasticsearch_cluster_config: Dict[str, Any],
-        ebs_options: Dict[str, Any],
-        access_policies: Dict[str, Any],
-        snapshot_options: Dict[str, Any],
-        vpc_options: Dict[str, Any],
-        cognito_options: Dict[str, Any],
-        encryption_at_rest_options: Dict[str, Any],
-        node_to_node_encryption_options: Dict[str, Any],
-        advanced_options: Dict[str, Any],
-        log_publishing_options: Dict[str, Any],
-        domain_endpoint_options: Dict[str, Any],
-        advanced_security_options: Dict[str, Any],
-        auto_tune_options: Dict[str, Any],
-    ) -> Dict[str, Any]:
-        # TODO: Persist/Return other attributes
-        new_domain = Domain(
-            region_name=self.region_name,
-            domain_name=domain_name,
-            es_version=elasticsearch_version,
-            elasticsearch_cluster_config=elasticsearch_cluster_config,
-            ebs_options=ebs_options,
-            access_policies=access_policies,
-            snapshot_options=snapshot_options,
-            vpc_options=vpc_options,
-            cognito_options=cognito_options,
-            encryption_at_rest_options=encryption_at_rest_options,
-            node_to_node_encryption_options=node_to_node_encryption_options,
-            advanced_options=advanced_options,
-            log_publishing_options=log_publishing_options,
-            domain_endpoint_options=domain_endpoint_options,
-            advanced_security_options=advanced_security_options,
-            auto_tune_options=auto_tune_options,
-        )
-        self.domains[domain_name] = new_domain
-        return new_domain.to_json()
-
-    def delete_elasticsearch_domain(self, domain_name: str) -> None:
-        if domain_name not in self.domains:
-            raise DomainNotFound(domain_name)
-        del self.domains[domain_name]
-
-    def describe_elasticsearch_domain(self, domain_name: str) -> Dict[str, Any]:
-        if domain_name not in self.domains:
-            raise DomainNotFound(domain_name)
-        return self.domains[domain_name].to_json()
-
-    def list_domain_names(self) -> List[Dict[str, str]]:
-        """
-        The engine-type parameter is not yet supported.
-        Pagination is not yet implemented.
-        """
-        return [{"DomainName": domain.domain_name} for domain in self.domains.values()]
-
-    def describe_elasticsearch_domains(
-        self, domain_names: List[str]
-    ) -> List[Dict[str, Any]]:
-        queried_domains = []
-        for domain_name in domain_names:
-            if domain_name in self.domains:
-                queried_domains.append(self.domains[domain_name].to_json())
-        return queried_domains
 
 
 es_backends = BackendDict(ElasticsearchServiceBackend, "es")
diff --git a/moto/es/responses.py b/moto/es/responses.py
deleted file mode 100644
index 35293b33d..000000000
--- a/moto/es/responses.py
+++ /dev/null
@@ -1,107 +0,0 @@
-import json
-import re
-from typing import Any
-
-from moto.core.common_types import TYPE_RESPONSE
-from moto.core.responses import BaseResponse
-
-from .exceptions import InvalidDomainName
-from .models import ElasticsearchServiceBackend, es_backends
-
-
-class ElasticsearchServiceResponse(BaseResponse):
-    """Handler for ElasticsearchService requests and responses."""
-
-    def __init__(self) -> None:
-        super().__init__(service_name="es")
-
-    @property
-    def es_backend(self) -> ElasticsearchServiceBackend:
-        """Return backend instance specific for this region."""
-        return es_backends[self.current_account][self.region]
-
-    @classmethod
-    def list_domains(cls, request: Any, full_url: str, headers: Any) -> TYPE_RESPONSE:  # type: ignore
-        response = ElasticsearchServiceResponse()
-        response.setup_class(request, full_url, headers)
-        if request.method == "GET":
-            return response.list_domain_names()
-
-    @classmethod
-    def domains(cls, request: Any, full_url: str, headers: Any) -> TYPE_RESPONSE:  # type: ignore
-        response = ElasticsearchServiceResponse()
-        response.setup_class(request, full_url, headers)
-        if request.method == "POST":
-            return response.create_elasticsearch_domain()
-
-    @classmethod
-    def domain(cls, request: Any, full_url: str, headers: Any) -> TYPE_RESPONSE:  # type: ignore
-        response = ElasticsearchServiceResponse()
-        response.setup_class(request, full_url, headers)
-        if request.method == "DELETE":
-            return response.delete_elasticsearch_domain()
-        if request.method == "GET":
-            return response.describe_elasticsearch_domain()
-
-    def create_elasticsearch_domain(self) -> TYPE_RESPONSE:
-        params = json.loads(self.body)
-        domain_name = params.get("DomainName")
-        if not re.match(r"^[a-z][a-z0-9\-]+$", domain_name):
-            raise InvalidDomainName(domain_name)
-        elasticsearch_version = params.get("ElasticsearchVersion")
-        elasticsearch_cluster_config = params.get("ElasticsearchClusterConfig")
-        ebs_options = params.get("EBSOptions")
-        access_policies = params.get("AccessPolicies")
-        snapshot_options = params.get("SnapshotOptions")
-        vpc_options = params.get("VPCOptions")
-        cognito_options = params.get("CognitoOptions")
-        encryption_at_rest_options = params.get("EncryptionAtRestOptions")
-        node_to_node_encryption_options = params.get("NodeToNodeEncryptionOptions")
-        advanced_options = params.get("AdvancedOptions")
-        log_publishing_options = params.get("LogPublishingOptions")
-        domain_endpoint_options = params.get("DomainEndpointOptions")
-        advanced_security_options = params.get("AdvancedSecurityOptions")
-        auto_tune_options = params.get("AutoTuneOptions")
-        domain_status = self.es_backend.create_elasticsearch_domain(
-            domain_name=domain_name,
-            elasticsearch_version=elasticsearch_version,
-            elasticsearch_cluster_config=elasticsearch_cluster_config,
-            ebs_options=ebs_options,
-            access_policies=access_policies,
-            snapshot_options=snapshot_options,
-            vpc_options=vpc_options,
-            cognito_options=cognito_options,
-            encryption_at_rest_options=encryption_at_rest_options,
-            node_to_node_encryption_options=node_to_node_encryption_options,
-            advanced_options=advanced_options,
-            log_publishing_options=log_publishing_options,
-            domain_endpoint_options=domain_endpoint_options,
-            advanced_security_options=advanced_security_options,
-            auto_tune_options=auto_tune_options,
-        )
-        return 200, {}, json.dumps({"DomainStatus": domain_status})
-
-    def delete_elasticsearch_domain(self) -> TYPE_RESPONSE:
-        domain_name = self.path.split("/")[-1]
-        self.es_backend.delete_elasticsearch_domain(domain_name=domain_name)
-        return 200, {}, json.dumps(dict())
-
-    def describe_elasticsearch_domain(self) -> TYPE_RESPONSE:
-        domain_name = self.path.split("/")[-1]
-        if not re.match(r"^[a-z][a-z0-9\-]+$", domain_name):
-            raise InvalidDomainName(domain_name)
-        domain_status = self.es_backend.describe_elasticsearch_domain(
-            domain_name=domain_name
-        )
-        return 200, {}, json.dumps({"DomainStatus": domain_status})
-
-    def list_domain_names(self) -> TYPE_RESPONSE:
-        domain_names = self.es_backend.list_domain_names()
-        return 200, {}, json.dumps({"DomainNames": domain_names})
-
-    def describe_elasticsearch_domains(self) -> TYPE_RESPONSE:
-        domain_names = self._get_param("DomainNames")
-        domain_list = self.es_backend.describe_elasticsearch_domains(
-            domain_names=domain_names,
-        )
-        return 200, {}, json.dumps({"DomainStatusList": domain_list})
diff --git a/moto/es/urls.py b/moto/es/urls.py
index fbee7fcb7..4c1ae5294 100644
--- a/moto/es/urls.py
+++ b/moto/es/urls.py
@@ -1,17 +1,15 @@
 from moto.opensearch.responses import OpenSearchServiceResponse
 
-from .responses import ElasticsearchServiceResponse
-
 url_bases = [
     r"https?://es\.(.+)\.amazonaws\.com",
 ]
 
 
 url_paths = {
-    "{0}/2015-01-01/domain$": ElasticsearchServiceResponse.list_domains,
-    "{0}/2015-01-01/es/domain$": ElasticsearchServiceResponse.domains,
-    "{0}/2015-01-01/es/domain/(?P<domainname>[^/]+)": ElasticsearchServiceResponse.domain,
-    "{0}/2015-01-01/es/domain-info$": ElasticsearchServiceResponse.dispatch,
+    "{0}/2015-01-01/domain$": OpenSearchServiceResponse.list_domains,
+    "{0}/2015-01-01/es/domain$": OpenSearchServiceResponse.domains,
+    "{0}/2015-01-01/es/domain/(?P<domainname>[^/]+)": OpenSearchServiceResponse.domain,
+    "{0}/2015-01-01/es/domain-info$": OpenSearchServiceResponse.list_domains,
     "{0}/2021-01-01/domain$": OpenSearchServiceResponse.dispatch,
     "{0}/2021-01-01/opensearch/compatibleVersions": OpenSearchServiceResponse.dispatch,
     "{0}/2021-01-01/opensearch/domain": OpenSearchServiceResponse.dispatch,
diff --git a/moto/glue/models.py b/moto/glue/models.py
index 4b0724e06..e4e0f69ce 100644
--- a/moto/glue/models.py
+++ b/moto/glue/models.py
@@ -15,6 +15,7 @@ from moto.utilities.utils import get_partition
 from ..utilities.paginator import paginate
 from ..utilities.tagging_service import TaggingService
 from .exceptions import (
+    AlreadyExistsException,
     ConcurrentRunsExceededException,
     CrawlerAlreadyExistsException,
     CrawlerNotFoundException,
@@ -22,6 +23,7 @@ from .exceptions import (
     CrawlerRunningException,
     DatabaseAlreadyExistsException,
     DatabaseNotFoundException,
+    EntityNotFoundException,
     IllegalSessionStateException,
     JobNotFoundException,
     JobRunNotFoundException,
@@ -61,6 +63,83 @@ from .glue_schema_registry_utils import (
 from .utils import PartitionFilter
 
 
+class FakeDevEndpoint(BaseModel):
+    def __init__(
+        self,
+        endpoint_name: str,
+        role_arn: str,
+        security_group_ids: List[str],
+        subnet_id: str,
+        worker_type: str = "Standard",
+        glue_version: str = "1.0",
+        number_of_workers: int = 5,
+        number_of_nodes: int = 5,
+        extra_python_libs_s3_path: Optional[str] = None,
+        extra_jars_s3_path: Optional[str] = None,
+        security_configuration: Optional[str] = None,
+        arguments: Optional[Dict[str, str]] = None,
+        tags: Optional[Dict[str, str]] = None,
+    ):
+        pubkey = """ssh-rsa
+        AAAAB3NzaC1yc2EAAAADAQABAAABAQDV5+voluw2zmzqpqCAqtsyoP01TQ8Ydx1eS1yD6wUsHcPqMIqpo57YxiC8XPwrdeKQ6GG6MC3bHsgXoPypGP0LyixbiuLTU31DnnqorcHt4bWs6rQa7dK2pCCflz2fhYRt5ZjqSNsAKivIbqkH66JozN0SySIka3kEV79GdB0BicioKeEJlCwM9vvxafyzjWf/z8E0lh4ni3vkLpIVJ0t5l+Qd9QMJrT6Is0SCQPVagTYZoi8+fWDoGsBa8vyRwDjEzBl28ZplKh9tSyDkRIYszWTpmK8qHiqjLYZBfAxXjGJbEYL1iig4ZxvbYzKEiKSBi1ZMW9iWjHfZDZuxXAmB
+        example
+        """
+
+        self.endpoint_name = endpoint_name
+        self.role_arn = role_arn
+        self.security_group_ids = security_group_ids
+        self.subnet_id = subnet_id
+        self.worker_type = worker_type
+        self.glue_version = glue_version
+        self.number_of_workers = number_of_workers
+        self.number_of_nodes = number_of_nodes
+        self.extra_python_libs_s3_path = extra_python_libs_s3_path
+        self.extra_jars_s3_path = extra_jars_s3_path
+        self.security_configuration = security_configuration
+        self.arguments = arguments or {}
+        self.tags = tags or {}
+
+        # AWS Generated Fields
+        self.created_timestamp = utcnow()
+        self.last_modified_timestamp = self.created_timestamp
+        self.status = "READY"
+        self.availability_zone = "us-east-1a"
+        self.vpc_id = "vpc-12345678"
+        self.yarn_endpoint_address = f"yarn-{endpoint_name}.glue.amazonaws.com"
+        self.private_address = "10.0.0.1"
+        self.public_address = f"{endpoint_name}.glue.amazonaws.com"
+        self.zeppelin_remote_spark_interpreter_port = 9007
+        self.public_key = pubkey
+        self.public_keys = [self.public_key]
+
+    def as_dict(self) -> Dict[str, Any]:
+        return {
+            "EndpointName": self.endpoint_name,
+            "RoleArn": self.role_arn,
+            "SecurityGroupIds": self.security_group_ids,
+            "SubnetId": self.subnet_id,
+            "YarnEndpointAddress": self.yarn_endpoint_address,
+            "PrivateAddress": self.private_address,
+            "ZeppelinRemoteSparkInterpreterPort": self.zeppelin_remote_spark_interpreter_port,
+            "PublicAddress": self.public_address,
+            "Status": self.status,
+            "WorkerType": self.worker_type,
+            "GlueVersion": self.glue_version,
+            "NumberOfWorkers": self.number_of_workers,
+            "NumberOfNodes": self.number_of_nodes,
+            "AvailabilityZone": self.availability_zone,
+            "VpcId": self.vpc_id,
+            "ExtraPythonLibsS3Path": self.extra_python_libs_s3_path,
+            "ExtraJarsS3Path": self.extra_jars_s3_path,
+            "CreatedTimestamp": self.created_timestamp.isoformat(),
+            "LastModifiedTimestamp": self.last_modified_timestamp.isoformat(),
+            "PublicKey": self.public_key,
+            "PublicKeys": self.public_keys,
+            "SecurityConfiguration": self.security_configuration,
+            "Arguments": self.arguments,
+        }
+
+
 class GlueBackend(BaseBackend):
     PAGINATION_MODEL = {
         "get_jobs": {
@@ -99,6 +178,12 @@ class GlueBackend(BaseBackend):
             "limit_default": 100,
             "unique_attribute": "name",
         },
+        "get_dev_endpoints": {
+            "input_token": "next_token",
+            "limit_key": "max_results",
+            "limit_default": 100,
+            "unique_attribute": "endpoint_name",
+        },
     }
 
     def __init__(self, region_name: str, account_id: str):
@@ -113,6 +198,7 @@ class GlueBackend(BaseBackend):
         self.registries: Dict[str, FakeRegistry] = OrderedDict()
         self.num_schemas = 0
         self.num_schema_versions = 0
+        self.dev_endpoints: Dict[str, FakeDevEndpoint] = OrderedDict()
 
     def create_database(
         self,
@@ -1037,6 +1123,62 @@ class GlueBackend(BaseBackend):
                 triggers.append(self.triggers[trigger_name].as_dict())
         return triggers
 
+    @paginate(pagination_model=PAGINATION_MODEL)
+    def get_dev_endpoints(self) -> List["FakeDevEndpoint"]:
+        return [endpoint for endpoint in self.dev_endpoints.values()]
+
+    def create_dev_endpoint(
+        self,
+        endpoint_name: str,
+        role_arn: str,
+        security_group_ids: Optional[List[str]] = None,
+        subnet_id: Optional[str] = None,
+        public_key: Optional[str] = None,
+        public_keys: Optional[List[str]] = None,
+        number_of_nodes: Optional[int] = None,
+        worker_type: str = "Standard",
+        glue_version: str = "5.0",
+        number_of_workers: Optional[int] = None,
+        extra_python_libs_s3_path: Optional[str] = None,
+        extra_jars_s3_path: Optional[str] = None,
+        security_configuration: Optional[str] = None,
+        tags: Optional[Dict[str, str]] = None,
+        arguments: Optional[Dict[str, str]] = None,
+    ) -> FakeDevEndpoint:
+        if endpoint_name in self.dev_endpoints:
+            raise AlreadyExistsException(f"DevEndpoint {endpoint_name} already exists")
+
+        dev_endpoint = FakeDevEndpoint(
+            endpoint_name=endpoint_name,
+            role_arn=role_arn,
+            security_group_ids=security_group_ids or [],
+            subnet_id=subnet_id or "subnet-default",
+            worker_type=worker_type,
+            glue_version=glue_version,
+            number_of_workers=number_of_workers or 1,
+            number_of_nodes=number_of_nodes or 1,
+            extra_python_libs_s3_path=extra_python_libs_s3_path,
+            extra_jars_s3_path=extra_jars_s3_path,
+            security_configuration=security_configuration,
+            arguments=arguments,
+            tags=tags,
+        )
+
+        if public_key:
+            dev_endpoint.public_key = public_key
+
+        if public_keys:
+            dev_endpoint.public_keys = public_keys
+
+        self.dev_endpoints[endpoint_name] = dev_endpoint
+        return dev_endpoint
+
+    def get_dev_endpoint(self, endpoint_name: str) -> FakeDevEndpoint:
+        try:
+            return self.dev_endpoints[endpoint_name]
+        except KeyError:
+            raise EntityNotFoundException(f"DevEndpoint {endpoint_name} not found")
+
 
 class FakeDatabase(BaseModel):
     def __init__(
diff --git a/moto/glue/responses.py b/moto/glue/responses.py
index 0ff012910..91fd74a5c 100644
--- a/moto/glue/responses.py
+++ b/moto/glue/responses.py
@@ -736,3 +736,60 @@ class GlueResponse(BaseResponse):
         name = self.parameters.get("Name")
         self.glue_backend.delete_trigger(name)  # type: ignore[arg-type]
         return json.dumps({"Name": name})
+
+    def get_dev_endpoints(self) -> str:
+        next_token = self._get_param("NextToken")
+        max_results = self._get_int_param("MaxResults")
+
+        endpoints, next_token = self.glue_backend.get_dev_endpoints(
+            next_token=next_token, max_results=max_results
+        )
+
+        return json.dumps(
+            dict(
+                DevEndpoints=[endpoint.as_dict() for endpoint in endpoints],
+                NextToken=next_token,
+            )
+        )
+
+    def create_dev_endpoint(self) -> str:
+        endpoint_name = self._get_param("EndpointName")
+        role_arn = self._get_param("RoleArn")
+        security_group_ids = self._get_param("SecurityGroupIds")
+        subnet_id = self._get_param("SubnetId")
+        public_key = self._get_param("PublicKey")
+        public_keys = self._get_param("PublicKeys")
+        number_of_nodes = self._get_int_param("NumberOfNodes")
+        worker_type = self._get_param("WorkerType", "Standard")
+        glue_version = self._get_param("GlueVersion", "1.0")
+        number_of_workers = self._get_int_param("NumberOfWorkers")
+        extra_python_libs_s3_path = self._get_param("ExtraPythonLibsS3Path")
+        extra_jars_s3_path = self._get_param("ExtraJarsS3Path")
+        security_configuration = self._get_param("SecurityConfiguration")
+        tags = self._get_param("Tags")
+        arguments = self._get_param("Arguments")
+
+        dev_endpoint = self.glue_backend.create_dev_endpoint(
+            endpoint_name=endpoint_name,
+            role_arn=role_arn,
+            security_group_ids=security_group_ids,
+            subnet_id=subnet_id,
+            public_key=public_key,
+            public_keys=public_keys,
+            number_of_nodes=number_of_nodes,
+            worker_type=worker_type,
+            glue_version=glue_version,
+            number_of_workers=number_of_workers,
+            extra_python_libs_s3_path=extra_python_libs_s3_path,
+            extra_jars_s3_path=extra_jars_s3_path,
+            security_configuration=security_configuration,
+            tags=tags,
+            arguments=arguments,
+        )
+
+        return json.dumps(dev_endpoint.as_dict())
+
+    def get_dev_endpoint(self) -> str:
+        endpoint_name = self._get_param("EndpointName")
+        dev_endpoint = self.glue_backend.get_dev_endpoint(endpoint_name)
+        return json.dumps({"DevEndpoint": dev_endpoint.as_dict()})
diff --git a/moto/opensearch/exceptions.py b/moto/opensearch/exceptions.py
index 55504a02d..97f9e37ad 100644
--- a/moto/opensearch/exceptions.py
+++ b/moto/opensearch/exceptions.py
@@ -4,6 +4,8 @@ from moto.core.exceptions import JsonRESTError
 
 
 class ResourceNotFoundException(JsonRESTError):
+    code = 409
+
     def __init__(self, name: str):
         super().__init__("ResourceNotFoundException", f"Domain not found: {name}")
 
diff --git a/moto/opensearch/models.py b/moto/opensearch/models.py
index 2e7242983..4927dcbb5 100644
--- a/moto/opensearch/models.py
+++ b/moto/opensearch/models.py
@@ -85,6 +85,9 @@ class OpenSearchDomain(BaseModel):
         auto_tune_options: Dict[str, Any],
         off_peak_window_options: Dict[str, Any],
         software_update_options: Dict[str, bool],
+        is_es: bool,
+        elasticsearch_version: Optional[str],
+        elasticsearch_cluster_config: Optional[str],
     ):
         self.domain_id = f"{account_id}/{domain_name}"
         self.domain_name = domain_name
@@ -113,10 +116,16 @@ class OpenSearchDomain(BaseModel):
             advanced_security_options or default_advanced_security_options
         )
         self.auto_tune_options = auto_tune_options or {"State": "ENABLE_IN_PROGRESS"}
+        if not self.auto_tune_options.get("State"):
+            self.auto_tune_options["State"] = "ENABLED"
         self.off_peak_windows_options = off_peak_window_options
         self.software_update_options = (
             software_update_options or default_software_update_options
         )
+        self.engine_type = "Elasticsearch" if is_es else "OpenSearch"
+        self.is_es = is_es
+        self.elasticsearch_version = elasticsearch_version
+        self.elasticsearch_cluster_config = elasticsearch_cluster_config
 
         self.deleted = False
         self.processing = False
@@ -157,6 +166,8 @@ class OpenSearchDomain(BaseModel):
             "AutoTuneOptions": self.auto_tune_options,
             "OffPeakWindowsOptions": self.off_peak_windows_options,
             "SoftwareUpdateOptions": self.software_update_options,
+            "ElasticsearchVersion": self.elasticsearch_version,
+            "ElasticsearchClusterConfig": self.elasticsearch_cluster_config,
         }
 
     def to_dict(self) -> Dict[str, Any]:
@@ -259,6 +270,9 @@ class OpenSearchServiceBackend(BaseBackend):
         auto_tune_options: Dict[str, Any],
         off_peak_window_options: Dict[str, Any],
         software_update_options: Dict[str, Any],
+        is_es: bool,
+        elasticsearch_version: Optional[str],
+        elasticsearch_cluster_config: Optional[str],
     ) -> OpenSearchDomain:
         domain = OpenSearchDomain(
             account_id=self.account_id,
@@ -280,6 +294,9 @@ class OpenSearchServiceBackend(BaseBackend):
             auto_tune_options=auto_tune_options,
             off_peak_window_options=off_peak_window_options,
             software_update_options=software_update_options,
+            is_es=is_es,
+            elasticsearch_version=elasticsearch_version,
+            elasticsearch_cluster_config=elasticsearch_cluster_config,
         )
         self.domains[domain_name] = domain
         if tag_list:
@@ -355,23 +372,17 @@ class OpenSearchServiceBackend(BaseBackend):
 
     def list_domain_names(self, engine_type: str) -> List[Dict[str, str]]:
         domains = []
+        if engine_type and engine_type not in ["Elasticsearch", "OpenSearch"]:
+            raise EngineTypeNotFoundException(engine_type)
         for domain in self.domains.values():
             if engine_type:
-                if engine_type in domain.engine_version.options:
+                if engine_type == domain.engine_type:
                     domains.append(
-                        {
-                            "DomainName": domain.domain_name,
-                            "EngineType": engine_type.split("_")[0],
-                        }
+                        {"DomainName": domain.domain_name, "EngineType": engine_type}
                     )
-                else:
-                    raise EngineTypeNotFoundException(domain.domain_name)
             else:
                 domains.append(
-                    {
-                        "DomainName": domain.domain_name,
-                        "EngineType": domain.engine_version.options.split("_")[0],
-                    }
+                    {"DomainName": domain.domain_name, "EngineType": domain.engine_type}
                 )
         return domains
 
diff --git a/moto/opensearch/responses.py b/moto/opensearch/responses.py
index 4034a16b2..efb6f9bad 100644
--- a/moto/opensearch/responses.py
+++ b/moto/opensearch/responses.py
@@ -1,8 +1,12 @@
 """Handles incoming opensearch requests, invokes methods, returns responses."""
 
 import json
+import re
+from typing import Any
 
+from moto.core.common_types import TYPE_RESPONSE
 from moto.core.responses import BaseResponse
+from moto.es.exceptions import InvalidDomainName
 
 from .models import OpenSearchServiceBackend, opensearch_backends
 
@@ -18,8 +22,35 @@ class OpenSearchServiceResponse(BaseResponse):
         """Return backend instance specific for this region."""
         return opensearch_backends[self.current_account][self.region]
 
+    @classmethod
+    def list_domains(cls, request: Any, full_url: str, headers: Any) -> TYPE_RESPONSE:  # type: ignore
+        response = cls()
+        response.setup_class(request, full_url, headers)
+        if request.method == "GET":
+            return 200, {}, response.list_domain_names()
+        if request.method == "POST":
+            return 200, {}, response.describe_domains()
+
+    @classmethod
+    def domains(cls, request: Any, full_url: str, headers: Any) -> TYPE_RESPONSE:  # type: ignore
+        response = cls()
+        response.setup_class(request, full_url, headers)
+        if request.method == "POST":
+            return 200, {}, response.create_domain()
+
+    @classmethod
+    def domain(cls, request: Any, full_url: str, headers: Any) -> TYPE_RESPONSE:  # type: ignore
+        response = cls()
+        response.setup_class(request, full_url, headers)
+        if request.method == "DELETE":
+            return 200, {}, response.delete_domain()
+        if request.method == "GET":
+            return 200, {}, response.describe_domain()
+
     def create_domain(self) -> str:
         domain_name = self._get_param("DomainName")
+        if not re.match(r"^[a-z][a-z0-9\-]+$", domain_name):
+            raise InvalidDomainName(domain_name)
         engine_version = self._get_param("EngineVersion")
         cluster_config = self._get_param("ClusterConfig")
         ebs_options = self._get_param("EBSOptions")
@@ -37,6 +68,10 @@ class OpenSearchServiceResponse(BaseResponse):
         auto_tune_options = self._get_param("AutoTuneOptions")
         off_peak_window_options = self._get_param("OffPeakWindowOptions")
         software_update_options = self._get_param("SoftwareUpdateOptions")
+        # ElasticSearch specific options
+        is_es = self.parsed_url.path.endswith("/es/domain")
+        elasticsearch_version = self._get_param("ElasticsearchVersion")
+        elasticsearch_cluster_config = self._get_param("ElasticsearchClusterConfig")
         domain = self.opensearch_backend.create_domain(
             domain_name=domain_name,
             engine_version=engine_version,
@@ -56,6 +91,9 @@ class OpenSearchServiceResponse(BaseResponse):
             auto_tune_options=auto_tune_options,
             off_peak_window_options=off_peak_window_options,
             software_update_options=software_update_options,
+            is_es=is_es,
+            elasticsearch_version=elasticsearch_version,
+            elasticsearch_cluster_config=elasticsearch_cluster_config,
         )
         return json.dumps(dict(DomainStatus=domain.to_dict()))
 
@@ -67,21 +105,23 @@ class OpenSearchServiceResponse(BaseResponse):
         return json.dumps(dict(CompatibleVersions=compatible_versions))
 
     def delete_domain(self) -> str:
-        domain_name = self._get_param("DomainName")
+        domain_name = self.path.split("/")[-1]
         domain = self.opensearch_backend.delete_domain(
             domain_name=domain_name,
         )
         return json.dumps(dict(DomainStatus=domain.to_dict()))
 
     def describe_domain(self) -> str:
-        domain_name = self._get_param("DomainName")
+        domain_name = self.path.split("/")[-1]
+        if not re.match(r"^[a-z][a-z0-9\-]+$", domain_name):
+            raise InvalidDomainName(domain_name)
         domain = self.opensearch_backend.describe_domain(
             domain_name=domain_name,
         )
         return json.dumps(dict(DomainStatus=domain.to_dict()))
 
     def describe_domain_config(self) -> str:
-        domain_name = self._get_param("DomainName")
+        domain_name = self.path.split("/")[-1]
         domain = self.opensearch_backend.describe_domain_config(
             domain_name=domain_name,
         )
diff --git a/moto/rds/models.py b/moto/rds/models.py
index 58d05cbef..4f070b223 100644
--- a/moto/rds/models.py
+++ b/moto/rds/models.py
@@ -2537,6 +2537,25 @@ class RDSBackend(BaseBackend):
             db_cluster_identifier, db_snapshot_identifier, snapshot_type="automated"
         )
 
+    def _create_db_cluster_snapshot(
+        self,
+        cluster: DBCluster,
+        db_snapshot_identifier: str,
+        snapshot_type: str,
+        tags: List[Dict[str, str]],
+    ) -> DBClusterSnapshot:
+        if db_snapshot_identifier in self.cluster_snapshots:
+            raise DBClusterSnapshotAlreadyExistsError(db_snapshot_identifier)
+        if len(self.cluster_snapshots) >= int(
+            os.environ.get("MOTO_RDS_SNAPSHOT_LIMIT", "100")
+        ):
+            raise SnapshotQuotaExceededError()
+        snapshot = DBClusterSnapshot(
+            self, cluster, db_snapshot_identifier, snapshot_type, tags
+        )
+        self.cluster_snapshots[db_snapshot_identifier] = snapshot
+        return snapshot
+
     def create_db_cluster_snapshot(
         self,
         db_cluster_identifier: str,
@@ -2547,21 +2566,14 @@ class RDSBackend(BaseBackend):
         cluster = self.clusters.get(db_cluster_identifier)
         if cluster is None:
             raise DBClusterNotFoundError(db_cluster_identifier)
-        if db_snapshot_identifier in self.cluster_snapshots:
-            raise DBClusterSnapshotAlreadyExistsError(db_snapshot_identifier)
-        if len(self.cluster_snapshots) >= int(
-            os.environ.get("MOTO_RDS_SNAPSHOT_LIMIT", "100")
-        ):
-            raise SnapshotQuotaExceededError()
         if tags is None:
             tags = list()
         if cluster.copy_tags_to_snapshot:
             tags += cluster.get_tags()
-        snapshot = DBClusterSnapshot(
-            self, cluster, db_snapshot_identifier, snapshot_type, tags
+
+        return self._create_db_cluster_snapshot(
+            cluster, db_snapshot_identifier, snapshot_type, tags
         )
-        self.cluster_snapshots[db_snapshot_identifier] = snapshot
-        return snapshot
 
     def copy_db_cluster_snapshot(
         self,
@@ -2577,10 +2589,9 @@ class RDSBackend(BaseBackend):
             tags = source_snapshot.tags
         else:
             tags = self._merge_tags(source_snapshot.tags, tags)
-        return self.create_db_cluster_snapshot(
-            db_cluster_identifier=source_snapshot.cluster.db_cluster_identifier,  # type: ignore
-            db_snapshot_identifier=target_snapshot_identifier,
-            tags=tags,
+
+        return self._create_db_cluster_snapshot(
+            source_snapshot.cluster, target_snapshot_identifier, "manual", tags
         )
 
     def delete_db_cluster_snapshot(
diff --git a/moto/ssm/resources/regions.json b/moto/ssm/resources/regions.json
index c507a5cf5..983e6df37 100644
--- a/moto/ssm/resources/regions.json
+++ b/moto/ssm/resources/regions.json
@@ -1559,6 +1559,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.af-south-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "sns": {
@@ -3288,6 +3291,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.ap-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "sns": {
@@ -4814,15 +4820,6 @@
                   "Value": "HTTPS"
                 }
               },
-              "iot1click-projects": {
-                "Value": "iot1click-projects",
-                "endpoint": {
-                  "Value": "projects.iot1click.ap-northeast-1.amazonaws.com"
-                },
-                "protocols": {
-                  "Value": "HTTPS"
-                }
-              },
               "iotanalytics": {
                 "Value": "iotanalytics",
                 "endpoint": {
@@ -5498,6 +5495,12 @@
                   "Value": "HTTPS"
                 }
               },
+              "pcs": {
+                "Value": "pcs",
+                "endpoint": {
+                  "Value": "pcs.ap-northeast-1.amazonaws.com"
+                }
+              },
               "personalize": {
                 "Value": "personalize",
                 "endpoint": {
@@ -5982,6 +5985,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.ap-northeast-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "snowcone": {
@@ -8529,6 +8535,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.ap-northeast-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "sns": {
@@ -10272,6 +10281,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.ap-northeast-3.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "sns": {
@@ -12582,6 +12594,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.ap-south-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "snowcone": {
@@ -16134,6 +16149,12 @@
                   "Value": "HTTPS"
                 }
               },
+              "pcs": {
+                "Value": "pcs",
+                "endpoint": {
+                  "Value": "pcs.ap-southeast-1.amazonaws.com"
+                }
+              },
               "personalize": {
                 "Value": "personalize",
                 "endpoint": {
@@ -16624,6 +16645,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.ap-southeast-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "snowcone": {
@@ -18951,6 +18975,12 @@
                   "Value": "HTTPS"
                 }
               },
+              "pcs": {
+                "Value": "pcs",
+                "endpoint": {
+                  "Value": "pcs.ap-southeast-2.amazonaws.com"
+                }
+              },
               "personalize": {
                 "Value": "personalize",
                 "endpoint": {
@@ -19468,6 +19498,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.ap-southeast-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "snowcone": {
@@ -21110,6 +21143,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.ap-southeast-3.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "sns": {
@@ -23064,6 +23100,42 @@
                   "Value": "HTTPS"
                 }
               },
+              "fsx-lustre": {
+                "Value": "fsx-lustre",
+                "endpoint": {
+                  "Value": "fsx.ap-southeast-5.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "fsx-ontap": {
+                "Value": "fsx-ontap",
+                "endpoint": {
+                  "Value": "fsx.ap-southeast-5.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "fsx-openzfs": {
+                "Value": "fsx-openzfs",
+                "endpoint": {
+                  "Value": "fsx.ap-southeast-5.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "fsx-windows": {
+                "Value": "fsx-windows",
+                "endpoint": {
+                  "Value": "fsx.ap-southeast-5.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "glue": {
                 "Value": "glue",
                 "endpoint": {
@@ -23082,6 +23154,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "identitystore": {
+                "Value": "identitystore",
+                "endpoint": {
+                  "Value": "identitystore.ap-southeast-5.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "imagebuilder": {
                 "Value": "imagebuilder",
                 "endpoint": {
@@ -23145,6 +23226,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "license-manager": {
+                "Value": "license-manager",
+                "endpoint": {
+                  "Value": "license-manager.ap-southeast-5.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "license-manager-linux-subscriptions": {
                 "Value": "license-manager-linux-subscriptions",
                 "endpoint": {
@@ -23522,6 +23612,670 @@
               }
             }
           },
+          "ap-southeast-7": {
+            "Value": "ap-southeast-7",
+            "availability-zones": {
+              "apse7-az1": {
+                "Value": "apse7-az1"
+              },
+              "apse7-az2": {
+                "Value": "apse7-az2"
+              },
+              "apse7-az3": {
+                "Value": "apse7-az3"
+              }
+            },
+            "domain": {
+              "Value": "amazonaws.com"
+            },
+            "geolocationCountry": {
+              "Value": "TH"
+            },
+            "geolocationRegion": {
+              "Value": "TH-10"
+            },
+            "longName": {
+              "Value": "Asia Pacific (Thailand)"
+            },
+            "partition": {
+              "Value": "aws"
+            },
+            "services": {
+              "accessanalyzer": {
+                "Value": "accessanalyzer",
+                "endpoint": {
+                  "Value": "access-analyzer.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "acm": {
+                "Value": "acm",
+                "endpoint": {
+                  "Value": "acm.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "apigateway": {
+                "Value": "apigateway",
+                "endpoint": {
+                  "Value": "apigateway.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "appconfig": {
+                "Value": "appconfig",
+                "endpoint": {
+                  "Value": "appconfig.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "appconfigdata": {
+                "Value": "appconfigdata",
+                "endpoint": {
+                  "Value": "appconfigdata.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "arc-zonal-shift": {
+                "Value": "arc-zonal-shift",
+                "endpoint": {
+                  "Value": "arc-zonal-shift.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "artifact": {
+                "Value": "artifact"
+              },
+              "aurora": {
+                "Value": "aurora",
+                "endpoint": {
+                  "Value": "rds.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "autoscaling": {
+                "Value": "autoscaling",
+                "endpoint": {
+                  "Value": "autoscaling.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS, HTTP"
+                }
+              },
+              "awshealthdashboard": {
+                "Value": "awshealthdashboard",
+                "endpoint": {
+                  "Value": "phd.aws.amazon.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS, HTTP"
+                }
+              },
+              "batch": {
+                "Value": "batch",
+                "endpoint": {
+                  "Value": "batch.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "cloudformation": {
+                "Value": "cloudformation",
+                "endpoint": {
+                  "Value": "cloudformation.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "cloudfront": {
+                "Value": "cloudfront",
+                "endpoint": {
+                  "Value": "cloudfront.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "cloudtrail": {
+                "Value": "cloudtrail",
+                "endpoint": {
+                  "Value": "cloudtrail.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "cloudwatch": {
+                "Value": "cloudwatch",
+                "endpoint": {
+                  "Value": "monitoring.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS, HTTP"
+                }
+              },
+              "config": {
+                "Value": "config",
+                "endpoint": {
+                  "Value": "config.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "datasync": {
+                "Value": "datasync",
+                "endpoint": {
+                  "Value": "datasync.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "directconnect": {
+                "Value": "directconnect",
+                "endpoint": {
+                  "Value": "directconnect.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "dlm": {
+                "Value": "dlm",
+                "endpoint": {
+                  "Value": "dlm.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "dms": {
+                "Value": "dms",
+                "endpoint": {
+                  "Value": "dms.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "dynamodb": {
+                "Value": "dynamodb",
+                "endpoint": {
+                  "Value": "dynamodb.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS, HTTP"
+                }
+              },
+              "dynamodbstreams": {
+                "Value": "dynamodbstreams",
+                "endpoint": {
+                  "Value": "streams.dynamodb.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS, HTTP"
+                }
+              },
+              "ebs": {
+                "Value": "ebs",
+                "endpoint": {
+                  "Value": "ec2.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "ec2": {
+                "Value": "ec2",
+                "endpoint": {
+                  "Value": "ec2.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "ecr": {
+                "Value": "ecr",
+                "endpoint": {
+                  "Value": "ecr.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "ecs": {
+                "Value": "ecs",
+                "endpoint": {
+                  "Value": "ecs.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "efs": {
+                "Value": "efs",
+                "endpoint": {
+                  "Value": "elasticfilesystem.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "eks": {
+                "Value": "eks",
+                "endpoint": {
+                  "Value": "eks.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "eks-auth": {
+                "Value": "eks-auth",
+                "endpoint": {
+                  "Value": "eks-auth.ap-southeast-7.api.aws"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "elasticache": {
+                "Value": "elasticache",
+                "endpoint": {
+                  "Value": "elasticache.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "elb": {
+                "Value": "elb",
+                "endpoint": {
+                  "Value": "elasticloadbalancing.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "emr": {
+                "Value": "emr",
+                "endpoint": {
+                  "Value": "elasticmapreduce.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "es": {
+                "Value": "es",
+                "endpoint": {
+                  "Value": "es.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "eventbridge": {
+                "Value": "eventbridge",
+                "endpoint": {
+                  "Value": "events.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "events": {
+                "Value": "events",
+                "endpoint": {
+                  "Value": "events.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "fargate": {
+                "Value": "fargate"
+              },
+              "iam": {
+                "Value": "iam",
+                "endpoint": {
+                  "Value": "iam.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "imagebuilder": {
+                "Value": "imagebuilder",
+                "endpoint": {
+                  "Value": "imagebuilder.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "kinesis": {
+                "Value": "kinesis",
+                "endpoint": {
+                  "Value": "kinesis.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "kms": {
+                "Value": "kms",
+                "endpoint": {
+                  "Value": "kms.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "lambda": {
+                "Value": "lambda",
+                "endpoint": {
+                  "Value": "lambda.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "logs": {
+                "Value": "logs",
+                "endpoint": {
+                  "Value": "logs.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "marketplace": {
+                "Value": "marketplace"
+              },
+              "oam": {
+                "Value": "oam",
+                "endpoint": {
+                  "Value": "oam.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "organizations": {
+                "Value": "organizations",
+                "endpoint": {
+                  "Value": "organizations.us-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "pi": {
+                "Value": "pi",
+                "endpoint": {
+                  "Value": "pi.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "privatelink": {
+                "Value": "privatelink"
+              },
+              "ram": {
+                "Value": "ram",
+                "endpoint": {
+                  "Value": "ram.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "rbin": {
+                "Value": "rbin",
+                "endpoint": {
+                  "Value": "rbin.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "rds": {
+                "Value": "rds",
+                "endpoint": {
+                  "Value": "rds.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "redshift": {
+                "Value": "redshift",
+                "endpoint": {
+                  "Value": "redshift.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "resource-groups": {
+                "Value": "resource-groups",
+                "endpoint": {
+                  "Value": "resource-groups.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "resourcegroupstaggingapi": {
+                "Value": "resourcegroupstaggingapi",
+                "endpoint": {
+                  "Value": "tagging.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "route53": {
+                "Value": "route53",
+                "endpoint": {
+                  "Value": "route53.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "route53-application-recovery-controller": {
+                "Value": "route53-application-recovery-controller"
+              },
+              "route53-recovery-control-config": {
+                "Value": "route53-recovery-control-config",
+                "endpoint": {
+                  "Value": "route53-recovery-control-config.us-west-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "route53resolver": {
+                "Value": "route53resolver",
+                "endpoint": {
+                  "Value": "route53resolver.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "s3": {
+                "Value": "s3",
+                "endpoint": {
+                  "Value": "s3.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS, HTTP"
+                }
+              },
+              "savingsplans": {
+                "Value": "savingsplans",
+                "endpoint": {
+                  "Value": "savingsplans.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "secretsmanager": {
+                "Value": "secretsmanager",
+                "endpoint": {
+                  "Value": "secretsmanager.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "service-quotas": {
+                "Value": "service-quotas",
+                "endpoint": {
+                  "Value": "servicequotas.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "servicediscovery": {
+                "Value": "servicediscovery",
+                "endpoint": {
+                  "Value": "servicediscovery.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "sns": {
+                "Value": "sns",
+                "endpoint": {
+                  "Value": "sns.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS, HTTP"
+                }
+              },
+              "sqs": {
+                "Value": "sqs",
+                "endpoint": {
+                  "Value": "sqs.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS, HTTP"
+                }
+              },
+              "ssm": {
+                "Value": "ssm",
+                "endpoint": {
+                  "Value": "ssm.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "stepfunctions": {
+                "Value": "stepfunctions",
+                "endpoint": {
+                  "Value": "states.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "sts": {
+                "Value": "sts",
+                "endpoint": {
+                  "Value": "sts.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "support": {
+                "Value": "support",
+                "endpoint": {
+                  "Value": "support.us-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "swf": {
+                "Value": "swf",
+                "endpoint": {
+                  "Value": "swf.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "synthetics": {
+                "Value": "synthetics",
+                "endpoint": {
+                  "Value": "synthetics.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "transitgateway": {
+                "Value": "transitgateway",
+                "endpoint": {
+                  "Value": "ec2.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "trustedadvisor": {
+                "Value": "trustedadvisor"
+              },
+              "vpc": {
+                "Value": "vpc"
+              },
+              "vpn": {
+                "Value": "vpn",
+                "endpoint": {
+                  "Value": "ec2.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "xray": {
+                "Value": "xray",
+                "endpoint": {
+                  "Value": "xray.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              }
+            }
+          },
           "ca-central-1": {
             "Value": "ca-central-1",
             "availability-zones": {
@@ -25652,6 +26406,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.ca-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "snowcone": {
@@ -28356,6 +29113,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.cn-north-1.amazonaws.com.cn"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "sns": {
@@ -29746,6 +30506,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.cn-northwest-1.amazonaws.com.cn"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "sns": {
@@ -31245,15 +32008,6 @@
                   "Value": "HTTPS"
                 }
               },
-              "iot1click-projects": {
-                "Value": "iot1click-projects",
-                "endpoint": {
-                  "Value": "projects.iot1click.eu-central-1.amazonaws.com"
-                },
-                "protocols": {
-                  "Value": "HTTPS"
-                }
-              },
               "iotanalytics": {
                 "Value": "iotanalytics",
                 "endpoint": {
@@ -31911,6 +32665,12 @@
                   "Value": "HTTPS"
                 }
               },
+              "pcs": {
+                "Value": "pcs",
+                "endpoint": {
+                  "Value": "pcs.eu-central-1.amazonaws.com"
+                }
+              },
               "personalize": {
                 "Value": "personalize",
                 "endpoint": {
@@ -32437,6 +33197,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.eu-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "snowcone": {
@@ -35656,6 +36419,12 @@
                   "Value": "HTTPS"
                 }
               },
+              "pcs": {
+                "Value": "pcs",
+                "endpoint": {
+                  "Value": "pcs.eu-north-1.amazonaws.com"
+                }
+              },
               "pi": {
                 "Value": "pi",
                 "endpoint": {
@@ -36059,6 +36828,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.eu-north-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "sns": {
@@ -37767,6 +38539,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.eu-south-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "sns": {
@@ -40693,15 +41468,6 @@
                   "Value": "HTTPS"
                 }
               },
-              "iot1click-projects": {
-                "Value": "iot1click-projects",
-                "endpoint": {
-                  "Value": "projects.iot1click.eu-west-1.amazonaws.com"
-                },
-                "protocols": {
-                  "Value": "HTTPS"
-                }
-              },
               "iotanalytics": {
                 "Value": "iotanalytics",
                 "endpoint": {
@@ -41434,6 +42200,12 @@
                   "Value": "HTTPS"
                 }
               },
+              "pcs": {
+                "Value": "pcs",
+                "endpoint": {
+                  "Value": "pcs.eu-west-1.amazonaws.com"
+                }
+              },
               "personalize": {
                 "Value": "personalize",
                 "endpoint": {
@@ -41960,6 +42732,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.eu-west-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "snowcone": {
@@ -43586,15 +44361,6 @@
                   "Value": "HTTPS"
                 }
               },
-              "iot1click-projects": {
-                "Value": "iot1click-projects",
-                "endpoint": {
-                  "Value": "projects.iot1click.eu-west-2.amazonaws.com"
-                },
-                "protocols": {
-                  "Value": "HTTPS"
-                }
-              },
               "iotdevicedefender": {
                 "Value": "iotdevicedefender",
                 "endpoint": {
@@ -44592,6 +45358,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.eu-west-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "snowcone": {
@@ -46737,6 +47506,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.eu-west-3.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "snowcone": {
@@ -48208,6 +48980,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.il-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "snowcone": {
@@ -49700,6 +50475,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.me-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "sns": {
@@ -53425,6 +54203,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.sa-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "snowcone": {
@@ -53743,8 +54524,8 @@
               "use1-msp1-az1": {
                 "Value": "use1-msp1-az1"
               },
-              "use1-nyc1-az1": {
-                "Value": "use1-nyc1-az1"
+              "use1-nyc2-az1": {
+                "Value": "use1-nyc2-az1"
               },
               "use1-phl1-az1": {
                 "Value": "use1-phl1-az1"
@@ -55245,15 +56026,6 @@
                   "Value": "HTTPS"
                 }
               },
-              "iot1click-projects": {
-                "Value": "iot1click-projects",
-                "endpoint": {
-                  "Value": "projects.iot1click.us-east-1.amazonaws.com"
-                },
-                "protocols": {
-                  "Value": "HTTPS"
-                }
-              },
               "iotanalytics": {
                 "Value": "iotanalytics",
                 "endpoint": {
@@ -56079,6 +56851,12 @@
                   "Value": "HTTPS"
                 }
               },
+              "pcs": {
+                "Value": "pcs",
+                "endpoint": {
+                  "Value": "pcs.us-east-1.amazonaws.com"
+                }
+              },
               "personalize": {
                 "Value": "personalize",
                 "endpoint": {
@@ -56650,6 +57428,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.us-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "snowcone": {
@@ -58323,15 +59104,6 @@
                   "Value": "HTTPS"
                 }
               },
-              "iot1click-projects": {
-                "Value": "iot1click-projects",
-                "endpoint": {
-                  "Value": "projects.iot1click.us-east-2.amazonaws.com"
-                },
-                "protocols": {
-                  "Value": "HTTPS"
-                }
-              },
               "iotanalytics": {
                 "Value": "iotanalytics",
                 "endpoint": {
@@ -58890,6 +59662,12 @@
                   "Value": "HTTPS"
                 }
               },
+              "pcs": {
+                "Value": "pcs",
+                "endpoint": {
+                  "Value": "pcs.us-east-2.amazonaws.com"
+                }
+              },
               "personalize": {
                 "Value": "personalize",
                 "endpoint": {
@@ -59383,6 +60161,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.us-east-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "snowcone": {
@@ -61010,6 +61791,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.us-gov-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "sns": {
@@ -62787,6 +63571,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.us-gov-west-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "sns": {
@@ -64825,6 +65612,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.us-west-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "snowcone": {
@@ -66519,24 +67309,6 @@
                   "Value": "HTTPS"
                 }
               },
-              "iot1click-devices": {
-                "Value": "iot1click-devices",
-                "endpoint": {
-                  "Value": "devices.iot1click.us-west-2.amazonaws.com"
-                },
-                "protocols": {
-                  "Value": "HTTPS"
-                }
-              },
-              "iot1click-projects": {
-                "Value": "iot1click-projects",
-                "endpoint": {
-                  "Value": "projects.iot1click.us-west-2.amazonaws.com"
-                },
-                "protocols": {
-                  "Value": "HTTPS"
-                }
-              },
               "iotanalytics": {
                 "Value": "iotanalytics",
                 "endpoint": {
@@ -67236,6 +68008,12 @@
                   "Value": "HTTPS"
                 }
               },
+              "pcs": {
+                "Value": "pcs",
+                "endpoint": {
+                  "Value": "pcs.us-west-2.amazonaws.com"
+                }
+              },
               "personalize": {
                 "Value": "personalize",
                 "endpoint": {
@@ -67816,6 +68594,9 @@
                 "Value": "snowball",
                 "endpoint": {
                   "Value": "snowball.us-west-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "snowcone": {
diff --git a/moto/ssm/resources/services.json b/moto/ssm/resources/services.json
index 5f3099223..08fb0f788 100644
--- a/moto/ssm/resources/services.json
+++ b/moto/ssm/resources/services.json
@@ -117,6 +117,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "access-analyzer.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -703,6 +712,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "acm.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -2084,6 +2102,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "apigateway.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -2780,6 +2807,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "appconfig.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -3094,6 +3130,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "appconfigdata.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -5194,6 +5239,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "arc-zonal-shift.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -5439,6 +5493,9 @@
               "ap-southeast-5": {
                 "Value": "ap-southeast-5"
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7"
+              },
               "ca-central-1": {
                 "Value": "ca-central-1"
               },
@@ -6173,6 +6230,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "rds.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -6490,6 +6556,15 @@
                   "Value": "HTTPS, HTTP"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "autoscaling.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS, HTTP"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -6845,6 +6920,15 @@
                   "Value": "HTTPS, HTTP"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "phd.aws.amazon.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS, HTTP"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -7732,6 +7816,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "batch.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -10250,6 +10343,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "cloudformation.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -10567,6 +10669,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "cloudfront.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -11475,6 +11586,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "cloudtrail.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -12007,6 +12127,15 @@
                   "Value": "HTTPS, HTTP"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "monitoring.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS, HTTP"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -15397,6 +15526,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "config.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -17143,6 +17281,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "datasync.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -18214,6 +18361,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "directconnect.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -18602,6 +18758,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "dlm.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -18919,6 +19084,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "dms.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -20061,6 +20235,15 @@
                   "Value": "HTTPS, HTTP"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "dynamodb.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS, HTTP"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -20375,6 +20558,15 @@
                   "Value": "HTTPS, HTTP"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "streams.dynamodb.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS, HTTP"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -20692,6 +20884,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "ec2.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -21009,6 +21210,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "ec2.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -21326,6 +21536,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "ecr.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -21669,6 +21888,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "ecs.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -21986,6 +22214,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "elasticfilesystem.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -22303,6 +22540,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "eks.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -22617,6 +22863,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "eks-auth.ap-southeast-7.api.aws"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -22981,6 +23236,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "elasticache.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -23635,6 +23899,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "elasticloadbalancing.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -23952,6 +24225,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "elasticmapreduce.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -24917,6 +25199,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "es.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -25234,6 +25525,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "events.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -25548,6 +25848,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "events.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -25882,6 +26191,9 @@
               "ap-southeast-5": {
                 "Value": "ap-southeast-5"
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7"
+              },
               "ca-central-1": {
                 "Value": "ca-central-1"
               },
@@ -27937,6 +28249,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-5": {
+                "Value": "ap-southeast-5",
+                "endpoint": {
+                  "Value": "fsx.ap-southeast-5.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -28245,6 +28566,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-5": {
+                "Value": "ap-southeast-5",
+                "endpoint": {
+                  "Value": "fsx.ap-southeast-5.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -28544,6 +28874,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-5": {
+                "Value": "ap-southeast-5",
+                "endpoint": {
+                  "Value": "fsx.ap-southeast-5.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -28852,6 +29191,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-5": {
+                "Value": "ap-southeast-5",
+                "endpoint": {
+                  "Value": "fsx.ap-southeast-5.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -30903,6 +31251,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "iam.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -31516,6 +31873,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-5": {
+                "Value": "ap-southeast-5",
+                "endpoint": {
+                  "Value": "identitystore.ap-southeast-5.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -31824,6 +32190,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "imagebuilder.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -33534,97 +33909,6 @@
               }
             }
           },
-          "iot1click-devices": {
-            "Value": "iot1click-devices",
-            "longName": {
-              "Value": "AWS IoT 1-Click Devices Service"
-            },
-            "regions": {
-              "us-west-2": {
-                "Value": "us-west-2",
-                "endpoint": {
-                  "Value": "devices.iot1click.us-west-2.amazonaws.com"
-                },
-                "protocols": {
-                  "Value": "HTTPS"
-                }
-              }
-            }
-          },
-          "iot1click-projects": {
-            "Value": "iot1click-projects",
-            "longName": {
-              "Value": "AWS IoT 1-Click"
-            },
-            "marketingHomeURL": {
-              "Value": "https://aws.amazon.com/iot-1-click/"
-            },
-            "regions": {
-              "ap-northeast-1": {
-                "Value": "ap-northeast-1",
-                "endpoint": {
-                  "Value": "projects.iot1click.ap-northeast-1.amazonaws.com"
-                },
-                "protocols": {
-                  "Value": "HTTPS"
-                }
-              },
-              "eu-central-1": {
-                "Value": "eu-central-1",
-                "endpoint": {
-                  "Value": "projects.iot1click.eu-central-1.amazonaws.com"
-                },
-                "protocols": {
-                  "Value": "HTTPS"
-                }
-              },
-              "eu-west-1": {
-                "Value": "eu-west-1",
-                "endpoint": {
-                  "Value": "projects.iot1click.eu-west-1.amazonaws.com"
-                },
-                "protocols": {
-                  "Value": "HTTPS"
-                }
-              },
-              "eu-west-2": {
-                "Value": "eu-west-2",
-                "endpoint": {
-                  "Value": "projects.iot1click.eu-west-2.amazonaws.com"
-                },
-                "protocols": {
-                  "Value": "HTTPS"
-                }
-              },
-              "us-east-1": {
-                "Value": "us-east-1",
-                "endpoint": {
-                  "Value": "projects.iot1click.us-east-1.amazonaws.com"
-                },
-                "protocols": {
-                  "Value": "HTTPS"
-                }
-              },
-              "us-east-2": {
-                "Value": "us-east-2",
-                "endpoint": {
-                  "Value": "projects.iot1click.us-east-2.amazonaws.com"
-                },
-                "protocols": {
-                  "Value": "HTTPS"
-                }
-              },
-              "us-west-2": {
-                "Value": "us-west-2",
-                "endpoint": {
-                  "Value": "projects.iot1click.us-west-2.amazonaws.com"
-                },
-                "protocols": {
-                  "Value": "HTTPS"
-                }
-              }
-            }
-          },
           "iotanalytics": {
             "Value": "iotanalytics",
             "longName": {
@@ -36081,6 +36365,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "kinesis.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -36879,6 +37172,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "kms.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -37513,6 +37815,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "lambda.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -38536,6 +38847,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-5": {
+                "Value": "ap-southeast-5",
+                "endpoint": {
+                  "Value": "license-manager.ap-southeast-5.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -39591,6 +39911,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "logs.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -40855,6 +41184,9 @@
               "ap-southeast-5": {
                 "Value": "ap-southeast-5"
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7"
+              },
               "ca-central-1": {
                 "Value": "ca-central-1"
               },
@@ -46084,6 +46416,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "oam.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -47021,6 +47362,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "organizations.us-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -48241,6 +48591,64 @@
               }
             }
           },
+          "pcs": {
+            "regions": {
+              "ap-northeast-1": {
+                "Value": "ap-northeast-1",
+                "endpoint": {
+                  "Value": "pcs.ap-northeast-1.amazonaws.com"
+                }
+              },
+              "ap-southeast-1": {
+                "Value": "ap-southeast-1",
+                "endpoint": {
+                  "Value": "pcs.ap-southeast-1.amazonaws.com"
+                }
+              },
+              "ap-southeast-2": {
+                "Value": "ap-southeast-2",
+                "endpoint": {
+                  "Value": "pcs.ap-southeast-2.amazonaws.com"
+                }
+              },
+              "eu-central-1": {
+                "Value": "eu-central-1",
+                "endpoint": {
+                  "Value": "pcs.eu-central-1.amazonaws.com"
+                }
+              },
+              "eu-north-1": {
+                "Value": "eu-north-1",
+                "endpoint": {
+                  "Value": "pcs.eu-north-1.amazonaws.com"
+                }
+              },
+              "eu-west-1": {
+                "Value": "eu-west-1",
+                "endpoint": {
+                  "Value": "pcs.eu-west-1.amazonaws.com"
+                }
+              },
+              "us-east-1": {
+                "Value": "us-east-1",
+                "endpoint": {
+                  "Value": "pcs.us-east-1.amazonaws.com"
+                }
+              },
+              "us-east-2": {
+                "Value": "us-east-2",
+                "endpoint": {
+                  "Value": "pcs.us-east-2.amazonaws.com"
+                }
+              },
+              "us-west-2": {
+                "Value": "us-west-2",
+                "endpoint": {
+                  "Value": "pcs.us-west-2.amazonaws.com"
+                }
+              }
+            }
+          },
           "personalize": {
             "Value": "personalize",
             "longName": {
@@ -48474,6 +48882,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "pi.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -49762,6 +50179,9 @@
               "ap-southeast-5": {
                 "Value": "ap-southeast-5"
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7"
+              },
               "ca-central-1": {
                 "Value": "ca-central-1"
               },
@@ -50580,6 +51000,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "ram.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -50894,6 +51323,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "rbin.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -51211,6 +51649,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "rds.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -51676,6 +52123,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "redshift.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -53235,6 +53691,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "resource-groups.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -53549,6 +54014,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "tagging.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -54352,6 +54826,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "route53.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -54579,6 +55062,9 @@
               "ap-southeast-5": {
                 "Value": "ap-southeast-5"
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7"
+              },
               "ca-central-1": {
                 "Value": "ca-central-1"
               },
@@ -54730,6 +55216,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "route53-recovery-control-config.us-west-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -55154,6 +55649,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "route53resolver.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -55713,6 +56217,15 @@
                   "Value": "HTTPS, HTTP"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "s3.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS, HTTP"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -57514,6 +58027,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "savingsplans.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -58434,6 +58956,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "secretsmanager.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -59575,6 +60106,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "servicequotas.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -60478,6 +61018,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "servicediscovery.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -61788,162 +62337,243 @@
                 "Value": "af-south-1",
                 "endpoint": {
                   "Value": "snowball.af-south-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ap-east-1": {
                 "Value": "ap-east-1",
                 "endpoint": {
                   "Value": "snowball.ap-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ap-northeast-1": {
                 "Value": "ap-northeast-1",
                 "endpoint": {
                   "Value": "snowball.ap-northeast-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ap-northeast-2": {
                 "Value": "ap-northeast-2",
                 "endpoint": {
                   "Value": "snowball.ap-northeast-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ap-northeast-3": {
                 "Value": "ap-northeast-3",
                 "endpoint": {
                   "Value": "snowball.ap-northeast-3.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ap-south-1": {
                 "Value": "ap-south-1",
                 "endpoint": {
                   "Value": "snowball.ap-south-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ap-southeast-1": {
                 "Value": "ap-southeast-1",
                 "endpoint": {
                   "Value": "snowball.ap-southeast-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ap-southeast-2": {
                 "Value": "ap-southeast-2",
                 "endpoint": {
                   "Value": "snowball.ap-southeast-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ap-southeast-3": {
                 "Value": "ap-southeast-3",
                 "endpoint": {
                   "Value": "snowball.ap-southeast-3.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
                   "Value": "snowball.ca-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "cn-north-1": {
                 "Value": "cn-north-1",
                 "endpoint": {
                   "Value": "snowball.cn-north-1.amazonaws.com.cn"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "cn-northwest-1": {
                 "Value": "cn-northwest-1",
                 "endpoint": {
                   "Value": "snowball.cn-northwest-1.amazonaws.com.cn"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "eu-central-1": {
                 "Value": "eu-central-1",
                 "endpoint": {
                   "Value": "snowball.eu-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "eu-north-1": {
                 "Value": "eu-north-1",
                 "endpoint": {
                   "Value": "snowball.eu-north-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "eu-south-1": {
                 "Value": "eu-south-1",
                 "endpoint": {
                   "Value": "snowball.eu-south-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "eu-west-1": {
                 "Value": "eu-west-1",
                 "endpoint": {
                   "Value": "snowball.eu-west-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "eu-west-2": {
                 "Value": "eu-west-2",
                 "endpoint": {
                   "Value": "snowball.eu-west-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "eu-west-3": {
                 "Value": "eu-west-3",
                 "endpoint": {
                   "Value": "snowball.eu-west-3.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "il-central-1": {
                 "Value": "il-central-1",
                 "endpoint": {
                   "Value": "snowball.il-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "me-central-1": {
                 "Value": "me-central-1",
                 "endpoint": {
                   "Value": "snowball.me-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "sa-east-1": {
                 "Value": "sa-east-1",
                 "endpoint": {
                   "Value": "snowball.sa-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "us-east-1": {
                 "Value": "us-east-1",
                 "endpoint": {
                   "Value": "snowball.us-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "us-east-2": {
                 "Value": "us-east-2",
                 "endpoint": {
                   "Value": "snowball.us-east-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "us-gov-east-1": {
                 "Value": "us-gov-east-1",
                 "endpoint": {
                   "Value": "snowball.us-gov-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "us-gov-west-1": {
                 "Value": "us-gov-west-1",
                 "endpoint": {
                   "Value": "snowball.us-gov-west-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "us-west-1": {
                 "Value": "us-west-1",
                 "endpoint": {
                   "Value": "snowball.us-west-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               },
               "us-west-2": {
                 "Value": "us-west-2",
                 "endpoint": {
                   "Value": "snowball.us-west-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
                 }
               }
             }
@@ -62121,6 +62751,15 @@
                   "Value": "HTTPS, HTTP"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "sns.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS, HTTP"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -62518,6 +63157,15 @@
                   "Value": "HTTPS, HTTP"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "sqs.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS, HTTP"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -62835,6 +63483,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "ssm.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -64173,6 +64830,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "states.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -64804,6 +65470,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "sts.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -65121,6 +65796,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "support.us-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -65473,6 +66157,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "swf.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -65787,6 +66480,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "synthetics.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -67260,6 +67962,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "ec2.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -67669,6 +68380,9 @@
               "ap-southeast-5": {
                 "Value": "ap-southeast-5"
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7"
+              },
               "ca-central-1": {
                 "Value": "ca-central-1"
               },
@@ -68432,6 +69146,9 @@
               "ap-southeast-5": {
                 "Value": "ap-southeast-5"
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7"
+              },
               "ca-central-1": {
                 "Value": "ca-central-1"
               },
@@ -68880,6 +69597,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "ec2.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -70576,6 +71302,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-7": {
+                "Value": "ap-southeast-7",
+                "endpoint": {
+                  "Value": "xray.ap-southeast-7.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
diff --git a/setup.cfg b/setup.cfg
index 3524c32bd..40a7769b0 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -35,7 +35,7 @@ install_requires =
     xmltodict
     werkzeug>=0.5,!=2.2.0,!=2.2.1
     python-dateutil<3.0.0,>=2.1
-    responses>=0.15.0
+    responses>=0.15.0,!= 0.25.5
     Jinja2>=2.10.1
 package_dir =
     moto = moto


Test patch:
diff --git a/tests/test_es/test_es.py b/tests/test_es/test_es.py
index 259f444da..a696d3e39 100644
--- a/tests/test_es/test_es.py
+++ b/tests/test_es/test_es.py
@@ -5,6 +5,7 @@ import pytest
 from botocore.exceptions import ClientError
 
 from moto import mock_aws
+from tests import DEFAULT_ACCOUNT_ID
 
 # See our Development Tips on writing tests for hints on how to write good tests:
 # http://docs.getmoto.org/en/latest/docs/contributing/development_tips/tests.html
@@ -33,7 +34,10 @@ def test_create_elasticsearch_domain_minimal():
 
     domain = resp["DomainStatus"]
     assert domain["DomainName"] == "motosearch"
-    assert domain["ARN"] == f"arn:aws:es:us-east-2:domain/{domain['DomainId']}"
+    assert (
+        domain["ARN"]
+        == f"arn:aws:es:us-east-2:{DEFAULT_ACCOUNT_ID}:domain/{domain['DomainName']}"
+    )
     assert domain["Created"] is True
     assert domain["Deleted"] is False
     assert domain["Processing"] is False
@@ -188,7 +192,10 @@ def test_describe_elasticsearch_domain():
 
     domain = resp["DomainStatus"]
     assert domain["DomainName"] == "motosearch"
-    assert domain["ARN"] == f"arn:aws:es:ap-southeast-1:domain/{domain['DomainId']}"
+    assert (
+        domain["ARN"]
+        == f"arn:aws:es:ap-southeast-1:{DEFAULT_ACCOUNT_ID}:domain/{domain['DomainName']}"
+    )
     assert domain["Created"] is True
     assert domain["Deleted"] is False
     assert domain["Processing"] is False
@@ -204,6 +211,18 @@ def test_list_domain_names_initial():
     assert resp["DomainNames"] == []
 
 
+@mock_aws
+def test_list_domain_names_enginetype():
+    client = boto3.client("es", region_name="us-east-1")
+    client.create_elasticsearch_domain(DomainName="elasticsearch-domain")
+
+    resp = client.list_domain_names(EngineType="Elasticsearch")
+    assert len(resp["DomainNames"]) == 1
+
+    resp = client.list_domain_names(EngineType="OpenSearch")
+    assert len(resp["DomainNames"]) == 0
+
+
 @mock_aws
 def test_list_domain_names_with_multiple_domains():
     client = boto3.client("es", region_name="eu-west-1")
@@ -214,7 +233,9 @@ def test_list_domain_names_with_multiple_domains():
 
     assert len(resp["DomainNames"]) == 4
     for name in domain_names:
-        assert {"DomainName": name} in resp["DomainNames"]
+        assert {"DomainName": name, "EngineType": "Elasticsearch"} in resp[
+            "DomainNames"
+        ]
 
 
 @mock_aws
@@ -240,3 +261,33 @@ def test_describe_elasticsearch_domains():
     # Test for invalid domain name
     resp = client.describe_elasticsearch_domains(DomainNames=["invalid"])
     assert len(resp["DomainStatusList"]) == 0
+
+
+@mock_aws
+def test_list_domain_names_opensearch():
+    opensearch_client = boto3.client("opensearch", region_name="us-east-2")
+    status = opensearch_client.create_domain(DomainName="moto-opensearch")[
+        "DomainStatus"
+    ]
+    assert status["Created"]
+    assert "DomainId" in status
+    assert "DomainName" in status
+    assert status["DomainName"] == "moto-opensearch"
+
+    # ensure that elasticsearch client can describe opensearch domains as well
+    es_client = boto3.client("es", region_name="us-east-2")
+    domain_names = es_client.list_domain_names()["DomainNames"]
+    assert len(domain_names) == 1
+    assert domain_names[0]["DomainName"] == "moto-opensearch"
+    assert domain_names[0]["EngineType"] == "OpenSearch"
+
+
+@mock_aws
+def test_list_domain_names_opensearch_deleted():
+    opensearch_client = boto3.client("opensearch", region_name="us-east-2")
+    opensearch_client.create_domain(DomainName="moto-opensearch")
+    opensearch_client.delete_domain(DomainName="moto-opensearch")
+
+    # ensure that elasticsearch client can describe opensearch domains as well
+    es_client = boto3.client("es", region_name="us-east-2")
+    assert es_client.list_domain_names()["DomainNames"] == []
diff --git a/tests/test_glue/test_glue.py b/tests/test_glue/test_glue.py
index 5b82638d7..65e9de0c1 100644
--- a/tests/test_glue/test_glue.py
+++ b/tests/test_glue/test_glue.py
@@ -867,3 +867,69 @@ def test_stop_session():
 
     resp = client.get_session(Id=session_id)
     assert resp["Session"]["Status"] == "STOPPING"
+
+
+@mock_aws
+def test_get_dev_endpoints():
+    client = create_glue_client()
+
+    response = client.get_dev_endpoints()
+    assert response["DevEndpoints"] == []
+    assert "NextToken" not in response
+
+    client.create_dev_endpoint(
+        EndpointName="dev-endpoint-1",
+        RoleArn="arn:aws:iam::123456789012:role/GlueDevEndpoint",
+    )
+    client.create_dev_endpoint(
+        EndpointName="dev-endpoint-2",
+        RoleArn="arn:aws:iam::123456789012:role/GlueDevEndpoint",
+    )
+
+    response = client.get_dev_endpoints()
+    assert len(response["DevEndpoints"]) == 2
+    assert {ep["EndpointName"] for ep in response["DevEndpoints"]} == {
+        "dev-endpoint-1",
+        "dev-endpoint-2",
+    }
+    assert "NextToken" not in response
+
+    response = client.get_dev_endpoints(MaxResults=1)
+    assert len(response["DevEndpoints"]) == 1
+    assert "NextToken" in response
+
+    next_token = response["NextToken"]
+    response = client.get_dev_endpoints(NextToken=next_token)
+    assert len(response["DevEndpoints"]) == 1
+    assert "NextToken" not in response
+
+
+@mock_aws
+def test_create_dev_endpoint():
+    client = create_glue_client()
+
+    response = client.create_dev_endpoint(
+        EndpointName="test-endpoint",
+        RoleArn="arn:aws:iam::123456789012:role/GlueDevEndpoint",
+    )
+
+    assert response["EndpointName"] == "test-endpoint"
+    assert response["Status"] == "READY"
+    assert response["RoleArn"] == "arn:aws:iam::123456789012:role/GlueDevEndpoint"
+
+
+@mock_aws
+def test_get_dev_endpoint():
+    client = create_glue_client()
+
+    client.create_dev_endpoint(
+        EndpointName="test-endpoint",
+        RoleArn="arn:aws:iam::123456789012:role/GlueDevEndpoint",
+    )
+
+    response = client.get_dev_endpoint(EndpointName="test-endpoint")
+    assert response["DevEndpoint"]["EndpointName"] == "test-endpoint"
+    assert response["DevEndpoint"]["Status"] == "READY"
+
+    with pytest.raises(client.exceptions.EntityNotFoundException):
+        client.get_dev_endpoint(EndpointName="nonexistent")
diff --git a/tests/test_opensearch/test_opensearch.py b/tests/test_opensearch/test_opensearch.py
index 22955de1b..7dd80864a 100644
--- a/tests/test_opensearch/test_opensearch.py
+++ b/tests/test_opensearch/test_opensearch.py
@@ -117,8 +117,17 @@ def test_describe_domain():
 def test_delete_domain():
     client = boto3.client("opensearch", region_name="eu-west-1")
     client.create_domain(DomainName="testdn")
-    client.delete_domain(DomainName="testdn")
+    resp = client.delete_domain(DomainName="testdn")
+    status = resp["DomainStatus"]
+    assert "DomainId" in status
+    assert "DomainName" in status
+    assert status["Deleted"]  # assume deleted completion
+    assert status["DomainName"] == "testdn"
 
+
+@mock_aws
+def test_delete_invalid_domain():
+    client = boto3.client("opensearch", region_name="eu-west-1")
     with pytest.raises(ClientError) as exc:
         client.describe_domain(DomainName="testdn")
     err = exc.value.response["Error"]
@@ -216,7 +225,7 @@ def test_list_unknown_domain_names_engine_type():
         client.list_domain_names(EngineType="unknown")
     err = exc.value.response["Error"]
     assert err["Code"] == "EngineTypeNotFoundException"
-    assert err["Message"] == "Engine Type not found: testdn"
+    assert err["Message"] == "Engine Type not found: unknown"
 
 
 @mock_aws
diff --git a/tests/test_rds/test_filters.py b/tests/test_rds/test_filters.py
index a6713cd60..3cbde201b 100644
--- a/tests/test_rds/test_filters.py
+++ b/tests/test_rds/test_filters.py
@@ -55,7 +55,7 @@ class TestDBInstanceFilters:
 
         db_instances = self.client.describe_db_instances(
             Filters=[{"Name": "db-cluster-id", "Values": [db_cluster_identifier]}]
-        ).get("DBInstances")
+        )["DBInstances"]
         assert len(db_instances) == 1
         assert db_instances[0]["DBClusterIdentifier"] == db_cluster_identifier
 
@@ -65,7 +65,7 @@ class TestDBInstanceFilters:
 
         db_instances = self.client.describe_db_instances(
             Filters=[{"Name": "db-instance-id", "Values": [db_instance_identifier]}]
-        ).get("DBInstances")
+        )["DBInstances"]
         assert len(db_instances) == 1
         assert db_instances[0]["DBInstanceIdentifier"] == db_instance_identifier
 
@@ -75,7 +75,7 @@ class TestDBInstanceFilters:
 
         db_instances = self.client.describe_db_instances(
             Filters=[{"Name": "db-instance-id", "Values": [db_instance_arn]}]
-        ).get("DBInstances")
+        )["DBInstances"]
         assert len(db_instances) == 1
         assert db_instances[0]["DBInstanceArn"] == db_instance_arn
 
@@ -85,20 +85,20 @@ class TestDBInstanceFilters:
 
         db_instances = self.client.describe_db_instances(
             Filters=[{"Name": "dbi-resource-id", "Values": [dbi_resource_identifier]}]
-        ).get("DBInstances")
+        )["DBInstances"]
         for db_instance in db_instances:
             assert db_instance["DbiResourceId"] == dbi_resource_identifier
 
     def test_engine_filter(self):
         db_instances = self.client.describe_db_instances(
             Filters=[{"Name": "engine", "Values": ["postgres"]}]
-        ).get("DBInstances")
+        )["DBInstances"]
         for db_instance in db_instances:
             assert db_instance["Engine"] == "postgres"
 
         db_instances = self.client.describe_db_instances(
             Filters=[{"Name": "engine", "Values": ["oracle"]}]
-        ).get("DBInstances")
+        )["DBInstances"]
         assert len(db_instances) == 0
 
     def test_multiple_filters(self):
@@ -239,7 +239,7 @@ class TestDBSnapshotFilters:
     def test_db_snapshot_id_filter(self):
         snapshots = self.client.describe_db_snapshots(
             Filters=[{"Name": "db-snapshot-id", "Values": ["db-instance-1-snapshot-0"]}]
-        ).get("DBSnapshots")
+        )["DBSnapshots"]
         assert len(snapshots) == 1
         assert snapshots[0]["DBSnapshotIdentifier"] == "db-instance-1-snapshot-0"
 
@@ -249,7 +249,7 @@ class TestDBSnapshotFilters:
 
         snapshots = self.client.describe_db_snapshots(
             Filters=[{"Name": "db-instance-id", "Values": [db_instance_identifier]}]
-        ).get("DBSnapshots")
+        )["DBSnapshots"]
         for snapshot in snapshots:
             assert snapshot["DBInstanceIdentifier"] == db_instance_identifier
 
@@ -260,7 +260,7 @@ class TestDBSnapshotFilters:
 
         snapshots = self.client.describe_db_snapshots(
             Filters=[{"Name": "db-instance-id", "Values": [db_instance_arn]}]
-        ).get("DBSnapshots")
+        )["DBSnapshots"]
         for snapshot in snapshots:
             assert snapshot["DBInstanceIdentifier"] == db_instance_identifier
 
@@ -270,20 +270,20 @@ class TestDBSnapshotFilters:
 
         snapshots = self.client.describe_db_snapshots(
             Filters=[{"Name": "dbi-resource-id", "Values": [dbi_resource_identifier]}]
-        ).get("DBSnapshots")
+        )["DBSnapshots"]
         for snapshot in snapshots:
             assert snapshot["DbiResourceId"] == dbi_resource_identifier
 
     def test_engine_filter(self):
         snapshots = self.client.describe_db_snapshots(
             Filters=[{"Name": "engine", "Values": ["postgres"]}]
-        ).get("DBSnapshots")
+        )["DBSnapshots"]
         for snapshot in snapshots:
             assert snapshot["Engine"] == "postgres"
 
         snapshots = self.client.describe_db_snapshots(
             Filters=[{"Name": "engine", "Values": ["oracle"]}]
-        ).get("DBSnapshots")
+        )["DBSnapshots"]
         assert len(snapshots) == 0
 
     def test_snapshot_type_filter(self):
@@ -308,7 +308,7 @@ class TestDBSnapshotFilters:
                 },
                 {"Name": "engine", "Values": ["mysql"]},
             ]
-        ).get("DBSnapshots")
+        )["DBSnapshots"]
         assert len(snapshots) == 1
         assert snapshots[0]["DBSnapshotIdentifier"] == "db-instance-0-snapshot-1"
 
@@ -364,7 +364,7 @@ class TestDBSnapshotFilters:
                 },
                 {"Name": "engine", "Values": ["mysql", "postgres"]},
             ],
-        ).get("DBSnapshots")
+        )["DBSnapshots"]
         returned_identifiers = [ss["DBSnapshotIdentifier"] for ss in snapshots]
         assert len(returned_identifiers) == 2
         assert "db-instance-0-snapshot-0" in returned_identifiers
diff --git a/tests/test_rds/test_rds.py b/tests/test_rds/test_rds.py
index 92f34b9ed..254be6747 100644
--- a/tests/test_rds/test_rds.py
+++ b/tests/test_rds/test_rds.py
@@ -849,6 +849,25 @@ def test_copy_db_snapshots(
     assert result["TagList"] == []
 
 
+@mock_aws
+def test_copy_db_snapshots_snapshot_type_is_always_manual(client):
+    # Even when copying a snapshot with SnapshotType=="automated", the
+    # SnapshotType of the copy is "manual".
+    db_instance_identifier = create_db_instance()["DBInstanceIdentifier"]
+    client.delete_db_instance(
+        DBInstanceIdentifier=db_instance_identifier,
+        FinalDBSnapshotIdentifier="final-snapshot",
+    )
+    snapshot1 = client.describe_db_snapshots()["DBSnapshots"][0]
+    assert snapshot1["SnapshotType"] == "automated"
+
+    snapshot2 = client.copy_db_snapshot(
+        SourceDBSnapshotIdentifier="final-snapshot",
+        TargetDBSnapshotIdentifier="snapshot-2",
+    )["DBSnapshot"]
+    assert snapshot2["SnapshotType"] == "manual"
+
+
 @mock_aws
 def test_copy_db_snapshot_invalid_arns(client):
     invalid_arn = (
diff --git a/tests/test_rds/test_rds_clusters.py b/tests/test_rds/test_rds_clusters.py
index 4077bcd99..e0e795efe 100644
--- a/tests/test_rds/test_rds_clusters.py
+++ b/tests/test_rds/test_rds_clusters.py
@@ -511,7 +511,7 @@ def test_create_db_cluster_snapshot(client):
     db_cluster_identifier = create_db_cluster()
     snapshot = client.create_db_cluster_snapshot(
         DBClusterIdentifier=db_cluster_identifier, DBClusterSnapshotIdentifier="g-1"
-    ).get("DBClusterSnapshot")
+    )["DBClusterSnapshot"]
 
     assert snapshot["Engine"] == "postgres"
     assert snapshot["DBClusterIdentifier"] == "db-primary-1"
@@ -532,11 +532,11 @@ def test_create_db_cluster_snapshot_copy_tags(client):
 
     snapshot = client.create_db_cluster_snapshot(
         DBClusterIdentifier=db_cluster_identifier, DBClusterSnapshotIdentifier="g-1"
-    ).get("DBClusterSnapshot")
+    )["DBClusterSnapshot"]
 
-    assert snapshot.get("Engine") == "postgres"
-    assert snapshot.get("DBClusterIdentifier") == db_cluster_identifier
-    assert snapshot.get("DBClusterSnapshotIdentifier") == "g-1"
+    assert snapshot["Engine"] == "postgres"
+    assert snapshot["DBClusterIdentifier"] == db_cluster_identifier
+    assert snapshot["DBClusterSnapshotIdentifier"] == "g-1"
 
     result = client.list_tags_for_resource(
         ResourceName=snapshot["DBClusterSnapshotArn"]
@@ -567,40 +567,63 @@ def test_copy_db_cluster_snapshot_fails_for_unknown_snapshot(client):
     assert err["Message"] == "DBClusterSnapshot snapshot-1 not found."
 
 
+@pytest.mark.parametrize("delete_cluster", [True, False])
 @mock_aws
-def test_copy_db_cluster_snapshot(client):
+def test_copy_db_cluster_snapshot(delete_cluster: bool, client):
     db_cluster_identifier = create_db_cluster()
     client.create_db_cluster_snapshot(
         DBClusterIdentifier=db_cluster_identifier,
         DBClusterSnapshotIdentifier="snapshot-1",
-    ).get("DBClusterSnapshot")
+    )
+
+    if delete_cluster:
+        client.delete_db_cluster(DBClusterIdentifier=db_cluster_identifier)
 
     target_snapshot = client.copy_db_cluster_snapshot(
         SourceDBClusterSnapshotIdentifier="snapshot-1",
         TargetDBClusterSnapshotIdentifier="snapshot-2",
-    ).get("DBClusterSnapshot")
+    )["DBClusterSnapshot"]
 
-    assert target_snapshot.get("Engine") == "postgres"
-    assert target_snapshot.get("DBClusterIdentifier") == "db-primary-1"
-    assert target_snapshot.get("DBClusterSnapshotIdentifier") == "snapshot-2"
+    assert target_snapshot["Engine"] == "postgres"
+    assert target_snapshot["DBClusterIdentifier"] == "db-primary-1"
+    assert target_snapshot["DBClusterSnapshotIdentifier"] == "snapshot-2"
     result = client.list_tags_for_resource(
         ResourceName=target_snapshot["DBClusterSnapshotArn"]
     )
     assert result["TagList"] == []
 
 
+@mock_aws
+def test_copy_db_cluster_snapshot_type_is_always_manual(client):
+    # Even when copying a snapshot with SnapshotType=="automated", the
+    # SnapshotType of the copy is "manual".
+    db_cluster_identifier = create_db_cluster()
+    client.delete_db_cluster(
+        DBClusterIdentifier=db_cluster_identifier,
+        FinalDBSnapshotIdentifier="final-snapshot",
+    )
+    snapshot1 = client.describe_db_cluster_snapshots()["DBClusterSnapshots"][0]
+    assert snapshot1["SnapshotType"] == "automated"
+
+    snapshot2 = client.copy_db_cluster_snapshot(
+        SourceDBClusterSnapshotIdentifier="final-snapshot",
+        TargetDBClusterSnapshotIdentifier="snapshot-2",
+    )["DBClusterSnapshot"]
+    assert snapshot2["SnapshotType"] == "manual"
+
+
 @mock_aws
 def test_copy_db_cluster_snapshot_fails_for_existed_target_snapshot(client):
     db_cluster_identifier = create_db_cluster()
     client.create_db_cluster_snapshot(
         DBClusterIdentifier=db_cluster_identifier,
         DBClusterSnapshotIdentifier="snapshot-1",
-    ).get("DBClusterSnapshot")
+    )
 
     client.create_db_cluster_snapshot(
         DBClusterIdentifier=db_cluster_identifier,
         DBClusterSnapshotIdentifier="snapshot-2",
-    ).get("DBClusterSnapshot")
+    )
 
     with pytest.raises(ClientError) as exc:
         client.copy_db_cluster_snapshot(
@@ -622,28 +645,28 @@ def test_describe_db_cluster_snapshots(client):
     created = client.create_db_cluster_snapshot(
         DBClusterIdentifier=db_cluster_identifier,
         DBClusterSnapshotIdentifier="snapshot-1",
-    ).get("DBClusterSnapshot")
+    )["DBClusterSnapshot"]
 
-    assert created.get("Engine") == "postgres"
+    assert created["Engine"] == "postgres"
 
     by_database_id = client.describe_db_cluster_snapshots(
         DBClusterIdentifier="db-primary-1"
-    ).get("DBClusterSnapshots")
+    )["DBClusterSnapshots"]
     by_snapshot_id = client.describe_db_cluster_snapshots(
         DBClusterSnapshotIdentifier="snapshot-1"
-    ).get("DBClusterSnapshots")
+    )["DBClusterSnapshots"]
     assert by_snapshot_id == by_database_id
 
     snapshot = by_snapshot_id[0]
     assert snapshot == created
-    assert snapshot.get("Engine") == "postgres"
+    assert snapshot["Engine"] == "postgres"
 
     client.create_db_cluster_snapshot(
         DBClusterIdentifier="db-primary-1", DBClusterSnapshotIdentifier="snapshot-2"
     )
     snapshots = client.describe_db_cluster_snapshots(
         DBClusterIdentifier="db-primary-1"
-    ).get("DBClusterSnapshots")
+    )["DBClusterSnapshots"]
     assert len(snapshots) == 2
 
 
@@ -909,19 +932,14 @@ def test_describe_db_cluster_snapshot_attributes_default(client):
     db_cluster_identifier = create_db_cluster()
     client.create_db_cluster_snapshot(
         DBClusterIdentifier=db_cluster_identifier, DBClusterSnapshotIdentifier="g-1"
-    ).get("DBClusterSnapshot")
+    )
 
-    resp = client.describe_db_cluster_snapshot_attributes(
+    result = client.describe_db_cluster_snapshot_attributes(
         DBClusterSnapshotIdentifier="g-1"
-    )
+    )["DBClusterSnapshotAttributesResult"]
 
-    assert (
-        resp["DBClusterSnapshotAttributesResult"]["DBClusterSnapshotIdentifier"]
-        == "g-1"
-    )
-    assert (
-        resp["DBClusterSnapshotAttributesResult"]["DBClusterSnapshotAttributes"] == []
-    )
+    assert result["DBClusterSnapshotIdentifier"] == "g-1"
+    assert result["DBClusterSnapshotAttributes"] == []
 
 
 @mock_aws
@@ -929,7 +947,7 @@ def test_describe_db_cluster_snapshot_attributes(client):
     db_cluster_identifier = create_db_cluster()
     client.create_db_cluster_snapshot(
         DBClusterIdentifier=db_cluster_identifier, DBClusterSnapshotIdentifier="g-1"
-    ).get("DBClusterSnapshot")
+    )
 
     client.modify_db_cluster_snapshot_attribute(
         DBClusterSnapshotIdentifier="g-1",
@@ -937,23 +955,16 @@ def test_describe_db_cluster_snapshot_attributes(client):
         ValuesToAdd=["test", "test2"],
     )
 
-    resp = client.describe_db_cluster_snapshot_attributes(
+    result = client.describe_db_cluster_snapshot_attributes(
         DBClusterSnapshotIdentifier="g-1"
-    )
+    )["DBClusterSnapshotAttributesResult"]
 
-    assert (
-        resp["DBClusterSnapshotAttributesResult"]["DBClusterSnapshotIdentifier"]
-        == "g-1"
-    )
-    assert (
-        resp["DBClusterSnapshotAttributesResult"]["DBClusterSnapshotAttributes"][0][
-            "AttributeName"
-        ]
-        == "restore"
-    )
-    assert resp["DBClusterSnapshotAttributesResult"]["DBClusterSnapshotAttributes"][0][
-        "AttributeValues"
-    ] == ["test", "test2"]
+    assert result["DBClusterSnapshotIdentifier"] == "g-1"
+    assert result["DBClusterSnapshotAttributes"][0]["AttributeName"] == "restore"
+    assert result["DBClusterSnapshotAttributes"][0]["AttributeValues"] == [
+        "test",
+        "test2",
+    ]
 
 
 @mock_aws
@@ -961,36 +972,29 @@ def test_modify_db_cluster_snapshot_attribute(client):
     db_cluster_identifier = create_db_cluster()
     client.create_db_cluster_snapshot(
         DBClusterIdentifier=db_cluster_identifier, DBClusterSnapshotIdentifier="g-1"
-    ).get("DBClusterSnapshot")
+    )
 
-    resp = client.modify_db_cluster_snapshot_attribute(
+    client.modify_db_cluster_snapshot_attribute(
         DBClusterSnapshotIdentifier="g-1",
         AttributeName="restore",
         ValuesToAdd=["test", "test2"],
     )
-    resp = client.modify_db_cluster_snapshot_attribute(
+    client.modify_db_cluster_snapshot_attribute(
         DBClusterSnapshotIdentifier="g-1",
         AttributeName="restore",
         ValuesToRemove=["test"],
     )
-    resp = client.modify_db_cluster_snapshot_attribute(
+    result = client.modify_db_cluster_snapshot_attribute(
         DBClusterSnapshotIdentifier="g-1",
         AttributeName="restore",
         ValuesToAdd=["test3"],
-    )
-    assert (
-        resp["DBClusterSnapshotAttributesResult"]["DBClusterSnapshotIdentifier"]
-        == "g-1"
-    )
-    assert (
-        resp["DBClusterSnapshotAttributesResult"]["DBClusterSnapshotAttributes"][0][
-            "AttributeName"
-        ]
-        == "restore"
-    )
-    assert resp["DBClusterSnapshotAttributesResult"]["DBClusterSnapshotAttributes"][0][
-        "AttributeValues"
-    ] == ["test2", "test3"]
+    )["DBClusterSnapshotAttributesResult"]
+    assert result["DBClusterSnapshotIdentifier"] == "g-1"
+    assert result["DBClusterSnapshotAttributes"][0]["AttributeName"] == "restore"
+    assert result["DBClusterSnapshotAttributes"][0]["AttributeValues"] == [
+        "test2",
+        "test3",
+    ]
 
 
 @mock_aws
diff --git a/tests/test_rds/test_rds_clusters_with_instances.py b/tests/test_rds/test_rds_clusters_with_instances.py
index 27933cb9d..91d25358a 100644
--- a/tests/test_rds/test_rds_clusters_with_instances.py
+++ b/tests/test_rds/test_rds_clusters_with_instances.py
@@ -126,5 +126,5 @@ def test_delete_db_cluster_fails_if_cluster_contains_db_instances():
     cluster = client.delete_db_cluster(
         DBClusterIdentifier=cluster_identifier,
         SkipFinalSnapshot=True,
-    ).get("DBCluster")
+    )["DBCluster"]
     assert cluster["DBClusterIdentifier"] == cluster_identifier
diff --git a/tests/test_rds/test_rds_event_subscriptions.py b/tests/test_rds/test_rds_event_subscriptions.py
index ff7f4dadc..41659989e 100644
--- a/tests/test_rds/test_rds_event_subscriptions.py
+++ b/tests/test_rds/test_rds_event_subscriptions.py
@@ -41,7 +41,7 @@ def test_create_event_subscription():
             "Restoration",
         ],
         SourceIds=[db_identifier],
-    ).get("EventSubscription")
+    )["EventSubscription"]
 
     assert es["CustSubscriptionId"] == f"{db_identifier}-events"
     assert es["SnsTopicArn"] == (
@@ -99,9 +99,9 @@ def test_delete_event_subscription():
         SnsTopicArn=f"arn:aws:sns::{ACCOUNT_ID}:{db_identifier}-events-topic",
     )
 
-    es = client.delete_event_subscription(
-        SubscriptionName=f"{db_identifier}-events"
-    ).get("EventSubscription")
+    es = client.delete_event_subscription(SubscriptionName=f"{db_identifier}-events")[
+        "EventSubscription"
+    ]
 
     assert es["CustSubscriptionId"] == f"{db_identifier}-events"
     assert es["SnsTopicArn"] == (
@@ -119,7 +119,7 @@ def test_describe_event_subscriptions():
         SnsTopicArn=f"arn:aws:sns::{ACCOUNT_ID}:{db_identifier}-events-topic",
     )
 
-    subscriptions = client.describe_event_subscriptions().get("EventSubscriptionsList")
+    subscriptions = client.describe_event_subscriptions()["EventSubscriptionsList"]
 
     assert len(subscriptions) == 1
     assert subscriptions[0]["CustSubscriptionId"] == f"{db_identifier}-events"
diff --git a/tests/test_rds/test_rds_export_tasks.py b/tests/test_rds/test_rds_export_tasks.py
index dd3c7ee26..88ed96d5d 100644
--- a/tests/test_rds/test_rds_export_tasks.py
+++ b/tests/test_rds/test_rds_export_tasks.py
@@ -194,7 +194,7 @@ def test_describe_export_tasks():
         KmsKeyId="",
     )
 
-    exports = client.describe_export_tasks().get("ExportTasks")
+    exports = client.describe_export_tasks()["ExportTasks"]
 
     assert len(exports) == 1
     assert exports[0]["ExportTaskIdentifier"] == "export-snapshot-1"