Repository: getmoto/moto
Pull request #7535 (2024-03-28 13:32:25)

Cloudformation: ASG parameter error
Closes https://github.com/getmoto/moto/issues/7528

codecov[bot]: ## [Codecov](https://app.codecov.io/gh/getmoto/moto/pull/7535?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getmoto) Report
All modified and coverable lines are covered by tests :white_check_mark:
> Project coverage is 94.07%. Comparing base [(`9aef694`)](https://app.codecov.io/gh/getmoto/moto/commit/9aef6944da6a6f1b84be99cefb34f1724e6ca58f?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getmoto) to head [(`1153b91`)](https://app.codecov.io/gh/getmoto/moto/pull/7535?dropdown=coverage&src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getmoto).
> Report is 141 commits behind head on master.


<details><summary>Additional details and impacted files</summary>


```diff
@@            Coverage Diff             @@
##           master    #7535      +/-   ##
==========================================
- Coverage   95.88%   94.07%   -1.82%     
==========================================
  Files         843     1070     +227     
  Lines       82578    91822    +9244     
==========================================
+ Hits        79178    86379    +7201     
- Misses       3400     5443    +2043     
```

| [Flag](https://app.codecov.io/gh/getmoto/moto/pull/7535/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getmoto) | Coverage Δ | |
|---|---|---|
| [servertests](https://app.codecov.io/gh/getmoto/moto/pull/7535/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getmoto) | `29.57% <14.28%> (-2.96%)` | :arrow_down: |
| [unittests](https://app.codecov.io/gh/getmoto/moto/pull/7535/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getmoto) | `94.04% <100.00%> (-1.81%)` | :arrow_down: |

Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getmoto#carryforward-flags-in-the-pull-request-comment) to find out more.


</details>

[:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/getmoto/moto/pull/7535?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getmoto).   
:loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=getmoto).

rafcio19: @bblommers I don't know why codecov is failing.  
It's been happening on a few previous PRs but a rebase from master or a re-run of CI usually cleared it, not this time though. Mine is a tiny change 🤷 

Patch:
diff --git a/moto/autoscaling/models.py b/moto/autoscaling/models.py
index 5f22a7727..0a0ca2313 100644
--- a/moto/autoscaling/models.py
+++ b/moto/autoscaling/models.py
@@ -437,7 +437,7 @@ class FakeAutoScalingGroup(CloudFormationModel):
         autoscaling_backend: "AutoScalingBackend",
         ec2_backend: EC2Backend,
         tags: List[Dict[str, str]],
-        mixed_instance_policy: Optional[Dict[str, Any]],
+        mixed_instances_policy: Optional[Dict[str, Any]],
         capacity_rebalance: bool,
         new_instances_protected_from_scale_in: bool = False,
         created_time: datetime = datetime.now(),
@@ -460,9 +460,9 @@ class FakeAutoScalingGroup(CloudFormationModel):
         self.launch_config = None
 
         self._set_launch_configuration(
-            launch_config_name, launch_template, mixed_instance_policy
+            launch_config_name, launch_template, mixed_instances_policy
         )
-        self.mixed_instance_policy = mixed_instance_policy
+        self.mixed_instances_policy = mixed_instances_policy
 
         self.default_cooldown = (
             default_cooldown if default_cooldown else DEFAULT_COOLDOWN
@@ -547,7 +547,7 @@ class FakeAutoScalingGroup(CloudFormationModel):
         self,
         launch_config_name: str,
         launch_template: Dict[str, Any],
-        mixed_instance_policy: Optional[Dict[str, Any]],
+        mixed_instances_policy: Optional[Dict[str, Any]],
     ) -> None:
         if launch_config_name:
             self.launch_config = self.autoscaling_backend.launch_configurations[
@@ -555,7 +555,7 @@ class FakeAutoScalingGroup(CloudFormationModel):
             ]
             self.launch_config_name = launch_config_name
 
-        if launch_template or mixed_instance_policy:
+        if launch_template or mixed_instances_policy:
             if launch_template:
                 launch_template_id = launch_template.get("launch_template_id")
                 launch_template_name = launch_template.get("launch_template_name")
@@ -566,8 +566,8 @@ class FakeAutoScalingGroup(CloudFormationModel):
                     launch_template.get("version") or "$Default"
                 )
                 self.provided_launch_template_version = launch_template.get("version")
-            elif mixed_instance_policy:
-                spec = mixed_instance_policy["LaunchTemplate"][
+            elif mixed_instances_policy:
+                spec = mixed_instances_policy["LaunchTemplate"][
                     "LaunchTemplateSpecification"
                 ]
                 launch_template_id = spec.get("LaunchTemplateId")
@@ -617,6 +617,7 @@ class FakeAutoScalingGroup(CloudFormationModel):
         }
         load_balancer_names = properties.get("LoadBalancerNames", [])
         target_group_arns = properties.get("TargetGroupARNs", [])
+        mixed_instances_policy = properties.get("MixedInstancesPolicy", {})
 
         backend = autoscaling_backends[account_id][region_name]
         group = backend.create_auto_scaling_group(
@@ -643,6 +644,7 @@ class FakeAutoScalingGroup(CloudFormationModel):
             new_instances_protected_from_scale_in=properties.get(
                 "NewInstancesProtectedFromScaleIn", False
             ),
+            mixed_instances_policy=mixed_instances_policy,
         )
         return group
 
@@ -743,7 +745,7 @@ class FakeAutoScalingGroup(CloudFormationModel):
                 desired_capacity = max_size
 
         self._set_launch_configuration(
-            launch_config_name, launch_template, mixed_instance_policy=None
+            launch_config_name, launch_template, mixed_instances_policy=None
         )
 
         if health_check_period is not None:
@@ -1082,7 +1084,7 @@ class AutoScalingBackend(BaseBackend):
         capacity_rebalance: bool = False,
         new_instances_protected_from_scale_in: bool = False,
         instance_id: Optional[str] = None,
-        mixed_instance_policy: Optional[Dict[str, Any]] = None,
+        mixed_instances_policy: Optional[Dict[str, Any]] = None,
     ) -> FakeAutoScalingGroup:
         max_size = make_int(max_size)
         min_size = make_int(min_size)
@@ -1094,7 +1096,7 @@ class AutoScalingBackend(BaseBackend):
             launch_config_name,
             launch_template,
             instance_id,
-            mixed_instance_policy,
+            mixed_instances_policy,
         ]
         num_params = sum([1 for param in params if param])
 
@@ -1134,7 +1136,7 @@ class AutoScalingBackend(BaseBackend):
             ec2_backend=self.ec2_backend,
             tags=tags,
             new_instances_protected_from_scale_in=new_instances_protected_from_scale_in,
-            mixed_instance_policy=mixed_instance_policy,
+            mixed_instances_policy=mixed_instances_policy,
             capacity_rebalance=capacity_rebalance,
         )
 
diff --git a/moto/autoscaling/responses.py b/moto/autoscaling/responses.py
index 23a1ab1f9..a4d3ea360 100644
--- a/moto/autoscaling/responses.py
+++ b/moto/autoscaling/responses.py
@@ -90,7 +90,7 @@ class AutoScalingResponse(BaseResponse):
             instance_id=self._get_param("InstanceId"),
             launch_config_name=self._get_param("LaunchConfigurationName"),
             launch_template=self._get_dict_param("LaunchTemplate."),
-            mixed_instance_policy=params.get("MixedInstancesPolicy"),
+            mixed_instances_policy=params.get("MixedInstancesPolicy"),
             vpc_zone_identifier=self._get_param("VPCZoneIdentifier"),
             default_cooldown=self._get_int_param("DefaultCooldown"),
             health_check_period=self._get_int_param("HealthCheckGracePeriod"),
@@ -836,7 +836,7 @@ DESCRIBE_AUTOSCALING_GROUPS_TEMPLATE = """<DescribeAutoScalingGroupsResponse xml
         <CreatedTime>{{ group.created_time }}</CreatedTime>
         {% if group.launch_config_name %}
         <LaunchConfigurationName>{{ group.launch_config_name }}</LaunchConfigurationName>
-        {% elif group.mixed_instance_policy %}
+        {% elif group.mixed_instances_policy %}
         <MixedInstancesPolicy>
           <LaunchTemplate>
             <LaunchTemplateSpecification>
@@ -844,9 +844,9 @@ DESCRIBE_AUTOSCALING_GROUPS_TEMPLATE = """<DescribeAutoScalingGroupsResponse xml
               <Version>{{ group.launch_template_version }}</Version>
               <LaunchTemplateName>{{ group.launch_template.name }}</LaunchTemplateName>
             </LaunchTemplateSpecification>
-            {% if group.mixed_instance_policy.get("LaunchTemplate", {}).get("Overrides", []) %}
+            {% if group.mixed_instances_policy.get("LaunchTemplate", {}).get("Overrides", []) %}
             <Overrides>
-              {% for member in group.mixed_instance_policy.get("LaunchTemplate", {}).get("Overrides", []) %}
+              {% for member in group.mixed_instances_policy.get("LaunchTemplate", {}).get("Overrides", []) %}
               <member>
                 {% if member.get("InstanceType") %}
                 <InstanceType>{{ member.get("InstanceType") }}</InstanceType>
@@ -859,25 +859,25 @@ DESCRIBE_AUTOSCALING_GROUPS_TEMPLATE = """<DescribeAutoScalingGroupsResponse xml
             </Overrides>
             {% endif %}
           </LaunchTemplate>
-          {% if group.mixed_instance_policy.get("InstancesDistribution") %}
+          {% if group.mixed_instances_policy.get("InstancesDistribution") %}
           <InstancesDistribution>
-            {% if group.mixed_instance_policy.get("InstancesDistribution").get("OnDemandAllocationStrategy") %}
-            <OnDemandAllocationStrategy>{{ group.mixed_instance_policy.get("InstancesDistribution").get("OnDemandAllocationStrategy") }}</OnDemandAllocationStrategy>
+            {% if group.mixed_instances_policy.get("InstancesDistribution").get("OnDemandAllocationStrategy") %}
+            <OnDemandAllocationStrategy>{{ group.mixed_instances_policy.get("InstancesDistribution").get("OnDemandAllocationStrategy") }}</OnDemandAllocationStrategy>
             {% endif %}
-            {% if group.mixed_instance_policy.get("InstancesDistribution").get("OnDemandBaseCapacity") %}
-            <OnDemandBaseCapacity>{{ group.mixed_instance_policy.get("InstancesDistribution").get("OnDemandBaseCapacity") }}</OnDemandBaseCapacity>
+            {% if group.mixed_instances_policy.get("InstancesDistribution").get("OnDemandBaseCapacity") %}
+            <OnDemandBaseCapacity>{{ group.mixed_instances_policy.get("InstancesDistribution").get("OnDemandBaseCapacity") }}</OnDemandBaseCapacity>
             {% endif %}
-            {% if group.mixed_instance_policy.get("InstancesDistribution").get("OnDemandPercentageAboveBaseCapacity") %}
-            <OnDemandPercentageAboveBaseCapacity>{{ group.mixed_instance_policy.get("InstancesDistribution").get("OnDemandPercentageAboveBaseCapacity") }}</OnDemandPercentageAboveBaseCapacity>
+            {% if group.mixed_instances_policy.get("InstancesDistribution").get("OnDemandPercentageAboveBaseCapacity") %}
+            <OnDemandPercentageAboveBaseCapacity>{{ group.mixed_instances_policy.get("InstancesDistribution").get("OnDemandPercentageAboveBaseCapacity") }}</OnDemandPercentageAboveBaseCapacity>
             {% endif %}
-            {% if group.mixed_instance_policy.get("InstancesDistribution").get("SpotAllocationStrategy") %}
-            <SpotAllocationStrategy>{{ group.mixed_instance_policy.get("InstancesDistribution").get("SpotAllocationStrategy") }}</SpotAllocationStrategy>
+            {% if group.mixed_instances_policy.get("InstancesDistribution").get("SpotAllocationStrategy") %}
+            <SpotAllocationStrategy>{{ group.mixed_instances_policy.get("InstancesDistribution").get("SpotAllocationStrategy") }}</SpotAllocationStrategy>
             {% endif %}
-            {% if group.mixed_instance_policy.get("InstancesDistribution").get("SpotInstancePools") %}
-            <SpotInstancePools>{{ group.mixed_instance_policy.get("InstancesDistribution").get("SpotInstancePools") }}</SpotInstancePools>
+            {% if group.mixed_instances_policy.get("InstancesDistribution").get("SpotInstancePools") %}
+            <SpotInstancePools>{{ group.mixed_instances_policy.get("InstancesDistribution").get("SpotInstancePools") }}</SpotInstancePools>
             {% endif %}
-            {% if group.mixed_instance_policy.get("InstancesDistribution").get("SpotMaxPrice") %}
-            <SpotMaxPrice>{{ group.mixed_instance_policy.get("InstancesDistribution").get("SpotMaxPrice") }}</SpotMaxPrice>
+            {% if group.mixed_instances_policy.get("InstancesDistribution").get("SpotMaxPrice") %}
+            <SpotMaxPrice>{{ group.mixed_instances_policy.get("InstancesDistribution").get("SpotMaxPrice") }}</SpotMaxPrice>
             {% endif %}
           </InstancesDistribution>
           {% endif %}
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 8565adb08..7df6a9ec8 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
@@ -595,6 +595,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "apne1-az1"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "apne1-az1"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "apne1-az1"
@@ -3339,6 +3343,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "apne1-az2"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "apne1-az2"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "apne1-az2"
@@ -5843,6 +5851,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "apne1-az4"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "apne1-az4"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "apne1-az4"
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 0c3b9abcb..bea9c47de 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
@@ -1403,6 +1403,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "euc1-az1"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "euc1-az1"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "euc1-az1"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "euc1-az1"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "euc1-az1"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "euc1-az1"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "euc1-az1"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "euc1-az1"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "euc1-az1"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "euc1-az1"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "euc1-az1"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "euc1-az1"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "euc1-az1"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "euc1-az1"
@@ -6555,6 +6603,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "euc1-az3"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "euc1-az3"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "euc1-az3"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "euc1-az3"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "euc1-az3"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "euc1-az3"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "euc1-az3"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "euc1-az3"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "euc1-az3"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "euc1-az3"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "euc1-az3"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "euc1-az3"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "euc1-az3"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "euc1-az3"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-north-1.json b/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-north-1.json
index f89d86d21..a77bdd5ec 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-north-1.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-north-1.json
@@ -903,6 +903,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eun1-az1"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eun1-az1"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eun1-az1"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eun1-az1"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eun1-az1"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eun1-az1"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eun1-az1"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eun1-az1"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eun1-az1"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eun1-az1"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eun1-az1"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eun1-az1"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eun1-az1"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eun1-az1"
@@ -2567,6 +2615,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eun1-az2"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eun1-az2"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eun1-az2"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eun1-az2"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eun1-az2"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eun1-az2"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eun1-az2"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eun1-az2"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eun1-az2"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eun1-az2"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eun1-az2"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eun1-az2"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eun1-az2"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eun1-az2"
@@ -4291,6 +4387,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eun1-az3"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eun1-az3"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eun1-az3"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eun1-az3"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eun1-az3"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eun1-az3"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eun1-az3"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eun1-az3"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eun1-az3"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eun1-az3"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eun1-az3"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eun1-az3"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eun1-az3"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eun1-az3"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-south-2.json b/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-south-2.json
index 24e63aee2..9762f30f6 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-south-2.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-south-2.json
@@ -1727,6 +1727,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eus2-az2"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eus2-az2"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eus2-az2"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eus2-az2"
@@ -2839,6 +2887,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eus2-az3"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eus2-az3"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eus2-az3"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eus2-az3"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-west-1.json b/moto/ec2/resources/instance_type_offerings/availability-zone-id/eu-west-1.json
index 35c15b92f..ba2ca090f 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
@@ -651,6 +651,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "euw1-az1"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "euw1-az1"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "euw1-az1"
@@ -3635,6 +3639,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "euw1-az2"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "euw1-az2"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "euw1-az2"
@@ -6599,6 +6607,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "euw1-az3"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "euw1-az3"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "euw1-az3"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone-id/us-east-1.json b/moto/ec2/resources/instance_type_offerings/availability-zone-id/us-east-1.json
index 0e3899fd9..5b7040268 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
@@ -2471,6 +2471,10 @@
   "InstanceType": "u-24tb1.112xlarge",
   "Location": "use1-az1"
  },
+ {
+  "InstanceType": "u-3tb1.56xlarge",
+  "Location": "use1-az1"
+ },
  {
   "InstanceType": "u-6tb1.112xlarge",
   "Location": "use1-az1"
@@ -3291,6 +3295,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "use1-az2"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "use1-az2"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "use1-az2"
@@ -6559,6 +6567,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "use1-az4"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "use1-az4"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "use1-az4"
@@ -9491,6 +9503,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "use1-az5"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "use1-az5"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "use1-az5"
@@ -12131,6 +12147,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "use1-az6"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "use1-az6"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "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 2d1ac45cc..d4c001cdf 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
@@ -623,6 +623,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "use2-az1"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "use2-az1"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "use2-az1"
@@ -3459,6 +3463,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "use2-az2"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "use2-az2"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "use2-az2"
@@ -6275,6 +6283,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "use2-az3"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "use2-az3"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "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 c933b5248..32d47b03b 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
@@ -627,6 +627,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "usw2-az1"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "usw2-az1"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "usw2-az1"
@@ -3623,6 +3627,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "usw2-az2"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "usw2-az2"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "usw2-az2"
@@ -6539,6 +6547,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "usw2-az3"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "usw2-az3"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "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 d2964041c..f87d492ad 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
@@ -619,6 +619,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "ap-northeast-1a"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "ap-northeast-1a"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "ap-northeast-1a"
@@ -3471,6 +3475,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "ap-northeast-1c"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "ap-northeast-1c"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "ap-northeast-1c"
@@ -6215,6 +6223,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "ap-northeast-1d"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "ap-northeast-1d"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "ap-northeast-1d"
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 d31bddb9c..e83bffb6d 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
@@ -4019,6 +4019,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eu-central-1b"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eu-central-1b"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eu-central-1b"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eu-central-1b"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eu-central-1b"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eu-central-1b"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eu-central-1b"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eu-central-1b"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eu-central-1b"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eu-central-1b"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eu-central-1b"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eu-central-1b"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eu-central-1b"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eu-central-1b"
@@ -6595,6 +6643,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eu-central-1c"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eu-central-1c"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eu-central-1c"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eu-central-1c"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eu-central-1c"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eu-central-1c"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eu-central-1c"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eu-central-1c"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eu-central-1c"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eu-central-1c"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eu-central-1c"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eu-central-1c"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eu-central-1c"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eu-central-1c"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone/eu-north-1.json b/moto/ec2/resources/instance_type_offerings/availability-zone/eu-north-1.json
index d1f143a7f..b39532942 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone/eu-north-1.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone/eu-north-1.json
@@ -903,6 +903,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eu-north-1a"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eu-north-1a"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eu-north-1a"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eu-north-1a"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eu-north-1a"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eu-north-1a"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eu-north-1a"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eu-north-1a"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eu-north-1a"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eu-north-1a"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eu-north-1a"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eu-north-1a"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eu-north-1a"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eu-north-1a"
@@ -2567,6 +2615,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eu-north-1b"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eu-north-1b"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eu-north-1b"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eu-north-1b"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eu-north-1b"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eu-north-1b"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eu-north-1b"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eu-north-1b"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eu-north-1b"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eu-north-1b"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eu-north-1b"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eu-north-1b"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eu-north-1b"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eu-north-1b"
@@ -4291,6 +4387,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eu-north-1c"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eu-north-1c"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eu-north-1c"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eu-north-1c"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eu-north-1c"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eu-north-1c"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eu-north-1c"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eu-north-1c"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eu-north-1c"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eu-north-1c"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eu-north-1c"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eu-north-1c"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eu-north-1c"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eu-north-1c"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone/eu-south-2.json b/moto/ec2/resources/instance_type_offerings/availability-zone/eu-south-2.json
index f14a3ca74..a18555a3d 100644
--- a/moto/ec2/resources/instance_type_offerings/availability-zone/eu-south-2.json
+++ b/moto/ec2/resources/instance_type_offerings/availability-zone/eu-south-2.json
@@ -1727,6 +1727,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eu-south-2b"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eu-south-2b"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eu-south-2b"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eu-south-2b"
@@ -2839,6 +2887,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eu-south-2c"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eu-south-2c"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eu-south-2c"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eu-south-2c"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone/eu-west-1.json b/moto/ec2/resources/instance_type_offerings/availability-zone/eu-west-1.json
index aaa986807..d23c591fd 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
@@ -651,6 +651,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "eu-west-1a"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "eu-west-1a"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "eu-west-1a"
@@ -3635,6 +3639,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "eu-west-1b"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "eu-west-1b"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "eu-west-1b"
@@ -6599,6 +6607,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "eu-west-1c"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "eu-west-1c"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "eu-west-1c"
diff --git a/moto/ec2/resources/instance_type_offerings/availability-zone/us-east-1.json b/moto/ec2/resources/instance_type_offerings/availability-zone/us-east-1.json
index fa8c05842..f0c1c6dfa 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
@@ -2471,6 +2471,10 @@
   "InstanceType": "u-24tb1.112xlarge",
   "Location": "us-east-1a"
  },
+ {
+  "InstanceType": "u-3tb1.56xlarge",
+  "Location": "us-east-1a"
+ },
  {
   "InstanceType": "u-6tb1.112xlarge",
   "Location": "us-east-1a"
@@ -3291,6 +3295,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "us-east-1b"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "us-east-1b"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "us-east-1b"
@@ -6303,6 +6311,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "us-east-1c"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "us-east-1c"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "us-east-1c"
@@ -9299,6 +9311,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "us-east-1d"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "us-east-1d"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "us-east-1d"
@@ -12531,6 +12547,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "us-east-1f"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "us-east-1f"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "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 0983bfe5c..40505ded6 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
@@ -623,6 +623,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "us-east-2a"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "us-east-2a"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "us-east-2a"
@@ -3459,6 +3463,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "us-east-2b"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "us-east-2b"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "us-east-2b"
@@ -6275,6 +6283,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "us-east-2c"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "us-east-2c"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "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 12efeb32d..537a3365c 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
@@ -627,6 +627,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "us-west-2a"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "us-west-2a"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "us-west-2a"
@@ -3623,6 +3627,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "us-west-2b"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "us-west-2b"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "us-west-2b"
@@ -6539,6 +6547,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "us-west-2c"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "us-west-2c"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "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 afc617334..7e8f69b32 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
@@ -619,6 +619,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "ap-northeast-1"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "ap-northeast-1"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "ap-northeast-1"
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 5db8cb539..35042ca95 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
@@ -1595,6 +1595,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eu-central-1"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eu-central-1"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eu-central-1"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eu-central-1"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eu-central-1"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eu-central-1"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eu-central-1"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eu-central-1"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eu-central-1"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eu-central-1"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eu-central-1"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eu-central-1"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eu-central-1"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eu-central-1"
diff --git a/moto/ec2/resources/instance_type_offerings/region/eu-north-1.json b/moto/ec2/resources/instance_type_offerings/region/eu-north-1.json
index e73bb7322..d6c6ed956 100644
--- a/moto/ec2/resources/instance_type_offerings/region/eu-north-1.json
+++ b/moto/ec2/resources/instance_type_offerings/region/eu-north-1.json
@@ -959,6 +959,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eu-north-1"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eu-north-1"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eu-north-1"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eu-north-1"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eu-north-1"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eu-north-1"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eu-north-1"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eu-north-1"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eu-north-1"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eu-north-1"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eu-north-1"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eu-north-1"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eu-north-1"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eu-north-1"
diff --git a/moto/ec2/resources/instance_type_offerings/region/eu-south-2.json b/moto/ec2/resources/instance_type_offerings/region/eu-south-2.json
index c6c49d5a4..e95652996 100644
--- a/moto/ec2/resources/instance_type_offerings/region/eu-south-2.json
+++ b/moto/ec2/resources/instance_type_offerings/region/eu-south-2.json
@@ -615,6 +615,54 @@
   "InstanceType": "m6in.xlarge",
   "Location": "eu-south-2"
  },
+ {
+  "InstanceType": "m7a.12xlarge",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "m7a.16xlarge",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "m7a.24xlarge",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "m7a.2xlarge",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "m7a.32xlarge",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "m7a.48xlarge",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "m7a.4xlarge",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "m7a.8xlarge",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "m7a.large",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "m7a.medium",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "m7a.metal-48xl",
+  "Location": "eu-south-2"
+ },
+ {
+  "InstanceType": "m7a.xlarge",
+  "Location": "eu-south-2"
+ },
  {
   "InstanceType": "m7g.12xlarge",
   "Location": "eu-south-2"
diff --git a/moto/ec2/resources/instance_type_offerings/region/eu-west-1.json b/moto/ec2/resources/instance_type_offerings/region/eu-west-1.json
index b764423ed..522813c20 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
@@ -651,6 +651,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "eu-west-1"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "eu-west-1"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "eu-west-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 2a6e5b52c..04283e40f 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
@@ -651,6 +651,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "us-east-1"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "us-east-1"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "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 2469ff2c5..a4a93c0be 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
@@ -623,6 +623,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "us-east-2"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "us-east-2"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "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 57e14a706..24819dbd3 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
@@ -651,6 +651,10 @@
   "InstanceType": "c7gn.medium",
   "Location": "us-west-2"
  },
+ {
+  "InstanceType": "c7gn.metal",
+  "Location": "us-west-2"
+ },
  {
   "InstanceType": "c7gn.xlarge",
   "Location": "us-west-2"
diff --git a/moto/ec2/resources/instance_types.json b/moto/ec2/resources/instance_types.json
index 1182e67a1..6dabc14a5 100644
--- a/moto/ec2/resources/instance_types.json
+++ b/moto/ec2/resources/instance_types.json
@@ -17560,6 +17560,92 @@
    "DefaultVCpus": 1
   }
  },
+ "c7gn.metal": {
+  "AutoRecoverySupported": true,
+  "BareMetal": true,
+  "BurstablePerformanceSupported": false,
+  "CurrentGeneration": true,
+  "DedicatedHostsSupported": true,
+  "EbsInfo": {
+   "EbsOptimizedInfo": {
+    "BaselineBandwidthInMbps": 33333,
+    "BaselineIops": 133333,
+    "BaselineThroughputInMBps": 4166.625,
+    "MaximumBandwidthInMbps": 40000,
+    "MaximumIops": 160000,
+    "MaximumThroughputInMBps": 5000.0
+   },
+   "EbsOptimizedSupport": "default",
+   "EncryptionSupport": "supported",
+   "NvmeSupport": "required"
+  },
+  "FreeTierEligible": false,
+  "HibernationSupported": false,
+  "InstanceStorageSupported": false,
+  "InstanceType": "c7gn.metal",
+  "MemoryInfo": {
+   "SizeInMiB": 131072
+  },
+  "NetworkInfo": {
+   "DefaultNetworkCardIndex": 0,
+   "EfaInfo": {
+    "MaximumEfaInterfaces": 1
+   },
+   "EfaSupported": true,
+   "EnaSrdSupported": false,
+   "EnaSupport": "required",
+   "EncryptionInTransitSupported": true,
+   "Ipv4AddressesPerInterface": 50,
+   "Ipv6AddressesPerInterface": 50,
+   "Ipv6Supported": true,
+   "MaximumNetworkCards": 1,
+   "MaximumNetworkInterfaces": 15,
+   "NetworkCards": [
+    {
+     "BaselineBandwidthInGbps": 200.0,
+     "MaximumNetworkInterfaces": 15,
+     "NetworkCardIndex": 0,
+     "NetworkPerformance": "200 Gigabit",
+     "PeakBandwidthInGbps": 200.0
+    }
+   ],
+   "NetworkPerformance": "200 Gigabit"
+  },
+  "NitroEnclavesSupport": "unsupported",
+  "NitroTpmSupport": "unsupported",
+  "PlacementGroupInfo": {
+   "SupportedStrategies": [
+    "cluster",
+    "partition",
+    "spread"
+   ]
+  },
+  "ProcessorInfo": {
+   "Manufacturer": "AWS",
+   "SupportedArchitectures": [
+    "arm64"
+   ],
+   "SustainedClockSpeedInGhz": 2.6
+  },
+  "SupportedBootModes": [
+   "uefi"
+  ],
+  "SupportedRootDeviceTypes": [
+   "ebs"
+  ],
+  "SupportedUsageClasses": [
+   "on-demand",
+   "spot"
+  ],
+  "SupportedVirtualizationTypes": [
+   "hvm"
+  ],
+  "VCpuInfo": {
+   "DefaultCores": 64,
+   "DefaultThreadsPerCore": 1,
+   "DefaultVCpus": 64
+  }
+ },
  "c7gn.xlarge": {
   "AutoRecoverySupported": true,
   "BareMetal": false,
diff --git a/moto/ssm/resources/regions.json b/moto/ssm/resources/regions.json
index 24128b1bc..4060ffa7b 100644
--- a/moto/ssm/resources/regions.json
+++ b/moto/ssm/resources/regions.json
@@ -23,7 +23,7 @@
               "Value": "ZA"
             },
             "geolocationRegion": {
-              "Value": "WC"
+              "Value": "ZA-WC"
             },
             "local-zones": {
               "afs1-los1-az1": {
@@ -1661,7 +1661,7 @@
               "Value": "CN"
             },
             "geolocationRegion": {
-              "Value": "CN-91"
+              "Value": "CN-HK"
             },
             "longName": {
               "Value": "Asia Pacific (Hong Kong)"
@@ -3644,6 +3644,15 @@
               "chime-sdk": {
                 "Value": "chime-sdk"
               },
+              "chime-sdk-media-pipelines": {
+                "Value": "chime-sdk-media-pipelines",
+                "endpoint": {
+                  "Value": "media-pipelines-chime.ap-northeast-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "chime-sdk-meetings": {
                 "Value": "chime-sdk-meetings",
                 "endpoint": {
@@ -5822,6 +5831,15 @@
               "timestream": {
                 "Value": "timestream"
               },
+              "timestream-influxdb": {
+                "Value": "timestream-influxdb",
+                "endpoint": {
+                  "Value": "timestream-influxdb.ap-northeast-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "timestream-write": {
                 "Value": "timestream-write",
                 "endpoint": {
@@ -6317,6 +6335,15 @@
               "chime-sdk": {
                 "Value": "chime-sdk"
               },
+              "chime-sdk-media-pipelines": {
+                "Value": "chime-sdk-media-pipelines",
+                "endpoint": {
+                  "Value": "media-pipelines-chime.ap-northeast-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "chime-sdk-meetings": {
                 "Value": "chime-sdk-meetings",
                 "endpoint": {
@@ -8441,6 +8468,33 @@
               "aiq": {
                 "Value": "aiq"
               },
+              "amplify": {
+                "Value": "amplify",
+                "endpoint": {
+                  "Value": "amplify.ap-northeast-3.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "amplifybackend": {
+                "Value": "amplifybackend",
+                "endpoint": {
+                  "Value": "amplifybackend.ap-northeast-3.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "amplifyuibuilder": {
+                "Value": "amplifyuibuilder",
+                "endpoint": {
+                  "Value": "amplifyuibuilder.ap-northeast-3.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "apigateway": {
                 "Value": "apigateway",
                 "endpoint": {
@@ -10268,6 +10322,15 @@
               "chime-sdk": {
                 "Value": "chime-sdk"
               },
+              "chime-sdk-media-pipelines": {
+                "Value": "chime-sdk-media-pipelines",
+                "endpoint": {
+                  "Value": "media-pipelines-chime.ap-south-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "chime-sdk-meetings": {
                 "Value": "chime-sdk-meetings",
                 "endpoint": {
@@ -12086,6 +12149,15 @@
               "thinclient": {
                 "Value": "thinclient"
               },
+              "timestream-influxdb": {
+                "Value": "timestream-influxdb",
+                "endpoint": {
+                  "Value": "timestream-influxdb.ap-south-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "transcribe": {
                 "Value": "transcribe",
                 "endpoint": {
@@ -12957,6 +13029,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "medialive": {
+                "Value": "medialive",
+                "endpoint": {
+                  "Value": "medialive.ap-south-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "meteringmarketplace": {
                 "Value": "meteringmarketplace",
                 "endpoint": {
@@ -13290,6 +13371,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "sso-oidc": {
+                "Value": "sso-oidc",
+                "endpoint": {
+                  "Value": "oidc.ap-south-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "stepfunctions": {
                 "Value": "stepfunctions",
                 "endpoint": {
@@ -15861,6 +15951,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "timestream-influxdb": {
+                "Value": "timestream-influxdb",
+                "endpoint": {
+                  "Value": "timestream-influxdb.ap-southeast-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "transcribe": {
                 "Value": "transcribe",
                 "endpoint": {
@@ -16365,6 +16464,15 @@
               "chime-sdk": {
                 "Value": "chime-sdk"
               },
+              "chime-sdk-media-pipelines": {
+                "Value": "chime-sdk-media-pipelines",
+                "endpoint": {
+                  "Value": "media-pipelines-chime.ap-southeast-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "chime-sdk-meetings": {
                 "Value": "chime-sdk-meetings",
                 "endpoint": {
@@ -18564,6 +18672,15 @@
               "timestream": {
                 "Value": "timestream"
               },
+              "timestream-influxdb": {
+                "Value": "timestream-influxdb",
+                "endpoint": {
+                  "Value": "timestream-influxdb.ap-southeast-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "timestream-write": {
                 "Value": "timestream-write",
                 "endpoint": {
@@ -19624,6 +19741,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "networkmanager": {
+                "Value": "networkmanager",
+                "endpoint": {
+                  "Value": "networkmanager.us-west-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "notifications": {
                 "Value": "notifications"
               },
@@ -20384,6 +20510,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "cognito-idp": {
+                "Value": "cognito-idp",
+                "endpoint": {
+                  "Value": "cognito-idp.ap-southeast-4.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "compute-optimizer": {
                 "Value": "compute-optimizer",
                 "endpoint": {
@@ -21672,6 +21807,15 @@
               "chime-sdk": {
                 "Value": "chime-sdk"
               },
+              "chime-sdk-media-pipelines": {
+                "Value": "chime-sdk-media-pipelines",
+                "endpoint": {
+                  "Value": "media-pipelines-chime.ca-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "chime-sdk-meetings": {
                 "Value": "chime-sdk-meetings",
                 "endpoint": {
@@ -24562,7 +24706,7 @@
               "Value": "CN"
             },
             "geolocationRegion": {
-              "Value": "CN-11"
+              "Value": "CN-BJ"
             },
             "longName": {
               "Value": "China (Beijing)"
@@ -25982,7 +26126,7 @@
               "Value": "CN"
             },
             "geolocationRegion": {
-              "Value": "CN-64"
+              "Value": "CN-NX"
             },
             "longName": {
               "Value": "China (Ningxia)"
@@ -29930,6 +30074,15 @@
               "timestream": {
                 "Value": "timestream"
               },
+              "timestream-influxdb": {
+                "Value": "timestream-influxdb",
+                "endpoint": {
+                  "Value": "timestream-influxdb.eu-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "timestream-write": {
                 "Value": "timestream-write",
                 "endpoint": {
@@ -33279,6 +33432,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "timestream-influxdb": {
+                "Value": "timestream-influxdb",
+                "endpoint": {
+                  "Value": "timestream-influxdb.eu-north-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "tnb": {
                 "Value": "tnb",
                 "endpoint": {
@@ -36056,6 +36218,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "sso-oidc": {
+                "Value": "sso-oidc",
+                "endpoint": {
+                  "Value": "oidc.eu-south-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "stepfunctions": {
                 "Value": "stepfunctions",
                 "endpoint": {
@@ -38817,6 +38988,15 @@
               "timestream": {
                 "Value": "timestream"
               },
+              "timestream-influxdb": {
+                "Value": "timestream-influxdb",
+                "endpoint": {
+                  "Value": "timestream-influxdb.eu-west-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "timestream-write": {
                 "Value": "timestream-write",
                 "endpoint": {
@@ -39322,6 +39502,15 @@
               "chime-sdk": {
                 "Value": "chime-sdk"
               },
+              "chime-sdk-media-pipelines": {
+                "Value": "chime-sdk-media-pipelines",
+                "endpoint": {
+                  "Value": "media-pipelines-chime.eu-west-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "chime-sdk-meetings": {
                 "Value": "chime-sdk-meetings",
                 "endpoint": {
@@ -41506,7 +41695,7 @@
               "Value": "FR"
             },
             "geolocationRegion": {
-              "Value": "FR-75"
+              "Value": "FR-75C"
             },
             "longName": {
               "Value": "Europe (Paris)"
@@ -45579,6 +45768,24 @@
                   "Value": "HTTPS"
                 }
               },
+              "mediaconvert": {
+                "Value": "mediaconvert",
+                "endpoint": {
+                  "Value": "mediaconvert.me-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "medialive": {
+                "Value": "medialive",
+                "endpoint": {
+                  "Value": "medialive.me-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "meteringmarketplace": {
                 "Value": "meteringmarketplace",
                 "endpoint": {
@@ -49758,9 +49965,6 @@
               "use1-mci1-az1": {
                 "Value": "use1-mci1-az1"
               },
-              "use1-mia1-az1": {
-                "Value": "use1-mia1-az1"
-              },
               "use1-msp1-az1": {
                 "Value": "use1-msp1-az1"
               },
@@ -52697,6 +52901,15 @@
               "timestream": {
                 "Value": "timestream"
               },
+              "timestream-influxdb": {
+                "Value": "timestream-influxdb",
+                "endpoint": {
+                  "Value": "timestream-influxdb.us-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "timestream-write": {
                 "Value": "timestream-write",
                 "endpoint": {
@@ -55331,6 +55544,15 @@
               "timestream": {
                 "Value": "timestream"
               },
+              "timestream-influxdb": {
+                "Value": "timestream-influxdb",
+                "endpoint": {
+                  "Value": "timestream-influxdb.us-east-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "timestream-write": {
                 "Value": "timestream-write",
                 "endpoint": {
@@ -55798,7 +56020,13 @@
                 }
               },
               "controltower": {
-                "Value": "controltower"
+                "Value": "controltower",
+                "endpoint": {
+                  "Value": "controltower.us-gov-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
               },
               "datasync": {
                 "Value": "datasync",
@@ -57299,7 +57527,13 @@
                 }
               },
               "controltower": {
-                "Value": "controltower"
+                "Value": "controltower",
+                "endpoint": {
+                  "Value": "controltower.us-gov-west-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
               },
               "databrew": {
                 "Value": "databrew",
@@ -63449,6 +63683,15 @@
               "timestream": {
                 "Value": "timestream"
               },
+              "timestream-influxdb": {
+                "Value": "timestream-influxdb",
+                "endpoint": {
+                  "Value": "timestream-influxdb.us-west-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "timestream-write": {
                 "Value": "timestream-write",
                 "endpoint": {
diff --git a/moto/ssm/resources/services.json b/moto/ssm/resources/services.json
index db9ff5d62..f8a9385bf 100644
--- a/moto/ssm/resources/services.json
+++ b/moto/ssm/resources/services.json
@@ -1385,6 +1385,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-northeast-3": {
+                "Value": "ap-northeast-3",
+                "endpoint": {
+                  "Value": "amplify.ap-northeast-3.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ap-south-1": {
                 "Value": "ap-south-1",
                 "endpoint": {
@@ -1555,6 +1564,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-northeast-3": {
+                "Value": "ap-northeast-3",
+                "endpoint": {
+                  "Value": "amplifybackend.ap-northeast-3.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ap-south-1": {
                 "Value": "ap-south-1",
                 "endpoint": {
@@ -1725,6 +1743,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-northeast-3": {
+                "Value": "ap-northeast-3",
+                "endpoint": {
+                  "Value": "amplifyuibuilder.ap-northeast-3.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ap-south-1": {
                 "Value": "ap-south-1",
                 "endpoint": {
@@ -8320,6 +8347,33 @@
               "Value": "Amazon Chime SDK Media Pipelines"
             },
             "regions": {
+              "ap-northeast-1": {
+                "Value": "ap-northeast-1",
+                "endpoint": {
+                  "Value": "media-pipelines-chime.ap-northeast-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "ap-northeast-2": {
+                "Value": "ap-northeast-2",
+                "endpoint": {
+                  "Value": "media-pipelines-chime.ap-northeast-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "ap-south-1": {
+                "Value": "ap-south-1",
+                "endpoint": {
+                  "Value": "media-pipelines-chime.ap-south-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ap-southeast-1": {
                 "Value": "ap-southeast-1",
                 "endpoint": {
@@ -8329,6 +8383,24 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-2": {
+                "Value": "ap-southeast-2",
+                "endpoint": {
+                  "Value": "media-pipelines-chime.ap-southeast-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "ca-central-1": {
+                "Value": "ca-central-1",
+                "endpoint": {
+                  "Value": "media-pipelines-chime.ca-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "eu-central-1": {
                 "Value": "eu-central-1",
                 "endpoint": {
@@ -8338,6 +8410,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "eu-west-2": {
+                "Value": "eu-west-2",
+                "endpoint": {
+                  "Value": "media-pipelines-chime.eu-west-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "us-east-1": {
                 "Value": "us-east-1",
                 "endpoint": {
@@ -13739,6 +13820,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-4": {
+                "Value": "ap-southeast-4",
+                "endpoint": {
+                  "Value": "cognito-idp.ap-southeast-4.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -15511,10 +15601,22 @@
                 }
               },
               "us-gov-east-1": {
-                "Value": "us-gov-east-1"
+                "Value": "us-gov-east-1",
+                "endpoint": {
+                  "Value": "controltower.us-gov-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
               },
               "us-gov-west-1": {
-                "Value": "us-gov-west-1"
+                "Value": "us-gov-west-1",
+                "endpoint": {
+                  "Value": "controltower.us-gov-west-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
               },
               "us-west-1": {
                 "Value": "us-west-1",
@@ -40027,6 +40129,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "me-central-1": {
+                "Value": "me-central-1",
+                "endpoint": {
+                  "Value": "mediaconvert.me-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "sa-east-1": {
                 "Value": "sa-east-1",
                 "endpoint": {
@@ -40128,6 +40239,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-south-2": {
+                "Value": "ap-south-2",
+                "endpoint": {
+                  "Value": "medialive.ap-south-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ap-southeast-1": {
                 "Value": "ap-southeast-1",
                 "endpoint": {
@@ -40209,6 +40329,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "me-central-1": {
+                "Value": "me-central-1",
+                "endpoint": {
+                  "Value": "medialive.me-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "sa-east-1": {
                 "Value": "sa-east-1",
                 "endpoint": {
@@ -43351,6 +43480,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-southeast-3": {
+                "Value": "ap-southeast-3",
+                "endpoint": {
+                  "Value": "networkmanager.us-west-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ca-central-1": {
                 "Value": "ca-central-1",
                 "endpoint": {
@@ -59849,6 +59987,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "ap-south-2": {
+                "Value": "ap-south-2",
+                "endpoint": {
+                  "Value": "oidc.ap-south-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "ap-southeast-1": {
                 "Value": "ap-southeast-1",
                 "endpoint": {
@@ -59948,6 +60095,15 @@
                   "Value": "HTTPS"
                 }
               },
+              "eu-south-2": {
+                "Value": "eu-south-2",
+                "endpoint": {
+                  "Value": "oidc.eu-south-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
               "eu-west-1": {
                 "Value": "eu-west-1",
                 "endpoint": {
@@ -62139,6 +62295,104 @@
               }
             }
           },
+          "timestream-influxdb": {
+            "Value": "timestream-influxdb",
+            "longName": {
+              "Value": "Timestream InfluxDB"
+            },
+            "regions": {
+              "ap-northeast-1": {
+                "Value": "ap-northeast-1",
+                "endpoint": {
+                  "Value": "timestream-influxdb.ap-northeast-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "ap-south-1": {
+                "Value": "ap-south-1",
+                "endpoint": {
+                  "Value": "timestream-influxdb.ap-south-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "ap-southeast-1": {
+                "Value": "ap-southeast-1",
+                "endpoint": {
+                  "Value": "timestream-influxdb.ap-southeast-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "ap-southeast-2": {
+                "Value": "ap-southeast-2",
+                "endpoint": {
+                  "Value": "timestream-influxdb.ap-southeast-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "eu-central-1": {
+                "Value": "eu-central-1",
+                "endpoint": {
+                  "Value": "timestream-influxdb.eu-central-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "eu-north-1": {
+                "Value": "eu-north-1",
+                "endpoint": {
+                  "Value": "timestream-influxdb.eu-north-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "eu-west-1": {
+                "Value": "eu-west-1",
+                "endpoint": {
+                  "Value": "timestream-influxdb.eu-west-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "us-east-1": {
+                "Value": "us-east-1",
+                "endpoint": {
+                  "Value": "timestream-influxdb.us-east-1.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "us-east-2": {
+                "Value": "us-east-2",
+                "endpoint": {
+                  "Value": "timestream-influxdb.us-east-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              },
+              "us-west-2": {
+                "Value": "us-west-2",
+                "endpoint": {
+                  "Value": "timestream-influxdb.us-west-2.amazonaws.com"
+                },
+                "protocols": {
+                  "Value": "HTTPS"
+                }
+              }
+            }
+          },
           "timestream-write": {
             "Value": "timestream-write",
             "longName": {


Test patch:
diff --git a/tests/test_cloudformation/test_cloudformation_stack_crud_boto3.py b/tests/test_cloudformation/test_cloudformation_stack_crud_boto3.py
index 85ef41929..46b22946c 100644
--- a/tests/test_cloudformation/test_cloudformation_stack_crud_boto3.py
+++ b/tests/test_cloudformation/test_cloudformation_stack_crud_boto3.py
@@ -341,9 +341,21 @@ dummy_template_launch_template = {
             "Type": "AWS::AutoScaling::AutoScalingGroup",
             "Properties": {
                 "VPCZoneIdentifier": {"Ref": "Subnets"},
-                "LaunchTemplate": {
-                    "LaunchTemplateId": {"Ref": "TestLaunchTemplate"},
-                    "Version": "$DEFAULT",
+                "MixedInstancesPolicy": {
+                    "InstancesDistribution": {
+                        "OnDemandAllocationStrategy": "string",
+                        "OnDemandBaseCapacity": 123,
+                        "OnDemandPercentageAboveBaseCapacity": 123,
+                        "SpotAllocationStrategy": "string",
+                        "SpotInstancePools": 123,
+                        "SpotMaxPrice": "string",
+                    },
+                    "LaunchTemplate": {
+                        "LaunchTemplateSpecification": {
+                            "LaunchTemplateId": {"Ref": "TestLaunchTemplate"},
+                            "Version": "$DEFAULT",
+                        }
+                    },
                 },
                 "CapacityRebalance": True,
                 "MinSize": "1",