Repository: getmoto/moto
Pull request #6703 (2023-08-20 06:08:12)

chore: update EC2 Instance Offerings
Automated changes by [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action


Patch:
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-northeast-1.json b/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-northeast-1.json
index 72abdc299..8a956ac3c 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-northeast-1.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-northeast-1.json
@@ -515,6 +515,30 @@
   "InstanceType": "d3.xlarge",
   "Location": "apne1-az1"
  },
+ {
+  "InstanceType": "d3en.12xlarge",
+  "Location": "apne1-az1"
+ },
+ {
+  "InstanceType": "d3en.2xlarge",
+  "Location": "apne1-az1"
+ },
+ {
+  "InstanceType": "d3en.4xlarge",
+  "Location": "apne1-az1"
+ },
+ {
+  "InstanceType": "d3en.6xlarge",
+  "Location": "apne1-az1"
+ },
+ {
+  "InstanceType": "d3en.8xlarge",
+  "Location": "apne1-az1"
+ },
+ {
+  "InstanceType": "d3en.xlarge",
+  "Location": "apne1-az1"
+ },
  {
   "InstanceType": "g2.2xlarge",
   "Location": "apne1-az1"
@@ -4739,6 +4763,30 @@
   "InstanceType": "d3.xlarge",
   "Location": "apne1-az4"
  },
+ {
+  "InstanceType": "d3en.12xlarge",
+  "Location": "apne1-az4"
+ },
+ {
+  "InstanceType": "d3en.2xlarge",
+  "Location": "apne1-az4"
+ },
+ {
+  "InstanceType": "d3en.4xlarge",
+  "Location": "apne1-az4"
+ },
+ {
+  "InstanceType": "d3en.6xlarge",
+  "Location": "apne1-az4"
+ },
+ {
+  "InstanceType": "d3en.8xlarge",
+  "Location": "apne1-az4"
+ },
+ {
+  "InstanceType": "d3en.xlarge",
+  "Location": "apne1-az4"
+ },
  {
   "InstanceType": "g2.2xlarge",
   "Location": "apne1-az4"
@@ -5619,6 +5667,42 @@
   "InstanceType": "m6in.xlarge",
   "Location": "apne1-az4"
  },
+ {
+  "InstanceType": "m7g.12xlarge",
+  "Location": "apne1-az4"
+ },
+ {
+  "InstanceType": "m7g.16xlarge",
+  "Location": "apne1-az4"
+ },
+ {
+  "InstanceType": "m7g.2xlarge",
+  "Location": "apne1-az4"
+ },
+ {
+  "InstanceType": "m7g.4xlarge",
+  "Location": "apne1-az4"
+ },
+ {
+  "InstanceType": "m7g.8xlarge",
+  "Location": "apne1-az4"
+ },
+ {
+  "InstanceType": "m7g.large",
+  "Location": "apne1-az4"
+ },
+ {
+  "InstanceType": "m7g.medium",
+  "Location": "apne1-az4"
+ },
+ {
+  "InstanceType": "m7g.metal",
+  "Location": "apne1-az4"
+ },
+ {
+  "InstanceType": "m7g.xlarge",
+  "Location": "apne1-az4"
+ },
  {
   "InstanceType": "mac1.metal",
   "Location": "apne1-az4"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-south-2.json b/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-south-2.json
index 4240c358d..bc4195ba1 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-south-2.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-south-2.json
@@ -203,6 +203,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "aps2-az1"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "aps2-az1"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "aps2-az1"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "aps2-az1"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "aps2-az1"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "aps2-az1"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "aps2-az1"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "aps2-az1"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "aps2-az1"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "aps2-az1"
@@ -891,6 +923,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "aps2-az2"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "aps2-az2"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "aps2-az2"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "aps2-az2"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "aps2-az2"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "aps2-az2"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "aps2-az2"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "aps2-az2"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "aps2-az2"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "aps2-az2"
@@ -1575,6 +1639,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "aps2-az3"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "aps2-az3"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "aps2-az3"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "aps2-az3"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "aps2-az3"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "aps2-az3"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "aps2-az3"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "aps2-az3"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "aps2-az3"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "aps2-az3"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-southeast-1.json b/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-southeast-1.json
index ebf074cae..7a2e685da 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-southeast-1.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-southeast-1.json
@@ -499,6 +499,30 @@
   "InstanceType": "d3.xlarge",
   "Location": "apse1-az1"
  },
+ {
+  "InstanceType": "d3en.12xlarge",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "d3en.2xlarge",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "d3en.4xlarge",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "d3en.6xlarge",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "d3en.8xlarge",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "d3en.xlarge",
+  "Location": "apse1-az1"
+ },
  {
   "InstanceType": "g2.2xlarge",
   "Location": "apse1-az1"
@@ -1287,6 +1311,42 @@
   "InstanceType": "m6in.xlarge",
   "Location": "apse1-az1"
  },
+ {
+  "InstanceType": "m7g.12xlarge",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "m7g.16xlarge",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "m7g.2xlarge",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "m7g.4xlarge",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "m7g.8xlarge",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "m7g.large",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "m7g.medium",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "m7g.metal",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "m7g.xlarge",
+  "Location": "apse1-az1"
+ },
  {
   "InstanceType": "mac1.metal",
   "Location": "apse1-az1"
@@ -1839,6 +1899,42 @@
   "InstanceType": "r6in.xlarge",
   "Location": "apse1-az1"
  },
+ {
+  "InstanceType": "r7g.12xlarge",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "r7g.16xlarge",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "r7g.2xlarge",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "r7g.4xlarge",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "r7g.8xlarge",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "r7g.large",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "r7g.medium",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "r7g.metal",
+  "Location": "apse1-az1"
+ },
+ {
+  "InstanceType": "r7g.xlarge",
+  "Location": "apse1-az1"
+ },
  {
   "InstanceType": "t1.micro",
   "Location": "apse1-az1"
@@ -2615,6 +2711,30 @@
   "InstanceType": "d3.xlarge",
   "Location": "apse1-az2"
  },
+ {
+  "InstanceType": "d3en.12xlarge",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "d3en.2xlarge",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "d3en.4xlarge",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "d3en.6xlarge",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "d3en.8xlarge",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "d3en.xlarge",
+  "Location": "apse1-az2"
+ },
  {
   "InstanceType": "g2.2xlarge",
   "Location": "apse1-az2"
@@ -3399,6 +3519,42 @@
   "InstanceType": "m6in.xlarge",
   "Location": "apse1-az2"
  },
+ {
+  "InstanceType": "m7g.12xlarge",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "m7g.16xlarge",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "m7g.2xlarge",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "m7g.4xlarge",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "m7g.8xlarge",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "m7g.large",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "m7g.medium",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "m7g.metal",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "m7g.xlarge",
+  "Location": "apse1-az2"
+ },
  {
   "InstanceType": "mac1.metal",
   "Location": "apse1-az2"
@@ -3951,6 +4107,42 @@
   "InstanceType": "r6in.xlarge",
   "Location": "apse1-az2"
  },
+ {
+  "InstanceType": "r7g.12xlarge",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "r7g.16xlarge",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "r7g.2xlarge",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "r7g.4xlarge",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "r7g.8xlarge",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "r7g.large",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "r7g.medium",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "r7g.metal",
+  "Location": "apse1-az2"
+ },
+ {
+  "InstanceType": "r7g.xlarge",
+  "Location": "apse1-az2"
+ },
  {
   "InstanceType": "t1.micro",
   "Location": "apse1-az2"
@@ -5247,6 +5439,42 @@
   "InstanceType": "m6i.xlarge",
   "Location": "apse1-az3"
  },
+ {
+  "InstanceType": "m7g.12xlarge",
+  "Location": "apse1-az3"
+ },
+ {
+  "InstanceType": "m7g.16xlarge",
+  "Location": "apse1-az3"
+ },
+ {
+  "InstanceType": "m7g.2xlarge",
+  "Location": "apse1-az3"
+ },
+ {
+  "InstanceType": "m7g.4xlarge",
+  "Location": "apse1-az3"
+ },
+ {
+  "InstanceType": "m7g.8xlarge",
+  "Location": "apse1-az3"
+ },
+ {
+  "InstanceType": "m7g.large",
+  "Location": "apse1-az3"
+ },
+ {
+  "InstanceType": "m7g.medium",
+  "Location": "apse1-az3"
+ },
+ {
+  "InstanceType": "m7g.metal",
+  "Location": "apse1-az3"
+ },
+ {
+  "InstanceType": "m7g.xlarge",
+  "Location": "apse1-az3"
+ },
  {
   "InstanceType": "r4.16xlarge",
   "Location": "apse1-az3"
@@ -5747,6 +5975,42 @@
   "InstanceType": "r6in.xlarge",
   "Location": "apse1-az3"
  },
+ {
+  "InstanceType": "r7g.12xlarge",
+  "Location": "apse1-az3"
+ },
+ {
+  "InstanceType": "r7g.16xlarge",
+  "Location": "apse1-az3"
+ },
+ {
+  "InstanceType": "r7g.2xlarge",
+  "Location": "apse1-az3"
+ },
+ {
+  "InstanceType": "r7g.4xlarge",
+  "Location": "apse1-az3"
+ },
+ {
+  "InstanceType": "r7g.8xlarge",
+  "Location": "apse1-az3"
+ },
+ {
+  "InstanceType": "r7g.large",
+  "Location": "apse1-az3"
+ },
+ {
+  "InstanceType": "r7g.medium",
+  "Location": "apse1-az3"
+ },
+ {
+  "InstanceType": "r7g.metal",
+  "Location": "apse1-az3"
+ },
+ {
+  "InstanceType": "r7g.xlarge",
+  "Location": "apse1-az3"
+ },
  {
   "InstanceType": "t2.2xlarge",
   "Location": "apse1-az3"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-southeast-3.json b/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-southeast-3.json
index a34eafc1f..4fc830c02 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-southeast-3.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone-id/ap-southeast-3.json
@@ -299,6 +299,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "apse3-az1"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "apse3-az1"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "apse3-az1"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "apse3-az1"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "apse3-az1"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "apse3-az1"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "apse3-az1"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "apse3-az1"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "apse3-az1"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "apse3-az1"
@@ -999,6 +1031,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "apse3-az2"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "apse3-az2"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "apse3-az2"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "apse3-az2"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "apse3-az2"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "apse3-az2"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "apse3-az2"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "apse3-az2"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "apse3-az2"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "apse3-az2"
@@ -1683,6 +1747,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "apse3-az3"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "apse3-az3"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "apse3-az3"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "apse3-az3"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "apse3-az3"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "apse3-az3"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "apse3-az3"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "apse3-az3"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "apse3-az3"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "apse3-az3"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-central-1.json b/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-central-1.json
index 9673f6c0c..2c62c6a3b 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-central-1.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-central-1.json
@@ -519,6 +519,30 @@
   "InstanceType": "d3.xlarge",
   "Location": "euc1-az1"
  },
+ {
+  "InstanceType": "d3en.12xlarge",
+  "Location": "euc1-az1"
+ },
+ {
+  "InstanceType": "d3en.2xlarge",
+  "Location": "euc1-az1"
+ },
+ {
+  "InstanceType": "d3en.4xlarge",
+  "Location": "euc1-az1"
+ },
+ {
+  "InstanceType": "d3en.6xlarge",
+  "Location": "euc1-az1"
+ },
+ {
+  "InstanceType": "d3en.8xlarge",
+  "Location": "euc1-az1"
+ },
+ {
+  "InstanceType": "d3en.xlarge",
+  "Location": "euc1-az1"
+ },
  {
   "InstanceType": "f1.2xlarge",
   "Location": "euc1-az1"
@@ -2623,6 +2647,30 @@
   "InstanceType": "d3.xlarge",
   "Location": "euc1-az2"
  },
+ {
+  "InstanceType": "d3en.12xlarge",
+  "Location": "euc1-az2"
+ },
+ {
+  "InstanceType": "d3en.2xlarge",
+  "Location": "euc1-az2"
+ },
+ {
+  "InstanceType": "d3en.4xlarge",
+  "Location": "euc1-az2"
+ },
+ {
+  "InstanceType": "d3en.6xlarge",
+  "Location": "euc1-az2"
+ },
+ {
+  "InstanceType": "d3en.8xlarge",
+  "Location": "euc1-az2"
+ },
+ {
+  "InstanceType": "d3en.xlarge",
+  "Location": "euc1-az2"
+ },
  {
   "InstanceType": "g2.2xlarge",
   "Location": "euc1-az2"
@@ -4703,6 +4751,30 @@
   "InstanceType": "d3.xlarge",
   "Location": "euc1-az3"
  },
+ {
+  "InstanceType": "d3en.12xlarge",
+  "Location": "euc1-az3"
+ },
+ {
+  "InstanceType": "d3en.2xlarge",
+  "Location": "euc1-az3"
+ },
+ {
+  "InstanceType": "d3en.4xlarge",
+  "Location": "euc1-az3"
+ },
+ {
+  "InstanceType": "d3en.6xlarge",
+  "Location": "euc1-az3"
+ },
+ {
+  "InstanceType": "d3en.8xlarge",
+  "Location": "euc1-az3"
+ },
+ {
+  "InstanceType": "d3en.xlarge",
+  "Location": "euc1-az3"
+ },
  {
   "InstanceType": "f1.2xlarge",
   "Location": "euc1-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 178edcd78..d79292128 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
@@ -775,6 +775,22 @@
   "InstanceType": "g5.xlarge",
   "Location": "euw1-az1"
  },
+ {
+  "InstanceType": "hpc7a.12xlarge",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "hpc7a.24xlarge",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "hpc7a.48xlarge",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "hpc7a.96xlarge",
+  "Location": "euw1-az1"
+ },
  {
   "InstanceType": "i2.2xlarge",
   "Location": "euw1-az1"
@@ -1547,6 +1563,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "euw1-az1"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "euw1-az1"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "euw1-az1"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "euw1-az1"
@@ -4211,6 +4275,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "euw1-az2"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "euw1-az2"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "euw1-az2"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "euw1-az2"
@@ -6867,6 +6979,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "euw1-az3"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "euw1-az3"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "euw1-az3"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "euw1-az3"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone-id/me-central-1.json b/moto/ec2/resources/instance_type_offerings/availability-zone-id/me-central-1.json
index d1350800c..dcba82c31 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone-id/me-central-1.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone-id/me-central-1.json
@@ -235,6 +235,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "mec1-az1"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "mec1-az1"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "mec1-az1"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "mec1-az1"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "mec1-az1"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "mec1-az1"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "mec1-az1"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "mec1-az1"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "mec1-az1"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "mec1-az1"
@@ -875,6 +907,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "mec1-az2"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "mec1-az2"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "mec1-az2"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "mec1-az2"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "mec1-az2"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "mec1-az2"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "mec1-az2"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "mec1-az2"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "mec1-az2"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "mec1-az2"
@@ -1483,6 +1547,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "mec1-az3"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "mec1-az3"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "mec1-az3"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "mec1-az3"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "mec1-az3"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "mec1-az3"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "mec1-az3"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "mec1-az3"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "mec1-az3"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "mec1-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 05b51da89..5067de4b4 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
@@ -3735,6 +3735,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "use1-az2"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "use1-az2"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "use1-az2"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "use1-az2"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "use1-az2"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "use1-az2"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "use1-az2"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "use1-az2"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "use1-az2"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "use1-az2"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "use1-az2"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "use1-az2"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "use1-az2"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "use1-az2"
@@ -6679,6 +6727,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "use1-az4"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "use1-az4"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "use1-az4"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "use1-az4"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "use1-az4"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "use1-az4"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "use1-az4"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "use1-az4"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "use1-az4"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "use1-az4"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "use1-az4"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "use1-az4"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "use1-az4"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "use1-az4"
@@ -9083,6 +9179,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "use1-az5"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "use1-az5"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "use1-az5"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "use1-az5"
@@ -11631,6 +11775,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "use1-az6"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "use1-az6"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "use1-az6"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "use1-az6"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "use1-az6"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "use1-az6"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "use1-az6"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "use1-az6"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "use1-az6"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "use1-az6"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "use1-az6"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "use1-az6"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "use1-az6"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "use1-az6"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone-id/us-east-2.json b/moto/ec2/resources/instance_type_offerings/availability-zone-id/us-east-2.json
index a69881f15..8a325a96c 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone-id/us-east-2.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone-id/us-east-2.json
@@ -1467,6 +1467,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "use2-az1"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "use2-az1"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "use2-az1"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "use2-az1"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "use2-az1"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "use2-az1"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "use2-az1"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "use2-az1"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "use2-az1"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "use2-az1"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "use2-az1"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "use2-az1"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "use2-az1"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "use2-az1"
@@ -3251,6 +3299,22 @@
   "InstanceType": "hpc6id.32xlarge",
   "Location": "use2-az2"
  },
+ {
+  "InstanceType": "hpc7a.12xlarge",
+  "Location": "use2-az2"
+ },
+ {
+  "InstanceType": "hpc7a.24xlarge",
+  "Location": "use2-az2"
+ },
+ {
+  "InstanceType": "hpc7a.48xlarge",
+  "Location": "use2-az2"
+ },
+ {
+  "InstanceType": "hpc7a.96xlarge",
+  "Location": "use2-az2"
+ },
  {
   "InstanceType": "i2.2xlarge",
   "Location": "use2-az2"
@@ -3999,6 +4063,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "use2-az2"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "use2-az2"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "use2-az2"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "use2-az2"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "use2-az2"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "use2-az2"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "use2-az2"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "use2-az2"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "use2-az2"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "use2-az2"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "use2-az2"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "use2-az2"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "use2-az2"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "use2-az2"
@@ -6475,6 +6587,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "use2-az3"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "use2-az3"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "use2-az3"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "use2-az3"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "use2-az3"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "use2-az3"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "use2-az3"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "use2-az3"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "use2-az3"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "use2-az3"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "use2-az3"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "use2-az3"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "use2-az3"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "use2-az3"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone-id/us-west-2.json b/moto/ec2/resources/instance_type_offerings/availability-zone-id/us-west-2.json
index b98625393..4706ae7e3 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone-id/us-west-2.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone-id/us-west-2.json
@@ -1587,6 +1587,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "usw2-az1"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "usw2-az1"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "usw2-az1"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "usw2-az1"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "usw2-az1"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "usw2-az1"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "usw2-az1"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "usw2-az1"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "usw2-az1"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "usw2-az1"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "usw2-az1"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "usw2-az1"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "usw2-az1"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "usw2-az1"
@@ -4307,6 +4355,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "usw2-az2"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "usw2-az2"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "usw2-az2"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "usw2-az2"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "usw2-az2"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "usw2-az2"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "usw2-az2"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "usw2-az2"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "usw2-az2"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "usw2-az2"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "usw2-az2"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "usw2-az2"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "usw2-az2"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "usw2-az2"
@@ -6991,6 +7087,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "usw2-az3"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "usw2-az3"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "usw2-az3"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "usw2-az3"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "usw2-az3"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "usw2-az3"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "usw2-az3"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "usw2-az3"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "usw2-az3"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "usw2-az3"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "usw2-az3"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "usw2-az3"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "usw2-az3"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "usw2-az3"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone/ap-northeast-1.json b/moto/ec2/resources/instance_type_offerings/availability-zone/ap-northeast-1.json
index 1aea3535c..90d06349a 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone/ap-northeast-1.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone/ap-northeast-1.json
@@ -539,6 +539,30 @@
   "InstanceType": "d3.xlarge",
   "Location": "ap-northeast-1a"
  },
+ {
+  "InstanceType": "d3en.12xlarge",
+  "Location": "ap-northeast-1a"
+ },
+ {
+  "InstanceType": "d3en.2xlarge",
+  "Location": "ap-northeast-1a"
+ },
+ {
+  "InstanceType": "d3en.4xlarge",
+  "Location": "ap-northeast-1a"
+ },
+ {
+  "InstanceType": "d3en.6xlarge",
+  "Location": "ap-northeast-1a"
+ },
+ {
+  "InstanceType": "d3en.8xlarge",
+  "Location": "ap-northeast-1a"
+ },
+ {
+  "InstanceType": "d3en.xlarge",
+  "Location": "ap-northeast-1a"
+ },
  {
   "InstanceType": "g2.2xlarge",
   "Location": "ap-northeast-1a"
@@ -1419,6 +1443,42 @@
   "InstanceType": "m6in.xlarge",
   "Location": "ap-northeast-1a"
  },
+ {
+  "InstanceType": "m7g.12xlarge",
+  "Location": "ap-northeast-1a"
+ },
+ {
+  "InstanceType": "m7g.16xlarge",
+  "Location": "ap-northeast-1a"
+ },
+ {
+  "InstanceType": "m7g.2xlarge",
+  "Location": "ap-northeast-1a"
+ },
+ {
+  "InstanceType": "m7g.4xlarge",
+  "Location": "ap-northeast-1a"
+ },
+ {
+  "InstanceType": "m7g.8xlarge",
+  "Location": "ap-northeast-1a"
+ },
+ {
+  "InstanceType": "m7g.large",
+  "Location": "ap-northeast-1a"
+ },
+ {
+  "InstanceType": "m7g.medium",
+  "Location": "ap-northeast-1a"
+ },
+ {
+  "InstanceType": "m7g.metal",
+  "Location": "ap-northeast-1a"
+ },
+ {
+  "InstanceType": "m7g.xlarge",
+  "Location": "ap-northeast-1a"
+ },
  {
   "InstanceType": "mac1.metal",
   "Location": "ap-northeast-1a"
@@ -2807,6 +2867,30 @@
   "InstanceType": "d3.xlarge",
   "Location": "ap-northeast-1c"
  },
+ {
+  "InstanceType": "d3en.12xlarge",
+  "Location": "ap-northeast-1c"
+ },
+ {
+  "InstanceType": "d3en.2xlarge",
+  "Location": "ap-northeast-1c"
+ },
+ {
+  "InstanceType": "d3en.4xlarge",
+  "Location": "ap-northeast-1c"
+ },
+ {
+  "InstanceType": "d3en.6xlarge",
+  "Location": "ap-northeast-1c"
+ },
+ {
+  "InstanceType": "d3en.8xlarge",
+  "Location": "ap-northeast-1c"
+ },
+ {
+  "InstanceType": "d3en.xlarge",
+  "Location": "ap-northeast-1c"
+ },
  {
   "InstanceType": "g2.2xlarge",
   "Location": "ap-northeast-1c"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone/ap-south-2.json b/moto/ec2/resources/instance_type_offerings/availability-zone/ap-south-2.json
index 2328d7502..a9e2ef89d 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone/ap-south-2.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone/ap-south-2.json
@@ -203,6 +203,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "ap-south-2a"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "ap-south-2a"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "ap-south-2a"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "ap-south-2a"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "ap-south-2a"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "ap-south-2a"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "ap-south-2a"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "ap-south-2a"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "ap-south-2a"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "ap-south-2a"
@@ -891,6 +923,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "ap-south-2b"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "ap-south-2b"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "ap-south-2b"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "ap-south-2b"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "ap-south-2b"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "ap-south-2b"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "ap-south-2b"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "ap-south-2b"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "ap-south-2b"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "ap-south-2b"
@@ -1575,6 +1639,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "ap-south-2c"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "ap-south-2c"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "ap-south-2c"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "ap-south-2c"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "ap-south-2c"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "ap-south-2c"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "ap-south-2c"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "ap-south-2c"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "ap-south-2c"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "ap-south-2c"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone/ap-southeast-1.json b/moto/ec2/resources/instance_type_offerings/availability-zone/ap-southeast-1.json
index 44e7e143f..cd35f865b 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone/ap-southeast-1.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone/ap-southeast-1.json
@@ -531,6 +531,30 @@
   "InstanceType": "d3.xlarge",
   "Location": "ap-southeast-1a"
  },
+ {
+  "InstanceType": "d3en.12xlarge",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "d3en.2xlarge",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "d3en.4xlarge",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "d3en.6xlarge",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "d3en.8xlarge",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "d3en.xlarge",
+  "Location": "ap-southeast-1a"
+ },
  {
   "InstanceType": "g2.2xlarge",
   "Location": "ap-southeast-1a"
@@ -1315,6 +1339,42 @@
   "InstanceType": "m6in.xlarge",
   "Location": "ap-southeast-1a"
  },
+ {
+  "InstanceType": "m7g.12xlarge",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "m7g.16xlarge",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "m7g.2xlarge",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "m7g.4xlarge",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "m7g.8xlarge",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "m7g.large",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "m7g.medium",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "m7g.metal",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "m7g.xlarge",
+  "Location": "ap-southeast-1a"
+ },
  {
   "InstanceType": "mac1.metal",
   "Location": "ap-southeast-1a"
@@ -1867,6 +1927,42 @@
   "InstanceType": "r6in.xlarge",
   "Location": "ap-southeast-1a"
  },
+ {
+  "InstanceType": "r7g.12xlarge",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "r7g.16xlarge",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "r7g.2xlarge",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "r7g.4xlarge",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "r7g.8xlarge",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "r7g.large",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "r7g.medium",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "r7g.metal",
+  "Location": "ap-southeast-1a"
+ },
+ {
+  "InstanceType": "r7g.xlarge",
+  "Location": "ap-southeast-1a"
+ },
  {
   "InstanceType": "t1.micro",
   "Location": "ap-southeast-1a"
@@ -2611,6 +2707,30 @@
   "InstanceType": "d3.xlarge",
   "Location": "ap-southeast-1b"
  },
+ {
+  "InstanceType": "d3en.12xlarge",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "d3en.2xlarge",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "d3en.4xlarge",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "d3en.6xlarge",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "d3en.8xlarge",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "d3en.xlarge",
+  "Location": "ap-southeast-1b"
+ },
  {
   "InstanceType": "g2.2xlarge",
   "Location": "ap-southeast-1b"
@@ -3399,6 +3519,42 @@
   "InstanceType": "m6in.xlarge",
   "Location": "ap-southeast-1b"
  },
+ {
+  "InstanceType": "m7g.12xlarge",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "m7g.16xlarge",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "m7g.2xlarge",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "m7g.4xlarge",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "m7g.8xlarge",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "m7g.large",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "m7g.medium",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "m7g.metal",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "m7g.xlarge",
+  "Location": "ap-southeast-1b"
+ },
  {
   "InstanceType": "mac1.metal",
   "Location": "ap-southeast-1b"
@@ -3951,6 +4107,42 @@
   "InstanceType": "r6in.xlarge",
   "Location": "ap-southeast-1b"
  },
+ {
+  "InstanceType": "r7g.12xlarge",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "r7g.16xlarge",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "r7g.2xlarge",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "r7g.4xlarge",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "r7g.8xlarge",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "r7g.large",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "r7g.medium",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "r7g.metal",
+  "Location": "ap-southeast-1b"
+ },
+ {
+  "InstanceType": "r7g.xlarge",
+  "Location": "ap-southeast-1b"
+ },
  {
   "InstanceType": "t1.micro",
   "Location": "ap-southeast-1b"
@@ -5247,6 +5439,42 @@
   "InstanceType": "m6i.xlarge",
   "Location": "ap-southeast-1c"
  },
+ {
+  "InstanceType": "m7g.12xlarge",
+  "Location": "ap-southeast-1c"
+ },
+ {
+  "InstanceType": "m7g.16xlarge",
+  "Location": "ap-southeast-1c"
+ },
+ {
+  "InstanceType": "m7g.2xlarge",
+  "Location": "ap-southeast-1c"
+ },
+ {
+  "InstanceType": "m7g.4xlarge",
+  "Location": "ap-southeast-1c"
+ },
+ {
+  "InstanceType": "m7g.8xlarge",
+  "Location": "ap-southeast-1c"
+ },
+ {
+  "InstanceType": "m7g.large",
+  "Location": "ap-southeast-1c"
+ },
+ {
+  "InstanceType": "m7g.medium",
+  "Location": "ap-southeast-1c"
+ },
+ {
+  "InstanceType": "m7g.metal",
+  "Location": "ap-southeast-1c"
+ },
+ {
+  "InstanceType": "m7g.xlarge",
+  "Location": "ap-southeast-1c"
+ },
  {
   "InstanceType": "r4.16xlarge",
   "Location": "ap-southeast-1c"
@@ -5747,6 +5975,42 @@
   "InstanceType": "r6in.xlarge",
   "Location": "ap-southeast-1c"
  },
+ {
+  "InstanceType": "r7g.12xlarge",
+  "Location": "ap-southeast-1c"
+ },
+ {
+  "InstanceType": "r7g.16xlarge",
+  "Location": "ap-southeast-1c"
+ },
+ {
+  "InstanceType": "r7g.2xlarge",
+  "Location": "ap-southeast-1c"
+ },
+ {
+  "InstanceType": "r7g.4xlarge",
+  "Location": "ap-southeast-1c"
+ },
+ {
+  "InstanceType": "r7g.8xlarge",
+  "Location": "ap-southeast-1c"
+ },
+ {
+  "InstanceType": "r7g.large",
+  "Location": "ap-southeast-1c"
+ },
+ {
+  "InstanceType": "r7g.medium",
+  "Location": "ap-southeast-1c"
+ },
+ {
+  "InstanceType": "r7g.metal",
+  "Location": "ap-southeast-1c"
+ },
+ {
+  "InstanceType": "r7g.xlarge",
+  "Location": "ap-southeast-1c"
+ },
  {
   "InstanceType": "t2.2xlarge",
   "Location": "ap-southeast-1c"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone/ap-southeast-3.json b/moto/ec2/resources/instance_type_offerings/availability-zone/ap-southeast-3.json
index c69fbf200..12dac7a74 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone/ap-southeast-3.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone/ap-southeast-3.json
@@ -299,6 +299,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "ap-southeast-3a"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "ap-southeast-3a"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "ap-southeast-3a"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "ap-southeast-3a"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "ap-southeast-3a"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "ap-southeast-3a"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "ap-southeast-3a"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "ap-southeast-3a"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "ap-southeast-3a"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "ap-southeast-3a"
@@ -999,6 +1031,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "ap-southeast-3b"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "ap-southeast-3b"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "ap-southeast-3b"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "ap-southeast-3b"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "ap-southeast-3b"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "ap-southeast-3b"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "ap-southeast-3b"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "ap-southeast-3b"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "ap-southeast-3b"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "ap-southeast-3b"
@@ -1683,6 +1747,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "ap-southeast-3c"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "ap-southeast-3c"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "ap-southeast-3c"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "ap-southeast-3c"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "ap-southeast-3c"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "ap-southeast-3c"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "ap-southeast-3c"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "ap-southeast-3c"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "ap-southeast-3c"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "ap-southeast-3c"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone/eu-central-1.json b/moto/ec2/resources/instance_type_offerings/availability-zone/eu-central-1.json
index 8f4d11d73..0eb926426 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone/eu-central-1.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone/eu-central-1.json
@@ -523,6 +523,30 @@
   "InstanceType": "d3.xlarge",
   "Location": "eu-central-1a"
  },
+ {
+  "InstanceType": "d3en.12xlarge",
+  "Location": "eu-central-1a"
+ },
+ {
+  "InstanceType": "d3en.2xlarge",
+  "Location": "eu-central-1a"
+ },
+ {
+  "InstanceType": "d3en.4xlarge",
+  "Location": "eu-central-1a"
+ },
+ {
+  "InstanceType": "d3en.6xlarge",
+  "Location": "eu-central-1a"
+ },
+ {
+  "InstanceType": "d3en.8xlarge",
+  "Location": "eu-central-1a"
+ },
+ {
+  "InstanceType": "d3en.xlarge",
+  "Location": "eu-central-1a"
+ },
  {
   "InstanceType": "g2.2xlarge",
   "Location": "eu-central-1a"
@@ -2603,6 +2627,30 @@
   "InstanceType": "d3.xlarge",
   "Location": "eu-central-1b"
  },
+ {
+  "InstanceType": "d3en.12xlarge",
+  "Location": "eu-central-1b"
+ },
+ {
+  "InstanceType": "d3en.2xlarge",
+  "Location": "eu-central-1b"
+ },
+ {
+  "InstanceType": "d3en.4xlarge",
+  "Location": "eu-central-1b"
+ },
+ {
+  "InstanceType": "d3en.6xlarge",
+  "Location": "eu-central-1b"
+ },
+ {
+  "InstanceType": "d3en.8xlarge",
+  "Location": "eu-central-1b"
+ },
+ {
+  "InstanceType": "d3en.xlarge",
+  "Location": "eu-central-1b"
+ },
  {
   "InstanceType": "f1.2xlarge",
   "Location": "eu-central-1b"
@@ -4887,6 +4935,30 @@
   "InstanceType": "d3.xlarge",
   "Location": "eu-central-1c"
  },
+ {
+  "InstanceType": "d3en.12xlarge",
+  "Location": "eu-central-1c"
+ },
+ {
+  "InstanceType": "d3en.2xlarge",
+  "Location": "eu-central-1c"
+ },
+ {
+  "InstanceType": "d3en.4xlarge",
+  "Location": "eu-central-1c"
+ },
+ {
+  "InstanceType": "d3en.6xlarge",
+  "Location": "eu-central-1c"
+ },
+ {
+  "InstanceType": "d3en.8xlarge",
+  "Location": "eu-central-1c"
+ },
+ {
+  "InstanceType": "d3en.xlarge",
+  "Location": "eu-central-1c"
+ },
  {
   "InstanceType": "f1.2xlarge",
   "Location": "eu-central-1c"
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 c361f2e14..fd992902f 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
@@ -775,6 +775,22 @@
   "InstanceType": "g5.xlarge",
   "Location": "eu-west-1a"
  },
+ {
+  "InstanceType": "hpc7a.12xlarge",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "hpc7a.24xlarge",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "hpc7a.48xlarge",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "hpc7a.96xlarge",
+  "Location": "eu-west-1a"
+ },
  {
   "InstanceType": "i2.2xlarge",
   "Location": "eu-west-1a"
@@ -1547,6 +1563,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eu-west-1a"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eu-west-1a"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eu-west-1a"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eu-west-1a"
@@ -4211,6 +4275,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eu-west-1b"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eu-west-1b"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eu-west-1b"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eu-west-1b"
@@ -6867,6 +6979,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eu-west-1c"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eu-west-1c"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eu-west-1c"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eu-west-1c"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone/me-central-1.json b/moto/ec2/resources/instance_type_offerings/availability-zone/me-central-1.json
index 1876c3891..0c0c499c5 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone/me-central-1.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone/me-central-1.json
@@ -235,6 +235,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "me-central-1a"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "me-central-1a"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "me-central-1a"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "me-central-1a"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "me-central-1a"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "me-central-1a"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "me-central-1a"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "me-central-1a"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "me-central-1a"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "me-central-1a"
@@ -875,6 +907,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "me-central-1b"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "me-central-1b"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "me-central-1b"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "me-central-1b"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "me-central-1b"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "me-central-1b"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "me-central-1b"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "me-central-1b"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "me-central-1b"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "me-central-1b"
@@ -1483,6 +1547,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "me-central-1c"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "me-central-1c"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "me-central-1c"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "me-central-1c"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "me-central-1c"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "me-central-1c"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "me-central-1c"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "me-central-1c"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "me-central-1c"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "me-central-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 c3e5614b5..e03aa1845 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
@@ -3735,6 +3735,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "us-east-1b"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "us-east-1b"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "us-east-1b"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "us-east-1b"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "us-east-1b"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "us-east-1b"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "us-east-1b"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "us-east-1b"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "us-east-1b"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "us-east-1b"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "us-east-1b"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "us-east-1b"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "us-east-1b"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "us-east-1b"
@@ -6415,6 +6463,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "us-east-1c"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "us-east-1c"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "us-east-1c"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "us-east-1c"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "us-east-1c"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "us-east-1c"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "us-east-1c"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "us-east-1c"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "us-east-1c"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "us-east-1c"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "us-east-1c"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "us-east-1c"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "us-east-1c"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "us-east-1c"
@@ -9091,6 +9187,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "us-east-1d"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "us-east-1d"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "us-east-1d"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "us-east-1d"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "us-east-1d"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "us-east-1d"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "us-east-1d"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "us-east-1d"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "us-east-1d"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "us-east-1d"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "us-east-1d"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "us-east-1d"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "us-east-1d"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "us-east-1d"
@@ -11791,6 +11935,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "us-east-1f"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "us-east-1f"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "us-east-1f"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "us-east-1f"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone/us-east-2.json b/moto/ec2/resources/instance_type_offerings/availability-zone/us-east-2.json
index 908e2480d..79702896c 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone/us-east-2.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone/us-east-2.json
@@ -1467,6 +1467,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "us-east-2a"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "us-east-2a"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "us-east-2a"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "us-east-2a"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "us-east-2a"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "us-east-2a"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "us-east-2a"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "us-east-2a"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "us-east-2a"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "us-east-2a"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "us-east-2a"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "us-east-2a"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "us-east-2a"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "us-east-2a"
@@ -3251,6 +3299,22 @@
   "InstanceType": "hpc6id.32xlarge",
   "Location": "us-east-2b"
  },
+ {
+  "InstanceType": "hpc7a.12xlarge",
+  "Location": "us-east-2b"
+ },
+ {
+  "InstanceType": "hpc7a.24xlarge",
+  "Location": "us-east-2b"
+ },
+ {
+  "InstanceType": "hpc7a.48xlarge",
+  "Location": "us-east-2b"
+ },
+ {
+  "InstanceType": "hpc7a.96xlarge",
+  "Location": "us-east-2b"
+ },
  {
   "InstanceType": "i2.2xlarge",
   "Location": "us-east-2b"
@@ -3999,6 +4063,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "us-east-2b"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "us-east-2b"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "us-east-2b"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "us-east-2b"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "us-east-2b"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "us-east-2b"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "us-east-2b"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "us-east-2b"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "us-east-2b"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "us-east-2b"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "us-east-2b"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "us-east-2b"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "us-east-2b"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "us-east-2b"
@@ -6475,6 +6587,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "us-east-2c"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "us-east-2c"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "us-east-2c"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "us-east-2c"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "us-east-2c"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "us-east-2c"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "us-east-2c"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "us-east-2c"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "us-east-2c"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "us-east-2c"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "us-east-2c"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "us-east-2c"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "us-east-2c"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "us-east-2c"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone/us-west-2.json b/moto/ec2/resources/instance_type_offerings/availability-zone/us-west-2.json
index 4363508d6..00f060d27 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone/us-west-2.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone/us-west-2.json
@@ -1587,6 +1587,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "us-west-2a"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "us-west-2a"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "us-west-2a"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "us-west-2a"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "us-west-2a"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "us-west-2a"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "us-west-2a"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "us-west-2a"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "us-west-2a"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "us-west-2a"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "us-west-2a"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "us-west-2a"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "us-west-2a"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "us-west-2a"
@@ -4307,6 +4355,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "us-west-2b"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "us-west-2b"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "us-west-2b"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "us-west-2b"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "us-west-2b"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "us-west-2b"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "us-west-2b"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "us-west-2b"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "us-west-2b"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "us-west-2b"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "us-west-2b"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "us-west-2b"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "us-west-2b"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "us-west-2b"
@@ -6991,6 +7087,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "us-west-2c"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "us-west-2c"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "us-west-2c"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "us-west-2c"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "us-west-2c"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "us-west-2c"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "us-west-2c"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "us-west-2c"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "us-west-2c"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "us-west-2c"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "us-west-2c"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "us-west-2c"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "us-west-2c"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "us-west-2c"
diff --git a/moto/ec2/resources/instance_type_offerings/region/ap-northeast-1.json b/moto/ec2/resources/instance_type_offerings/region/ap-northeast-1.json
index ea6f7afdd..56f42ba6d 100644
--- a/moto/ec2/resources/instance_type_offerings/region/ap-northeast-1.json
+++ b/moto/ec2/resources/instance_type_offerings/region/ap-northeast-1.json
@@ -539,6 +539,30 @@
   "InstanceType": "d3.xlarge",
   "Location": "ap-northeast-1"
  },
+ {
+  "InstanceType": "d3en.12xlarge",
+  "Location": "ap-northeast-1"
+ },
+ {
+  "InstanceType": "d3en.2xlarge",
+  "Location": "ap-northeast-1"
+ },
+ {
+  "InstanceType": "d3en.4xlarge",
+  "Location": "ap-northeast-1"
+ },
+ {
+  "InstanceType": "d3en.6xlarge",
+  "Location": "ap-northeast-1"
+ },
+ {
+  "InstanceType": "d3en.8xlarge",
+  "Location": "ap-northeast-1"
+ },
+ {
+  "InstanceType": "d3en.xlarge",
+  "Location": "ap-northeast-1"
+ },
  {
   "InstanceType": "g2.2xlarge",
   "Location": "ap-northeast-1"
diff --git a/moto/ec2/resources/instance_type_offerings/region/ap-south-2.json b/moto/ec2/resources/instance_type_offerings/region/ap-south-2.json
index 1c2e4bd37..6c45d2a8e 100644
--- a/moto/ec2/resources/instance_type_offerings/region/ap-south-2.json
+++ b/moto/ec2/resources/instance_type_offerings/region/ap-south-2.json
@@ -203,6 +203,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "ap-south-2"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "ap-south-2"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "ap-south-2"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "ap-south-2"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "ap-south-2"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "ap-south-2"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "ap-south-2"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "ap-south-2"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "ap-south-2"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "ap-south-2"
diff --git a/moto/ec2/resources/instance_type_offerings/region/ap-southeast-1.json b/moto/ec2/resources/instance_type_offerings/region/ap-southeast-1.json
index c9ee52bbb..8ad0bdc11 100644
--- a/moto/ec2/resources/instance_type_offerings/region/ap-southeast-1.json
+++ b/moto/ec2/resources/instance_type_offerings/region/ap-southeast-1.json
@@ -531,6 +531,30 @@
   "InstanceType": "d3.xlarge",
   "Location": "ap-southeast-1"
  },
+ {
+  "InstanceType": "d3en.12xlarge",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "d3en.2xlarge",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "d3en.4xlarge",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "d3en.6xlarge",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "d3en.8xlarge",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "d3en.xlarge",
+  "Location": "ap-southeast-1"
+ },
  {
   "InstanceType": "g2.2xlarge",
   "Location": "ap-southeast-1"
@@ -1319,6 +1343,42 @@
   "InstanceType": "m6in.xlarge",
   "Location": "ap-southeast-1"
  },
+ {
+  "InstanceType": "m7g.12xlarge",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "m7g.16xlarge",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "m7g.2xlarge",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "m7g.4xlarge",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "m7g.8xlarge",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "m7g.large",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "m7g.medium",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "m7g.metal",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "m7g.xlarge",
+  "Location": "ap-southeast-1"
+ },
  {
   "InstanceType": "mac1.metal",
   "Location": "ap-southeast-1"
@@ -1871,6 +1931,42 @@
   "InstanceType": "r6in.xlarge",
   "Location": "ap-southeast-1"
  },
+ {
+  "InstanceType": "r7g.12xlarge",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "r7g.16xlarge",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "r7g.2xlarge",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "r7g.4xlarge",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "r7g.8xlarge",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "r7g.large",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "r7g.medium",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "r7g.metal",
+  "Location": "ap-southeast-1"
+ },
+ {
+  "InstanceType": "r7g.xlarge",
+  "Location": "ap-southeast-1"
+ },
  {
   "InstanceType": "t1.micro",
   "Location": "ap-southeast-1"
diff --git a/moto/ec2/resources/instance_type_offerings/region/ap-southeast-3.json b/moto/ec2/resources/instance_type_offerings/region/ap-southeast-3.json
index 76068ec02..71d32bee0 100644
--- a/moto/ec2/resources/instance_type_offerings/region/ap-southeast-3.json
+++ b/moto/ec2/resources/instance_type_offerings/region/ap-southeast-3.json
@@ -299,6 +299,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "ap-southeast-3"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "ap-southeast-3"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "ap-southeast-3"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "ap-southeast-3"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "ap-southeast-3"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "ap-southeast-3"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "ap-southeast-3"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "ap-southeast-3"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "ap-southeast-3"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "ap-southeast-3"
diff --git a/moto/ec2/resources/instance_type_offerings/region/eu-central-1.json b/moto/ec2/resources/instance_type_offerings/region/eu-central-1.json
index 4efe90ddb..69d5d6f58 100644
--- a/moto/ec2/resources/instance_type_offerings/region/eu-central-1.json
+++ b/moto/ec2/resources/instance_type_offerings/region/eu-central-1.json
@@ -563,6 +563,30 @@
   "InstanceType": "d3.xlarge",
   "Location": "eu-central-1"
  },
+ {
+  "InstanceType": "d3en.12xlarge",
+  "Location": "eu-central-1"
+ },
+ {
+  "InstanceType": "d3en.2xlarge",
+  "Location": "eu-central-1"
+ },
+ {
+  "InstanceType": "d3en.4xlarge",
+  "Location": "eu-central-1"
+ },
+ {
+  "InstanceType": "d3en.6xlarge",
+  "Location": "eu-central-1"
+ },
+ {
+  "InstanceType": "d3en.8xlarge",
+  "Location": "eu-central-1"
+ },
+ {
+  "InstanceType": "d3en.xlarge",
+  "Location": "eu-central-1"
+ },
  {
   "InstanceType": "f1.2xlarge",
   "Location": "eu-central-1"
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 0aa4524ea..700acf3bf 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
@@ -791,6 +791,22 @@
   "InstanceType": "h1.8xlarge",
   "Location": "eu-west-1"
  },
+ {
+  "InstanceType": "hpc7a.12xlarge",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "hpc7a.24xlarge",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "hpc7a.48xlarge",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "hpc7a.96xlarge",
+  "Location": "eu-west-1"
+ },
  {
   "InstanceType": "i2.2xlarge",
   "Location": "eu-west-1"
@@ -1563,6 +1579,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eu-west-1"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eu-west-1"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eu-west-1"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eu-west-1"
diff --git a/moto/ec2/resources/instance_type_offerings/region/me-central-1.json b/moto/ec2/resources/instance_type_offerings/region/me-central-1.json
index 3222f3b3e..a49432db4 100644
--- a/moto/ec2/resources/instance_type_offerings/region/me-central-1.json
+++ b/moto/ec2/resources/instance_type_offerings/region/me-central-1.json
@@ -235,6 +235,38 @@
   "InstanceType": "i3en.xlarge",
   "Location": "me-central-1"
  },
+ {
+  "InstanceType": "i4i.16xlarge",
+  "Location": "me-central-1"
+ },
+ {
+  "InstanceType": "i4i.2xlarge",
+  "Location": "me-central-1"
+ },
+ {
+  "InstanceType": "i4i.32xlarge",
+  "Location": "me-central-1"
+ },
+ {
+  "InstanceType": "i4i.4xlarge",
+  "Location": "me-central-1"
+ },
+ {
+  "InstanceType": "i4i.8xlarge",
+  "Location": "me-central-1"
+ },
+ {
+  "InstanceType": "i4i.large",
+  "Location": "me-central-1"
+ },
+ {
+  "InstanceType": "i4i.metal",
+  "Location": "me-central-1"
+ },
+ {
+  "InstanceType": "i4i.xlarge",
+  "Location": "me-central-1"
+ },
  {
   "InstanceType": "m5.12xlarge",
   "Location": "me-central-1"
diff --git a/moto/ec2/resources/instance_type_offerings/region/us-east-1.json b/moto/ec2/resources/instance_type_offerings/region/us-east-1.json
index 8aa639d89..3e3754098 100644
--- a/moto/ec2/resources/instance_type_offerings/region/us-east-1.json
+++ b/moto/ec2/resources/instance_type_offerings/region/us-east-1.json
@@ -1623,6 +1623,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "us-east-1"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "us-east-1"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "us-east-1"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "us-east-1"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "us-east-1"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "us-east-1"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "us-east-1"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "us-east-1"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "us-east-1"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "us-east-1"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "us-east-1"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "us-east-1"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "us-east-1"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "us-east-1"
diff --git a/moto/ec2/resources/instance_type_offerings/region/us-east-2.json b/moto/ec2/resources/instance_type_offerings/region/us-east-2.json
index 9804c01ff..54c50d412 100644
--- a/moto/ec2/resources/instance_type_offerings/region/us-east-2.json
+++ b/moto/ec2/resources/instance_type_offerings/region/us-east-2.json
@@ -727,6 +727,22 @@
   "InstanceType": "hpc6id.32xlarge",
   "Location": "us-east-2"
  },
+ {
+  "InstanceType": "hpc7a.12xlarge",
+  "Location": "us-east-2"
+ },
+ {
+  "InstanceType": "hpc7a.24xlarge",
+  "Location": "us-east-2"
+ },
+ {
+  "InstanceType": "hpc7a.48xlarge",
+  "Location": "us-east-2"
+ },
+ {
+  "InstanceType": "hpc7a.96xlarge",
+  "Location": "us-east-2"
+ },
  {
   "InstanceType": "i2.2xlarge",
   "Location": "us-east-2"
@@ -1475,6 +1491,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "us-east-2"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "us-east-2"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "us-east-2"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "us-east-2"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "us-east-2"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "us-east-2"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "us-east-2"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "us-east-2"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "us-east-2"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "us-east-2"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "us-east-2"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "us-east-2"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "us-east-2"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "us-east-2"
diff --git a/moto/ec2/resources/instance_type_offerings/region/us-west-2.json b/moto/ec2/resources/instance_type_offerings/region/us-west-2.json
index a8564a46b..3042b95cc 100644
--- a/moto/ec2/resources/instance_type_offerings/region/us-west-2.json
+++ b/moto/ec2/resources/instance_type_offerings/region/us-west-2.json
@@ -1611,6 +1611,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "us-west-2"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "us-west-2"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "us-west-2"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "us-west-2"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "us-west-2"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "us-west-2"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "us-west-2"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "us-west-2"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "us-west-2"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "us-west-2"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "us-west-2"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "us-west-2"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "us-west-2"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "us-west-2"
diff --git a/moto/iot/responses.py b/moto/iot/responses.py
index 8f6f52521..2daec7068 100644
--- a/moto/iot/responses.py
+++ b/moto/iot/responses.py
@@ -581,14 +581,14 @@ class IoTResponse(BaseResponse):
         return json.dumps(dict(principals=principals))
 
     def describe_thing_group(self) -> str:
-        thing_group_name = self._get_param("thingGroupName")
+        thing_group_name = unquote(self.path.split("/thing-groups/")[-1])
         thing_group = self.iot_backend.describe_thing_group(
             thing_group_name=thing_group_name
         )
         return json.dumps(thing_group.to_dict())
 
     def create_thing_group(self) -> str:
-        thing_group_name = self._get_param("thingGroupName")
+        thing_group_name = unquote(self.path.split("/thing-groups/")[-1])
         parent_group_name = self._get_param("parentGroupName")
         thing_group_properties = self._get_param("thingGroupProperties")
         (
@@ -609,7 +609,7 @@ class IoTResponse(BaseResponse):
         )
 
     def delete_thing_group(self) -> str:
-        thing_group_name = self._get_param("thingGroupName")
+        thing_group_name = unquote(self.path.split("/thing-groups/")[-1])
         self.iot_backend.delete_thing_group(thing_group_name=thing_group_name)
         return json.dumps(dict())
 
@@ -632,7 +632,7 @@ class IoTResponse(BaseResponse):
         return json.dumps(dict(thingGroups=rets, nextToken=next_token))
 
     def update_thing_group(self) -> str:
-        thing_group_name = self._get_param("thingGroupName")
+        thing_group_name = unquote(self.path.split("/thing-groups/")[-1])
         thing_group_properties = self._get_param("thingGroupProperties")
         expected_version = self._get_param("expectedVersion")
         version = self.iot_backend.update_thing_group(
diff --git a/moto/kms/models.py b/moto/kms/models.py
index 5d0c202fb..461ce5c15 100644
--- a/moto/kms/models.py
+++ b/moto/kms/models.py
@@ -3,9 +3,6 @@ import os
 from collections import defaultdict
 from copy import copy
 from datetime import datetime, timedelta
-from cryptography.exceptions import InvalidSignature
-from cryptography.hazmat.primitives import hashes, serialization
-from cryptography.hazmat.primitives.asymmetric import padding
 from typing import Any, Dict, List, Tuple, Optional, Iterable, Set
 
 from moto.core import BaseBackend, BackendDict, BaseModel, CloudFormationModel
@@ -82,10 +79,10 @@ class Key(CloudFormationModel):
         self.key_rotation_status = False
         self.deletion_date: Optional[datetime] = None
         self.key_material = generate_master_key()
-        self.private_key = generate_private_key()
         self.origin = "AWS_KMS"
         self.key_manager = "CUSTOMER"
         self.key_spec = key_spec or "SYMMETRIC_DEFAULT"
+        self.private_key = generate_private_key(self.key_spec)
         self.arn = f"arn:aws:kms:{region}:{account_id}:key/{self.id}"
 
         self.grants: Dict[str, Grant] = dict()
@@ -641,14 +638,7 @@ class KmsBackend(BaseBackend):
         self.__ensure_valid_sign_and_verify_key(key)
         self.__ensure_valid_signing_algorithm(key, signing_algorithm)
 
-        # TODO: support more than one hardcoded algorithm based on KeySpec
-        signature = key.private_key.sign(
-            message,
-            padding.PSS(
-                mgf=padding.MGF1(hashes.SHA256()), salt_length=padding.PSS.MAX_LENGTH
-            ),
-            hashes.SHA256(),
-        )
+        signature = key.private_key.sign(message, signing_algorithm)
 
         return key.arn, signature, signing_algorithm
 
@@ -678,31 +668,15 @@ class KmsBackend(BaseBackend):
                 )
             )
 
-        public_key = key.private_key.public_key()
-
-        try:
-            # TODO: support more than one hardcoded algorithm based on KeySpec
-            public_key.verify(
-                signature,
-                message,
-                padding.PSS(
-                    mgf=padding.MGF1(hashes.SHA256()),
-                    salt_length=padding.PSS.MAX_LENGTH,
-                ),
-                hashes.SHA256(),
-            )
-            return key.arn, True, signing_algorithm
-        except InvalidSignature:
-            return key.arn, False, signing_algorithm
+        return (
+            key.arn,
+            key.private_key.verify(message, signature, signing_algorithm),
+            signing_algorithm,
+        )
 
     def get_public_key(self, key_id: str) -> Tuple[Key, bytes]:
         key = self.describe_key(key_id)
-        public_key = key.private_key.public_key().public_bytes(
-            encoding=serialization.Encoding.DER,
-            format=serialization.PublicFormat.SubjectPublicKeyInfo,
-        )
-
-        return key, public_key
+        return key, key.private_key.public_key()
 
 
 kms_backends = BackendDict(KmsBackend, "kms")
diff --git a/moto/kms/utils.py b/moto/kms/utils.py
index 4b4323acf..754eb7b2b 100644
--- a/moto/kms/utils.py
+++ b/moto/kms/utils.py
@@ -1,3 +1,4 @@
+from abc import abstractmethod, ABCMeta
 from collections import namedtuple
 from typing import Any, Dict, Tuple, List
 from enum import Enum
@@ -6,9 +7,12 @@ import os
 import struct
 from moto.moto_api._internal import mock_random
 
+from cryptography.exceptions import InvalidSignature
 from cryptography.hazmat.backends import default_backend
 from cryptography.hazmat.primitives.ciphers import algorithms, Cipher, modes
-from cryptography.hazmat.primitives.asymmetric import rsa
+from cryptography.hazmat.primitives import hashes, serialization
+from cryptography.hazmat.primitives.asymmetric import rsa, padding
+
 
 from .exceptions import (
     InvalidCiphertextException,
@@ -134,16 +138,92 @@ def generate_master_key() -> bytes:
     return generate_data_key(MASTER_KEY_LEN)
 
 
-def generate_private_key() -> rsa.RSAPrivateKey:
-    """Generate a private key to be used on asymmetric sign/verify.
+class AbstractPrivateKey(metaclass=ABCMeta):
+    @abstractmethod
+    def sign(self, message: bytes, signing_algorithm: str) -> bytes:
+        raise NotImplementedError
 
-    NOTE: KeySpec is not taken into consideration and the key is always RSA_2048
-    this could be improved to support multiple key types
-    """
-    return rsa.generate_private_key(
-        public_exponent=65537,
-        key_size=2048,
-    )
+    @abstractmethod
+    def verify(self, message: bytes, signature: bytes, signing_algorithm: str) -> bool:
+        raise NotImplementedError
+
+    @abstractmethod
+    def public_key(self) -> bytes:
+        raise NotImplementedError
+
+
+def validate_signing_algorithm(
+    target_algorithm: str, valid_algorithms: List[str]
+) -> None:
+    if target_algorithm not in valid_algorithms:
+        raise ValidationException(
+            (
+                "1 validation error detected: Value at 'signing_algorithm' failed"
+                "to satisfy constraint: Member must satisfy enum value set: {valid_signing_algorithms}"
+            ).format(valid_signing_algorithms=valid_algorithms)
+        )
+
+
+class RSAPrivateKey(AbstractPrivateKey):
+    def __init__(self, key_size: int):
+        self.key_size = key_size
+        self.private_key = rsa.generate_private_key(
+            public_exponent=65537, key_size=self.key_size
+        )
+
+    def sign(self, message: bytes, signing_algorithm: str) -> bytes:
+        validate_signing_algorithm(
+            signing_algorithm, SigningAlgorithm.rsa_signing_algorithms()
+        )
+
+        if signing_algorithm == SigningAlgorithm.RSASSA_PSS_SHA_256:
+            pad = padding.PSS(
+                mgf=padding.MGF1(hashes.SHA256()), salt_length=padding.PSS.MAX_LENGTH
+            )
+            algorithm = hashes.SHA256()
+        else:
+            pad = padding.PSS(
+                mgf=padding.MGF1(hashes.SHA256()), salt_length=padding.PSS.MAX_LENGTH
+            )
+            algorithm = hashes.SHA256()
+        return self.private_key.sign(message, pad, algorithm)
+
+    def verify(self, message: bytes, signature: bytes, signing_algorithm: str) -> bool:
+        validate_signing_algorithm(
+            signing_algorithm, SigningAlgorithm.rsa_signing_algorithms()
+        )
+
+        if signing_algorithm == SigningAlgorithm.RSASSA_PSS_SHA_256:
+            pad = padding.PSS(
+                mgf=padding.MGF1(hashes.SHA256()), salt_length=padding.PSS.MAX_LENGTH
+            )
+            algorithm = hashes.SHA256()
+        else:
+            pad = padding.PSS(
+                mgf=padding.MGF1(hashes.SHA256()), salt_length=padding.PSS.MAX_LENGTH
+            )
+            algorithm = hashes.SHA256()
+
+        public_key = self.private_key.public_key()
+        try:
+            public_key.verify(signature, message, pad, algorithm)
+            return True
+        except InvalidSignature:
+            return False
+
+    def public_key(self) -> bytes:
+        return self.private_key.public_key().public_bytes(
+            encoding=serialization.Encoding.DER,
+            format=serialization.PublicFormat.SubjectPublicKeyInfo,
+        )
+
+
+def generate_private_key(key_spec: str) -> AbstractPrivateKey:
+    """Generate a private key to be used on asymmetric sign/verify."""
+    if key_spec == KeySpec.RSA_2048:
+        return RSAPrivateKey(key_size=2048)
+    else:
+        return RSAPrivateKey(key_size=2048)
 
 
 def _serialize_ciphertext_blob(ciphertext: Ciphertext) -> bytes:


Test patch:
diff --git a/tests/test_iot/test_iot_thing_groups.py b/tests/test_iot/test_iot_thing_groups.py
index d69a5b218..6c343ab63 100644
--- a/tests/test_iot/test_iot_thing_groups.py
+++ b/tests/test_iot/test_iot_thing_groups.py
@@ -38,8 +38,8 @@ def generate_thing_group_tree(iot_client, tree_dict, _parent=None):
 
 
 class TestListThingGroup:
-    group_name_1a = "my-group-name-1a"
-    group_name_1b = "my-group-name-1b"
+    group_name_1a = "my-group:name-1a"
+    group_name_1b = "my-group:name-1b"
     group_name_2a = "my-group-name-2a"
     group_name_2b = "my-group-name-2b"
     group_name_3a = "my-group-name-3a"
@@ -112,7 +112,7 @@ class TestListThingGroup:
         client = boto3.client("iot", region_name="ap-northeast-1")
         generate_thing_group_tree(client, self.tree_dict)
         # test
-        resp = client.list_thing_groups(namePrefixFilter="my-group-name-1")
+        resp = client.list_thing_groups(namePrefixFilter="my-group:name-1")
         assert "thingGroups" in resp
         assert len(resp["thingGroups"]) == 2
         resp = client.list_thing_groups(namePrefixFilter="my-group-name-3")
@@ -129,7 +129,7 @@ class TestListThingGroup:
         generate_thing_group_tree(client, self.tree_dict)
         # test
         resp = client.list_thing_groups(
-            namePrefixFilter="my-group-name-1", recursive=False
+            namePrefixFilter="my-group:name-1", recursive=False
         )
         assert "thingGroups" in resp
         assert len(resp["thingGroups"]) == 2
@@ -166,7 +166,7 @@ class TestListThingGroup:
 @mock_iot
 def test_delete_thing_group():
     client = boto3.client("iot", region_name="ap-northeast-1")
-    group_name_1a = "my-group-name-1a"
+    group_name_1a = "my-group:name-1a"
     group_name_2a = "my-group-name-2a"
     tree_dict = {group_name_1a: {group_name_2a: {}}}
     generate_thing_group_tree(client, tree_dict)
@@ -199,8 +199,8 @@ def test_delete_thing_group():
 @mock_iot
 def test_describe_thing_group_metadata_hierarchy():
     client = boto3.client("iot", region_name="ap-northeast-1")
-    group_name_1a = "my-group-name-1a"
-    group_name_1b = "my-group-name-1b"
+    group_name_1a = "my-group:name-1a"
+    group_name_1b = "my-group:name-1b"
     group_name_2a = "my-group-name-2a"
     group_name_2b = "my-group-name-2b"
     group_name_3a = "my-group-name-3a"
@@ -313,7 +313,7 @@ def test_describe_thing_group_metadata_hierarchy():
 @mock_iot
 def test_thing_groups():
     client = boto3.client("iot", region_name="ap-northeast-1")
-    group_name = "my-group-name"
+    group_name = "my-group:name"
 
     # thing group
     thing_group = client.create_thing_group(thingGroupName=group_name)
diff --git a/tests/test_kms/test_kms_boto3.py b/tests/test_kms/test_kms_boto3.py
index 052bed9e4..f11816cc1 100644
--- a/tests/test_kms/test_kms_boto3.py
+++ b/tests/test_kms/test_kms_boto3.py
@@ -1163,7 +1163,7 @@ def test_sign_and_verify_ignoring_grant_tokens():
 
 
 @mock_kms
-def test_sign_and_verify_digest_message_type_256():
+def test_sign_and_verify_digest_message_type_RSASSA_PSS_SHA_256():
     client = boto3.client("kms", region_name="us-west-2")
 
     key = client.create_key(