From 5e5a69da19530ea083f5145638c52c893b091860 Mon Sep 17 00:00:00 2001
From: aws-sdk-go-automation
 <43143561+aws-sdk-go-automation@users.noreply.github.com>
Date: Thu, 2 Mar 2023 11:21:56 -0800
Subject: [PATCH] Release v1.44.213 (2023-03-02) (#4744)

Release v1.44.213 (2023-03-02)
===

### Service Client Updates
* `service/iot`: Updates service API and documentation
  * A recurring maintenance window is an optional configuration used for rolling out the job document to all devices in the target group observing a predetermined start time, duration, and frequency that the maintenance window occurs.
* `service/migrationhubstrategy`: Updates service API
* `service/organizations`: Updates service API and documentation
  * This release introduces a new reason code, ACCOUNT_CREATION_NOT_COMPLETE, to ConstraintViolationException in CreateOrganization API.
* `service/pi`: Updates service API and documentation
* `service/pipes`: Updates service API and documentation
* `service/sagemaker`: Updates service API and documentation
  * Add a new field "EndpointMetrics" in SageMaker Inference Recommender "ListInferenceRecommendationsJobSteps" API response.
---
 CHANGELOG.md                                  |   14 +
 aws/endpoints/defaults.go                     |    9 +
 aws/version.go                                |    2 +-
 models/apis/iot/2015-05-28/api-2.json         |   47 +-
 models/apis/iot/2015-05-28/docs-2.json        |   49 +-
 .../iot/2015-05-28/endpoint-rule-set-1.json   |  465 +++--
 .../apis/iot/2015-05-28/endpoint-tests-1.json | 1167 +++---------
 .../2020-02-19/api-2.json                     |    8 +-
 .../2020-02-19/endpoint-rule-set-1.json       |  392 ++--
 .../2020-02-19/endpoint-tests-1.json          |  263 +--
 .../apis/organizations/2016-11-28/api-2.json  |    3 +-
 .../apis/organizations/2016-11-28/docs-2.json |   20 +-
 .../2016-11-28/endpoint-rule-set-1.json       | 1593 ++++++++---------
 .../2016-11-28/endpoint-tests-1.json          |  340 +++-
 models/apis/pi/2018-02-27/api-2.json          |   10 +-
 models/apis/pi/2018-02-27/docs-2.json         |    6 +
 .../pi/2018-02-27/endpoint-rule-set-1.json    |  350 ++++
 .../apis/pi/2018-02-27/endpoint-tests-1.json  |  537 ++++++
 models/apis/pipes/2015-10-07/api-2.json       |   38 +-
 models/apis/pipes/2015-10-07/docs-2.json      |   11 +-
 .../pipes/2015-10-07/endpoint-rule-set-1.json |  407 +++--
 .../pipes/2015-10-07/endpoint-tests-1.json    |   86 +-
 models/apis/sagemaker/2017-07-24/api-2.json   |    3 +-
 models/apis/sagemaker/2017-07-24/docs-2.json  |   29 +-
 .../2017-07-24/endpoint-tests-1.json          |  174 +-
 models/endpoints/endpoints.json               |    5 +-
 service/iot/api.go                            |  192 +-
 .../api.go                                    |    8 +
 service/organizations/api.go                  |  164 +-
 service/organizations/errors.go               |    4 +
 service/pi/api.go                             |   26 +
 service/pipes/api.go                          |    4 +-
 service/sagemaker/api.go                      |   61 +-
 33 files changed, 3755 insertions(+), 2732 deletions(-)
 create mode 100644 models/apis/pi/2018-02-27/endpoint-rule-set-1.json
 create mode 100644 models/apis/pi/2018-02-27/endpoint-tests-1.json

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 932df1efe70..4a12ca738f0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,17 @@
+Release v1.44.213 (2023-03-02)
+===
+
+### Service Client Updates
+* `service/iot`: Updates service API and documentation
+  * A recurring maintenance window is an optional configuration used for rolling out the job document to all devices in the target group observing a predetermined start time, duration, and frequency that the maintenance window occurs.
+* `service/migrationhubstrategy`: Updates service API
+* `service/organizations`: Updates service API and documentation
+  * This release introduces a new reason code, ACCOUNT_CREATION_NOT_COMPLETE, to ConstraintViolationException in CreateOrganization API.
+* `service/pi`: Updates service API and documentation
+* `service/pipes`: Updates service API and documentation
+* `service/sagemaker`: Updates service API and documentation
+  * Add a new field "EndpointMetrics" in SageMaker Inference Recommender "ListInferenceRecommendationsJobSteps" API response.
+
 Release v1.44.212 (2023-03-01)
 ===
 
diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go
index b40e84b9cf6..357e30733e3 100644
--- a/aws/endpoints/defaults.go
+++ b/aws/endpoints/defaults.go
@@ -5245,6 +5245,9 @@ var awsPartition = partition{
 				endpointKey{
 					Region: "ap-south-1",
 				}: endpoint{},
+				endpointKey{
+					Region: "ap-south-2",
+				}: endpoint{},
 				endpointKey{
 					Region: "ap-southeast-1",
 				}: endpoint{},
@@ -5299,6 +5302,9 @@ var awsPartition = partition{
 					},
 					Deprecated: boxedTrue,
 				},
+				endpointKey{
+					Region: "me-central-1",
+				}: endpoint{},
 				endpointKey{
 					Region: "me-south-1",
 				}: endpoint{},
@@ -37139,6 +37145,9 @@ var awsisoPartition = partition{
 				endpointKey{
 					Region: "us-iso-east-1",
 				}: endpoint{},
+				endpointKey{
+					Region: "us-iso-west-1",
+				}: endpoint{},
 			},
 		},
 		"snowball": service{
diff --git a/aws/version.go b/aws/version.go
index 0a78ed78578..d1cd0acfa83 100644
--- a/aws/version.go
+++ b/aws/version.go
@@ -5,4 +5,4 @@ package aws
 const SDKName = "aws-sdk-go"
 
 // SDKVersion is the version of this SDK
-const SDKVersion = "1.44.212"
+const SDKVersion = "1.44.213"
diff --git a/models/apis/iot/2015-05-28/api-2.json b/models/apis/iot/2015-05-28/api-2.json
index 5f601c05c83..6ee536cfcf3 100644
--- a/models/apis/iot/2015-05-28/api-2.json
+++ b/models/apis/iot/2015-05-28/api-2.json
@@ -5569,7 +5569,8 @@
         "abortConfig":{"shape":"AbortConfig"},
         "timeoutConfig":{"shape":"TimeoutConfig"},
         "tags":{"shape":"TagList"},
-        "jobExecutionsRetryConfig":{"shape":"JobExecutionsRetryConfig"}
+        "jobExecutionsRetryConfig":{"shape":"JobExecutionsRetryConfig"},
+        "maintenanceWindows":{"shape":"MaintenanceWindows"}
       }
     },
     "CreateJobTemplateResponse":{
@@ -6002,6 +6003,11 @@
       "max":43200,
       "min":900
     },
+    "CronExpression":{
+      "type":"string",
+      "max":256,
+      "min":1
+    },
     "CustomCodeSigning":{
       "type":"structure",
       "members":{
@@ -7054,7 +7060,8 @@
         "jobExecutionsRolloutConfig":{"shape":"JobExecutionsRolloutConfig"},
         "abortConfig":{"shape":"AbortConfig"},
         "timeoutConfig":{"shape":"TimeoutConfig"},
-        "jobExecutionsRetryConfig":{"shape":"JobExecutionsRetryConfig"}
+        "jobExecutionsRetryConfig":{"shape":"JobExecutionsRetryConfig"},
+        "maintenanceWindows":{"shape":"MaintenanceWindows"}
       }
     },
     "DescribeManagedJobTemplateRequest":{
@@ -7648,6 +7655,11 @@
         "CUSTOMER_MANAGED"
       ]
     },
+    "DurationInMinutes":{
+      "type":"integer",
+      "max":1430,
+      "min":30
+    },
     "DurationSeconds":{"type":"integer"},
     "DynamicGroupStatus":{
       "type":"string",
@@ -8569,7 +8581,8 @@
         "jobExecutionsRetryConfig":{"shape":"JobExecutionsRetryConfig"},
         "documentParameters":{"shape":"ParameterMap"},
         "isConcurrent":{"shape":"BooleanWrapperObject"},
-        "schedulingConfig":{"shape":"SchedulingConfig"}
+        "schedulingConfig":{"shape":"SchedulingConfig"},
+        "scheduledJobRollouts":{"shape":"ScheduledJobRolloutList"}
       }
     },
     "JobArn":{"type":"string"},
@@ -10697,6 +10710,21 @@
         "confidenceLevel":{"shape":"ConfidenceLevel"}
       }
     },
+    "MaintenanceWindow":{
+      "type":"structure",
+      "required":[
+        "startTime",
+        "durationInMinutes"
+      ],
+      "members":{
+        "startTime":{"shape":"CronExpression"},
+        "durationInMinutes":{"shape":"DurationInMinutes"}
+      }
+    },
+    "MaintenanceWindows":{
+      "type":"list",
+      "member":{"shape":"MaintenanceWindow"}
+    },
     "MalformedPolicyException":{
       "type":"structure",
       "members":{
@@ -11887,12 +11915,23 @@
       "min":1,
       "pattern":"[a-zA-Z0-9_-]+"
     },
+    "ScheduledJobRollout":{
+      "type":"structure",
+      "members":{
+        "startTime":{"shape":"StringDateTime"}
+      }
+    },
+    "ScheduledJobRolloutList":{
+      "type":"list",
+      "member":{"shape":"ScheduledJobRollout"}
+    },
     "SchedulingConfig":{
       "type":"structure",
       "members":{
         "startTime":{"shape":"StringDateTime"},
         "endTime":{"shape":"StringDateTime"},
-        "endBehavior":{"shape":"JobEndBehavior"}
+        "endBehavior":{"shape":"JobEndBehavior"},
+        "maintenanceWindows":{"shape":"MaintenanceWindows"}
       }
     },
     "SearchIndexRequest":{
diff --git a/models/apis/iot/2015-05-28/docs-2.json b/models/apis/iot/2015-05-28/docs-2.json
index 3b22106dbbf..899c77879c3 100644
--- a/models/apis/iot/2015-05-28/docs-2.json
+++ b/models/apis/iot/2015-05-28/docs-2.json
@@ -21,7 +21,7 @@
     "CreateAuditSuppression": "<p> Creates a Device Defender audit suppression. </p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">CreateAuditSuppression</a> action.</p>",
     "CreateAuthorizer": "<p>Creates an authorizer.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">CreateAuthorizer</a> action.</p>",
     "CreateBillingGroup": "<p>Creates a billing group.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">CreateBillingGroup</a> action.</p>",
-    "CreateCertificateFromCsr": "<p>Creates an X.509 certificate using the specified certificate signing request.</p> <p> <b>Note:</b> The CSR must include a public key that is either an RSA key with a length of at least 2048 bits or an ECC key from NIST P-256, NIST P-384, or NIST P-512 curves. For supported certificates, consult <a href=\"https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html#x509-cert-algorithms\"> Certificate signing algorithms supported by IoT</a>.</p> <p> <b>Note:</b> Reusing the same certificate signing request (CSR) results in a distinct certificate.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">CreateCertificateFromCsr</a> action.</p> <p>You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs.</p> <p>Assuming a set of CSRs are located inside of the directory my-csr-directory:</p> <p>On Linux and OS X, the command is:</p> <p>$ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}</p> <p>This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr Amazon Web Services CLI command to create a certificate for the corresponding CSR.</p> <p>The aws iot create-certificate-from-csr part of the command can also be run in parallel to speed up the certificate creation process:</p> <p>$ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}</p> <p>On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:</p> <p>&gt; ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}</p> <p>On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:</p> <p>&gt; forfiles /p my-csr-directory /c \"cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path\"</p>",
+    "CreateCertificateFromCsr": "<p>Creates an X.509 certificate using the specified certificate signing request. </p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">CreateCertificateFromCsr</a> action. </p> <note> <p>The CSR must include a public key that is either an RSA key with a length of at least 2048 bits or an ECC key from NIST P-25 or NIST P-384 curves. For supported certificates, consult <a href=\"https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html#x509-cert-algorithms\"> Certificate signing algorithms supported by IoT</a>. </p> </note> <note> <p>Reusing the same certificate signing request (CSR) results in a distinct certificate.</p> </note> <p>You can create multiple certificates in a batch by creating a directory, copying multiple <code>.csr</code> files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs. In the following commands, we assume that a set of CSRs are located inside of the directory my-csr-directory:</p> <p>On Linux and OS X, the command is: </p> <p> <code>$ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}</code> </p> <p>This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the <code>aws iot create-certificate-from-csr</code> Amazon Web Services CLI command to create a certificate for the corresponding CSR. </p> <p>You can also run the <code>aws iot create-certificate-from-csr</code> part of the command in parallel to speed up the certificate creation process:</p> <p> <code>$ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{} </code> </p> <p>On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:</p> <p> <code>&gt; ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_} </code> </p> <p>On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:</p> <p> <code>&gt; forfiles /p my-csr-directory /c \"cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path\" </code> </p>",
     "CreateCustomMetric": "<p> Use this API to define a Custom Metric published by your devices to Device Defender. </p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">CreateCustomMetric</a> action.</p>",
     "CreateDimension": "<p>Create a dimension that you can use to limit the scope of a metric used in a security profile for IoT Device Defender. For example, using a <code>TOPIC_FILTER</code> dimension, you can narrow down the scope of the metric only to MQTT topics whose name match the pattern specified in the dimension.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">CreateDimension</a> action.</p>",
     "CreateDomainConfiguration": "<p>Creates a domain configuration.</p> <p>Requires permission to access the <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions\">CreateDomainConfiguration</a> action.</p>",
@@ -2110,6 +2110,12 @@
         "UpdateRoleAliasRequest$credentialDurationSeconds": "<p>The number of seconds the credential will be valid.</p> <p>This value must be less than or equal to the maximum session duration of the IAM role that the role alias references.</p>"
       }
     },
+    "CronExpression": {
+      "base": null,
+      "refs": {
+        "MaintenanceWindow$startTime": "<p>Displays the start time of the next maintenance window.</p>"
+      }
+    },
     "CustomCodeSigning": {
       "base": "<p>Describes a custom method used to code sign a file.</p>",
       "refs": {
@@ -3171,6 +3177,12 @@
         "DescribeDomainConfigurationResponse$domainType": "<p>The type of the domain.</p>"
       }
     },
+    "DurationInMinutes": {
+      "base": null,
+      "refs": {
+        "MaintenanceWindow$durationInMinutes": "<p>Displays the duration of the next maintenance window.</p>"
+      }
+    },
     "DurationSeconds": {
       "base": null,
       "refs": {
@@ -3560,8 +3572,8 @@
     "FleetMetricUnit": {
       "base": null,
       "refs": {
-        "CreateFleetMetricRequest$unit": "<p>Used to support unit transformation such as milliseconds to seconds. The unit must be supported by <a href=\"https://docs.aws.amazon.com/https:/docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html\">CW metric</a>. Default to null.</p>",
-        "DescribeFleetMetricResponse$unit": "<p>Used to support unit transformation such as milliseconds to seconds. The unit must be supported by <a href=\"https://docs.aws.amazon.com/https:/docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html\">CW metric</a>.</p>",
+        "CreateFleetMetricRequest$unit": "<p>Used to support unit transformation such as milliseconds to seconds. The unit must be supported by <a href=\"https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html\">CW metric</a>. Default to null.</p>",
+        "DescribeFleetMetricResponse$unit": "<p>Used to support unit transformation such as milliseconds to seconds. The unit must be supported by <a href=\"https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html\">CW metric</a>.</p>",
         "UpdateFleetMetricRequest$unit": "<p>Used to support unit transformation such as milliseconds to seconds. The unit must be supported by <a href=\"https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html\">CW metric</a>.</p>"
       }
     },
@@ -5059,6 +5071,20 @@
         "BehaviorCriteria$mlDetectionConfig": "<p> The configuration of an ML Detect </p>"
       }
     },
+    "MaintenanceWindow": {
+      "base": "<p>An optional configuration within the <code>SchedulingConfig</code> to setup a recurring maintenance window with a predetermined start time and duration for the rollout of a job document to all devices in a target group for a job.</p>",
+      "refs": {
+        "MaintenanceWindows$member": null
+      }
+    },
+    "MaintenanceWindows": {
+      "base": null,
+      "refs": {
+        "CreateJobTemplateRequest$maintenanceWindows": "<p>Allows you to configure an optional maintenance window for the rollout of a job document to all devices in the target group for a job.</p>",
+        "DescribeJobTemplateResponse$maintenanceWindows": "<p>Allows you to configure an optional maintenance window for the rollout of a job document to all devices in the target group for a job.</p>",
+        "SchedulingConfig$maintenanceWindows": "<p>An optional configuration within the <code>SchedulingConfig</code> to setup a recurring maintenance window with a predetermined start time and duration for the rollout of a job document to all devices in a target group for a job.</p>"
+      }
+    },
     "MalformedPolicyException": {
       "base": "<p>The policy documentation is not valid.</p>",
       "refs": {
@@ -6765,6 +6791,18 @@
         "UpdateScheduledAuditRequest$scheduledAuditName": "<p>The name of the scheduled audit. (Max. 128 chars)</p>"
       }
     },
+    "ScheduledJobRollout": {
+      "base": "<p>Displays the next seven maintenance window occurrences and their start times.</p>",
+      "refs": {
+        "ScheduledJobRolloutList$member": null
+      }
+    },
+    "ScheduledJobRolloutList": {
+      "base": null,
+      "refs": {
+        "Job$scheduledJobRollouts": "<p>Displays the next seven maintenance window occurrences and their start times.</p>"
+      }
+    },
     "SchedulingConfig": {
       "base": "<p>Specifies the date and time that a job will begin the rollout of the job document to all devices in the target group. Additionally, you can specify the end behavior for each job execution when it reaches the scheduled end time.</p>",
       "refs": {
@@ -7309,8 +7347,9 @@
     "StringDateTime": {
       "base": null,
       "refs": {
-        "SchedulingConfig$startTime": "<p>The time a job will begin rollout of the job document to all devices in the target group for a job. The <code>startTime</code> can be scheduled up to a year in advance and must be scheduled a minimum of thirty minutes from the current time.</p>",
-        "SchedulingConfig$endTime": "<p>The time a job will stop rollout of the job document to all devices in the target group for a job. The <code>endTime</code> must take place no later than two years from the current time and be scheduled a minimum of thirty minutes from the current time. The minimum duration between <code>startTime</code> and <code>endTime</code> is thirty minutes. The maximum duration between <code>startTime</code> and <code>endTime</code> is two years. </p>"
+        "ScheduledJobRollout$startTime": "<p>Displays the start times of the next seven maintenance window occurrences.</p>",
+        "SchedulingConfig$startTime": "<p>The time a job will begin rollout of the job document to all devices in the target group for a job. The <code>startTime</code> can be scheduled up to a year in advance and must be scheduled a minimum of thirty minutes from the current time. The date and time format for the <code>startTime</code> is YYYY-MM-DD for the date and HH:MM for the time.</p>",
+        "SchedulingConfig$endTime": "<p>The time a job will stop rollout of the job document to all devices in the target group for a job. The <code>endTime</code> must take place no later than two years from the current time and be scheduled a minimum of thirty minutes from the current time. The minimum duration between <code>startTime</code> and <code>endTime</code> is thirty minutes. The maximum duration between <code>startTime</code> and <code>endTime</code> is two years. The date and time format for the <code>endTime</code> is YYYY-MM-DD for the date and HH:MM for the time.</p>"
       }
     },
     "StringList": {
diff --git a/models/apis/iot/2015-05-28/endpoint-rule-set-1.json b/models/apis/iot/2015-05-28/endpoint-rule-set-1.json
index cc821ce0b35..6190c5d138b 100644
--- a/models/apis/iot/2015-05-28/endpoint-rule-set-1.json
+++ b/models/apis/iot/2015-05-28/endpoint-rule-set-1.json
@@ -3,7 +3,7 @@
     "parameters": {
         "Region": {
             "builtIn": "AWS::Region",
-            "required": true,
+            "required": false,
             "documentation": "The AWS region used to dispatch the request.",
             "type": "String"
         },
@@ -32,13 +32,12 @@
         {
             "conditions": [
                 {
-                    "fn": "aws.partition",
+                    "fn": "isSet",
                     "argv": [
                         {
-                            "ref": "Region"
+                            "ref": "Endpoint"
                         }
-                    ],
-                    "assign": "PartitionResult"
+                    ]
                 }
             ],
             "type": "tree",
@@ -46,14 +45,20 @@
                 {
                     "conditions": [
                         {
-                            "fn": "isSet",
+                            "fn": "booleanEquals",
                             "argv": [
                                 {
-                                    "ref": "Endpoint"
-                                }
+                                    "ref": "UseFIPS"
+                                },
+                                true
                             ]
                         }
                     ],
+                    "error": "Invalid Configuration: FIPS and custom endpoint are not supported",
+                    "type": "error"
+                },
+                {
+                    "conditions": [],
                     "type": "tree",
                     "rules": [
                         {
@@ -62,67 +67,42 @@
                                     "fn": "booleanEquals",
                                     "argv": [
                                         {
-                                            "ref": "UseFIPS"
+                                            "ref": "UseDualStack"
                                         },
                                         true
                                     ]
                                 }
                             ],
-                            "error": "Invalid Configuration: FIPS and custom endpoint are not supported",
+                            "error": "Invalid Configuration: Dualstack and custom endpoint are not supported",
                             "type": "error"
                         },
                         {
                             "conditions": [],
-                            "type": "tree",
-                            "rules": [
-                                {
-                                    "conditions": [
-                                        {
-                                            "fn": "booleanEquals",
-                                            "argv": [
-                                                {
-                                                    "ref": "UseDualStack"
-                                                },
-                                                true
-                                            ]
-                                        }
-                                    ],
-                                    "error": "Invalid Configuration: Dualstack and custom endpoint are not supported",
-                                    "type": "error"
+                            "endpoint": {
+                                "url": {
+                                    "ref": "Endpoint"
                                 },
-                                {
-                                    "conditions": [],
-                                    "endpoint": {
-                                        "url": {
-                                            "ref": "Endpoint"
-                                        },
-                                        "properties": {},
-                                        "headers": {}
-                                    },
-                                    "type": "endpoint"
-                                }
-                            ]
+                                "properties": {},
+                                "headers": {}
+                            },
+                            "type": "endpoint"
                         }
                     ]
-                },
+                }
+            ]
+        },
+        {
+            "conditions": [],
+            "type": "tree",
+            "rules": [
                 {
                     "conditions": [
                         {
-                            "fn": "booleanEquals",
-                            "argv": [
-                                {
-                                    "ref": "UseFIPS"
-                                },
-                                true
-                            ]
-                        },
-                        {
-                            "fn": "booleanEquals",
+                            "fn": "isSet",
                             "argv": [
                                 {
-                                    "ref": "UseDualStack"
-                                },
-                                true
+                                    "ref": "Region"
+                                }
                             ]
                         }
                     ],
@@ -131,174 +111,313 @@
                         {
                             "conditions": [
                                 {
-                                    "fn": "booleanEquals",
+                                    "fn": "aws.partition",
                                     "argv": [
-                                        true,
                                         {
-                                            "fn": "getAttr",
+                                            "ref": "Region"
+                                        }
+                                    ],
+                                    "assign": "PartitionResult"
+                                }
+                            ],
+                            "type": "tree",
+                            "rules": [
+                                {
+                                    "conditions": [
+                                        {
+                                            "fn": "booleanEquals",
+                                            "argv": [
+                                                {
+                                                    "ref": "UseFIPS"
+                                                },
+                                                true
+                                            ]
+                                        },
+                                        {
+                                            "fn": "booleanEquals",
                                             "argv": [
                                                 {
-                                                    "ref": "PartitionResult"
+                                                    "ref": "UseDualStack"
+                                                },
+                                                true
+                                            ]
+                                        }
+                                    ],
+                                    "type": "tree",
+                                    "rules": [
+                                        {
+                                            "conditions": [
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsFIPS"
+                                                            ]
+                                                        }
+                                                    ]
                                                 },
-                                                "supportsFIPS"
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsDualStack"
+                                                            ]
+                                                        }
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://iot-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
+                                                    ]
+                                                }
                                             ]
+                                        },
+                                        {
+                                            "conditions": [],
+                                            "error": "FIPS and DualStack are enabled, but this partition does not support one or both",
+                                            "type": "error"
                                         }
                                     ]
                                 },
                                 {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        true,
+                                    "conditions": [
                                         {
-                                            "fn": "getAttr",
+                                            "fn": "booleanEquals",
                                             "argv": [
                                                 {
-                                                    "ref": "PartitionResult"
+                                                    "ref": "UseFIPS"
                                                 },
-                                                "supportsDualStack"
+                                                true
+                                            ]
+                                        }
+                                    ],
+                                    "type": "tree",
+                                    "rules": [
+                                        {
+                                            "conditions": [
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsFIPS"
+                                                            ]
+                                                        }
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://iot-fips.{Region}.{PartitionResult#dnsSuffix}",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
+                                                    ]
+                                                }
                                             ]
+                                        },
+                                        {
+                                            "conditions": [],
+                                            "error": "FIPS is enabled but this partition does not support FIPS",
+                                            "type": "error"
                                         }
                                     ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
-                                {
-                                    "conditions": [],
-                                    "endpoint": {
-                                        "url": "https://iot-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
-                                        "properties": {},
-                                        "headers": {}
-                                    },
-                                    "type": "endpoint"
-                                }
-                            ]
-                        },
-                        {
-                            "conditions": [],
-                            "error": "FIPS and DualStack are enabled, but this partition does not support one or both",
-                            "type": "error"
-                        }
-                    ]
-                },
-                {
-                    "conditions": [
-                        {
-                            "fn": "booleanEquals",
-                            "argv": [
-                                {
-                                    "ref": "UseFIPS"
                                 },
-                                true
-                            ]
-                        }
-                    ],
-                    "type": "tree",
-                    "rules": [
-                        {
-                            "conditions": [
                                 {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        true,
+                                    "conditions": [
                                         {
-                                            "fn": "getAttr",
+                                            "fn": "booleanEquals",
                                             "argv": [
                                                 {
-                                                    "ref": "PartitionResult"
+                                                    "ref": "UseDualStack"
                                                 },
-                                                "supportsFIPS"
+                                                true
+                                            ]
+                                        }
+                                    ],
+                                    "type": "tree",
+                                    "rules": [
+                                        {
+                                            "conditions": [
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsDualStack"
+                                                            ]
+                                                        }
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://iot.{Region}.{PartitionResult#dualStackDnsSuffix}",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
+                                                    ]
+                                                }
                                             ]
+                                        },
+                                        {
+                                            "conditions": [],
+                                            "error": "DualStack is enabled but this partition does not support DualStack",
+                                            "type": "error"
                                         }
                                     ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
+                                },
                                 {
                                     "conditions": [],
                                     "type": "tree",
                                     "rules": [
                                         {
-                                            "conditions": [],
+                                            "conditions": [
+                                                {
+                                                    "fn": "stringEquals",
+                                                    "argv": [
+                                                        "aws",
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "name"
+                                                            ]
+                                                        }
+                                                    ]
+                                                }
+                                            ],
                                             "endpoint": {
-                                                "url": "https://iot-fips.{Region}.{PartitionResult#dnsSuffix}",
+                                                "url": "https://iot.{Region}.amazonaws.com",
                                                 "properties": {},
                                                 "headers": {}
                                             },
                                             "type": "endpoint"
-                                        }
-                                    ]
-                                }
-                            ]
-                        },
-                        {
-                            "conditions": [],
-                            "error": "FIPS is enabled but this partition does not support FIPS",
-                            "type": "error"
-                        }
-                    ]
-                },
-                {
-                    "conditions": [
-                        {
-                            "fn": "booleanEquals",
-                            "argv": [
-                                {
-                                    "ref": "UseDualStack"
-                                },
-                                true
-                            ]
-                        }
-                    ],
-                    "type": "tree",
-                    "rules": [
-                        {
-                            "conditions": [
-                                {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        true,
+                                        },
                                         {
-                                            "fn": "getAttr",
-                                            "argv": [
+                                            "conditions": [
                                                 {
-                                                    "ref": "PartitionResult"
-                                                },
-                                                "supportsDualStack"
-                                            ]
+                                                    "fn": "stringEquals",
+                                                    "argv": [
+                                                        "aws-cn",
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "name"
+                                                            ]
+                                                        }
+                                                    ]
+                                                }
+                                            ],
+                                            "endpoint": {
+                                                "url": "https://iot.{Region}.amazonaws.com.cn",
+                                                "properties": {},
+                                                "headers": {}
+                                            },
+                                            "type": "endpoint"
+                                        },
+                                        {
+                                            "conditions": [
+                                                {
+                                                    "fn": "stringEquals",
+                                                    "argv": [
+                                                        "aws-us-gov",
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "name"
+                                                            ]
+                                                        }
+                                                    ]
+                                                }
+                                            ],
+                                            "endpoint": {
+                                                "url": "https://iot.{Region}.amazonaws.com",
+                                                "properties": {},
+                                                "headers": {}
+                                            },
+                                            "type": "endpoint"
+                                        },
+                                        {
+                                            "conditions": [],
+                                            "endpoint": {
+                                                "url": "https://iot.{Region}.{PartitionResult#dnsSuffix}",
+                                                "properties": {},
+                                                "headers": {}
+                                            },
+                                            "type": "endpoint"
                                         }
                                     ]
                                 }
-                            ],
-                            "type": "tree",
-                            "rules": [
-                                {
-                                    "conditions": [],
-                                    "endpoint": {
-                                        "url": "https://iot.{Region}.{PartitionResult#dualStackDnsSuffix}",
-                                        "properties": {},
-                                        "headers": {}
-                                    },
-                                    "type": "endpoint"
-                                }
                             ]
-                        },
-                        {
-                            "conditions": [],
-                            "error": "DualStack is enabled but this partition does not support DualStack",
-                            "type": "error"
                         }
                     ]
                 },
                 {
                     "conditions": [],
-                    "endpoint": {
-                        "url": "https://iot.{Region}.{PartitionResult#dnsSuffix}",
-                        "properties": {},
-                        "headers": {}
-                    },
-                    "type": "endpoint"
+                    "error": "Invalid Configuration: Missing Region",
+                    "type": "error"
                 }
             ]
         }
diff --git a/models/apis/iot/2015-05-28/endpoint-tests-1.json b/models/apis/iot/2015-05-28/endpoint-tests-1.json
index b5f4878992f..307e39a5b1a 100644
--- a/models/apis/iot/2015-05-28/endpoint-tests-1.json
+++ b/models/apis/iot/2015-05-28/endpoint-tests-1.json
@@ -1,42 +1,42 @@
 {
     "testCases": [
         {
-            "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled",
+            "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.ap-south-1.api.aws"
+                    "url": "https://iot.ap-east-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "ap-south-1",
-                "UseFIPS": true
+                "Region": "ap-east-1",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled",
+            "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.ap-south-1.amazonaws.com"
+                    "url": "https://iot.ap-northeast-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "ap-south-1",
-                "UseFIPS": true
+                "Region": "ap-northeast-1",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled",
+            "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.ap-south-1.api.aws"
+                    "url": "https://iot.ap-northeast-2.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "ap-south-1",
-                "UseFIPS": false
+                "Region": "ap-northeast-2",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
@@ -47,1262 +47,503 @@
                 }
             },
             "params": {
-                "UseDualStack": false,
                 "Region": "ap-south-1",
-                "UseFIPS": false
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled",
+            "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.us-gov-east-1.api.aws"
+                    "url": "https://iot.ap-southeast-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "us-gov-east-1",
-                "UseFIPS": true
+                "Region": "ap-southeast-1",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled",
+            "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.us-gov-east-1.amazonaws.com"
+                    "url": "https://iot.ap-southeast-2.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "us-gov-east-1",
-                "UseFIPS": true
+                "Region": "ap-southeast-2",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled",
+            "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.us-gov-east-1.api.aws"
+                    "url": "https://iot.ca-central-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "us-gov-east-1",
-                "UseFIPS": false
+                "Region": "ca-central-1",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled",
+            "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.us-gov-east-1.amazonaws.com"
+                    "url": "https://iot-fips.ca-central-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "us-gov-east-1",
-                "UseFIPS": false
+                "Region": "ca-central-1",
+                "UseFIPS": true,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled",
+            "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.me-central-1.api.aws"
+                    "url": "https://iot.eu-central-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "me-central-1",
-                "UseFIPS": true
+                "Region": "eu-central-1",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled",
+            "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.me-central-1.amazonaws.com"
+                    "url": "https://iot.eu-north-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "me-central-1",
-                "UseFIPS": true
+                "Region": "eu-north-1",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled",
+            "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.me-central-1.api.aws"
+                    "url": "https://iot.eu-west-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "me-central-1",
-                "UseFIPS": false
+                "Region": "eu-west-1",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled",
+            "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.me-central-1.amazonaws.com"
+                    "url": "https://iot.eu-west-2.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "me-central-1",
-                "UseFIPS": false
+                "Region": "eu-west-2",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled",
+            "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.ca-central-1.api.aws"
+                    "url": "https://iot.eu-west-3.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "ca-central-1",
-                "UseFIPS": true
+                "Region": "eu-west-3",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled",
+            "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.ca-central-1.amazonaws.com"
+                    "url": "https://iot.me-south-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "ca-central-1",
-                "UseFIPS": true
+                "Region": "me-south-1",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled",
+            "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.ca-central-1.api.aws"
+                    "url": "https://iot.sa-east-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "ca-central-1",
-                "UseFIPS": false
+                "Region": "sa-east-1",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled",
+            "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.ca-central-1.amazonaws.com"
+                    "url": "https://iot.us-east-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "ca-central-1",
-                "UseFIPS": false
+                "Region": "us-east-1",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled",
+            "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.eu-central-1.api.aws"
+                    "url": "https://iot-fips.us-east-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "eu-central-1",
-                "UseFIPS": true
+                "Region": "us-east-1",
+                "UseFIPS": true,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled",
+            "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.eu-central-1.amazonaws.com"
+                    "url": "https://iot.us-east-2.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "eu-central-1",
-                "UseFIPS": true
+                "Region": "us-east-2",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled",
+            "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.eu-central-1.api.aws"
+                    "url": "https://iot-fips.us-east-2.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "eu-central-1",
-                "UseFIPS": false
+                "Region": "us-east-2",
+                "UseFIPS": true,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled",
+            "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.eu-central-1.amazonaws.com"
+                    "url": "https://iot.us-west-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "eu-central-1",
-                "UseFIPS": false
+                "Region": "us-west-1",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled",
+            "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.us-west-1.api.aws"
+                    "url": "https://iot-fips.us-west-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": true,
                 "Region": "us-west-1",
-                "UseFIPS": true
+                "UseFIPS": true,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled",
+            "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.us-west-1.amazonaws.com"
+                    "url": "https://iot.us-west-2.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "us-west-1",
-                "UseFIPS": true
+                "Region": "us-west-2",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled",
+            "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.us-west-1.api.aws"
+                    "url": "https://iot-fips.us-west-2.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "us-west-1",
-                "UseFIPS": false
+                "Region": "us-west-2",
+                "UseFIPS": true,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled",
+            "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.us-west-1.amazonaws.com"
+                    "url": "https://iot-fips.us-east-1.api.aws"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "us-west-1",
-                "UseFIPS": false
+                "Region": "us-east-1",
+                "UseFIPS": true,
+                "UseDualStack": true
             }
         },
         {
-            "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled",
+            "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.us-west-2.api.aws"
+                    "url": "https://iot.us-east-1.api.aws"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "us-west-2",
-                "UseFIPS": true
+                "Region": "us-east-1",
+                "UseFIPS": false,
+                "UseDualStack": true
             }
         },
         {
-            "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled",
+            "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.us-west-2.amazonaws.com"
+                    "url": "https://iot.cn-north-1.amazonaws.com.cn"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "us-west-2",
-                "UseFIPS": true
+                "Region": "cn-north-1",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled",
+            "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.us-west-2.api.aws"
+                    "url": "https://iot.cn-northwest-1.amazonaws.com.cn"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "us-west-2",
-                "UseFIPS": false
+                "Region": "cn-northwest-1",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled",
+            "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.us-west-2.amazonaws.com"
+                    "url": "https://iot-fips.cn-north-1.api.amazonwebservices.com.cn"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "us-west-2",
-                "UseFIPS": false
+                "Region": "cn-north-1",
+                "UseFIPS": true,
+                "UseDualStack": true
             }
         },
         {
-            "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled",
+            "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.eu-north-1.api.aws"
+                    "url": "https://iot-fips.cn-north-1.amazonaws.com.cn"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "eu-north-1",
-                "UseFIPS": true
+                "Region": "cn-north-1",
+                "UseFIPS": true,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled",
+            "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.eu-north-1.amazonaws.com"
+                    "url": "https://iot.cn-north-1.api.amazonwebservices.com.cn"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "eu-north-1",
-                "UseFIPS": true
+                "Region": "cn-north-1",
+                "UseFIPS": false,
+                "UseDualStack": true
             }
         },
         {
-            "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled",
+            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.eu-north-1.api.aws"
+                    "url": "https://iot.us-gov-east-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "eu-north-1",
-                "UseFIPS": false
+                "Region": "us-gov-east-1",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled",
+            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.eu-north-1.amazonaws.com"
+                    "url": "https://iot-fips.us-gov-east-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "eu-north-1",
-                "UseFIPS": false
+                "Region": "us-gov-east-1",
+                "UseFIPS": true,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled",
+            "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.eu-west-3.api.aws"
+                    "url": "https://iot.us-gov-west-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "eu-west-3",
-                "UseFIPS": true
+                "Region": "us-gov-west-1",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled",
+            "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.eu-west-3.amazonaws.com"
+                    "url": "https://iot-fips.us-gov-west-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "eu-west-3",
-                "UseFIPS": true
+                "Region": "us-gov-west-1",
+                "UseFIPS": true,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled",
+            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.eu-west-3.api.aws"
+                    "url": "https://iot-fips.us-gov-east-1.api.aws"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "eu-west-3",
-                "UseFIPS": false
+                "Region": "us-gov-east-1",
+                "UseFIPS": true,
+                "UseDualStack": true
             }
         },
         {
-            "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled",
+            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.eu-west-3.amazonaws.com"
+                    "url": "https://iot.us-gov-east-1.api.aws"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "eu-west-3",
-                "UseFIPS": false
+                "Region": "us-gov-east-1",
+                "UseFIPS": false,
+                "UseDualStack": true
             }
         },
         {
-            "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled",
+            "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.eu-west-2.api.aws"
+                    "url": "https://iot-fips.us-iso-east-1.c2s.ic.gov"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "eu-west-2",
-                "UseFIPS": true
+                "Region": "us-iso-east-1",
+                "UseFIPS": true,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled",
+            "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot-fips.eu-west-2.amazonaws.com"
+                    "url": "https://iot.us-iso-east-1.c2s.ic.gov"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "eu-west-2",
-                "UseFIPS": true
+                "Region": "us-iso-east-1",
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled",
+            "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.eu-west-2.api.aws"
+                    "url": "https://iot-fips.us-isob-east-1.sc2s.sgov.gov"
                 }
             },
             "params": {
-                "UseDualStack": true,
-                "Region": "eu-west-2",
-                "UseFIPS": false
+                "Region": "us-isob-east-1",
+                "UseFIPS": true,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled",
+            "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.eu-west-2.amazonaws.com"
+                    "url": "https://iot.us-isob-east-1.sc2s.sgov.gov"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "eu-west-2",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.eu-west-1.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "eu-west-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.eu-west-1.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "eu-west-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.eu-west-1.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "eu-west-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.eu-west-1.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "eu-west-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.ap-northeast-2.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "ap-northeast-2",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.ap-northeast-2.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "ap-northeast-2",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.ap-northeast-2.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "ap-northeast-2",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.ap-northeast-2.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "ap-northeast-2",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.ap-northeast-1.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "ap-northeast-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.ap-northeast-1.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "ap-northeast-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.ap-northeast-1.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "ap-northeast-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.ap-northeast-1.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "ap-northeast-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.me-south-1.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "me-south-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.me-south-1.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "me-south-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.me-south-1.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "me-south-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.me-south-1.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "me-south-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.sa-east-1.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "sa-east-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.sa-east-1.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "sa-east-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.sa-east-1.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "sa-east-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.sa-east-1.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "sa-east-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.ap-east-1.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "ap-east-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.ap-east-1.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "ap-east-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.ap-east-1.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "ap-east-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.ap-east-1.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "ap-east-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.cn-north-1.api.amazonwebservices.com.cn"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "cn-north-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.cn-north-1.amazonaws.com.cn"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "cn-north-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.cn-north-1.api.amazonwebservices.com.cn"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "cn-north-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.cn-north-1.amazonaws.com.cn"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "cn-north-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.us-gov-west-1.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "us-gov-west-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.us-gov-west-1.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "us-gov-west-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.us-gov-west-1.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "us-gov-west-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.us-gov-west-1.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "us-gov-west-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.ap-southeast-1.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "ap-southeast-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.ap-southeast-1.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "ap-southeast-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.ap-southeast-1.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "ap-southeast-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.ap-southeast-1.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "ap-southeast-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.ap-southeast-2.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "ap-southeast-2",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.ap-southeast-2.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "ap-southeast-2",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.ap-southeast-2.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "ap-southeast-2",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.ap-southeast-2.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "ap-southeast-2",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled",
-            "expect": {
-                "error": "FIPS and DualStack are enabled, but this partition does not support one or both"
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "us-iso-east-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.us-iso-east-1.c2s.ic.gov"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "us-iso-east-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled",
-            "expect": {
-                "error": "DualStack is enabled but this partition does not support DualStack"
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "us-iso-east-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.us-iso-east-1.c2s.ic.gov"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "us-iso-east-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.us-east-1.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "us-east-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.us-east-1.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "us-east-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.us-east-1.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "us-east-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.us-east-1.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "us-east-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.us-east-2.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "us-east-2",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.us-east-2.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "us-east-2",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.us-east-2.api.aws"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "us-east-2",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.us-east-2.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "us-east-2",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.cn-northwest-1.api.amazonwebservices.com.cn"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "cn-northwest-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.cn-northwest-1.amazonaws.com.cn"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "cn-northwest-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.cn-northwest-1.api.amazonwebservices.com.cn"
-                }
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "cn-northwest-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot.cn-northwest-1.amazonaws.com.cn"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "cn-northwest-1",
-                "UseFIPS": false
-            }
-        },
-        {
-            "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled",
-            "expect": {
-                "error": "FIPS and DualStack are enabled, but this partition does not support one or both"
-            },
-            "params": {
-                "UseDualStack": true,
-                "Region": "us-isob-east-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://iot-fips.us-isob-east-1.sc2s.sgov.gov"
-                }
-            },
-            "params": {
-                "UseDualStack": false,
-                "Region": "us-isob-east-1",
-                "UseFIPS": true
-            }
-        },
-        {
-            "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled",
-            "expect": {
-                "error": "DualStack is enabled but this partition does not support DualStack"
-            },
-            "params": {
-                "UseDualStack": true,
                 "Region": "us-isob-east-1",
-                "UseFIPS": false
+                "UseFIPS": false,
+                "UseDualStack": false
             }
         },
         {
-            "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled",
+            "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://iot.us-isob-east-1.sc2s.sgov.gov"
+                    "url": "https://example.com"
                 }
             },
             "params": {
+                "Region": "us-east-1",
+                "UseFIPS": false,
                 "UseDualStack": false,
-                "Region": "us-isob-east-1",
-                "UseFIPS": false
+                "Endpoint": "https://example.com"
             }
         },
         {
-            "documentation": "For custom endpoint with fips disabled and dualstack disabled",
+            "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled",
             "expect": {
                 "endpoint": {
                     "url": "https://example.com"
                 }
             },
             "params": {
-                "UseDualStack": false,
-                "Region": "us-east-1",
                 "UseFIPS": false,
+                "UseDualStack": false,
                 "Endpoint": "https://example.com"
             }
         },
@@ -1312,9 +553,9 @@
                 "error": "Invalid Configuration: FIPS and custom endpoint are not supported"
             },
             "params": {
-                "UseDualStack": false,
                 "Region": "us-east-1",
                 "UseFIPS": true,
+                "UseDualStack": false,
                 "Endpoint": "https://example.com"
             }
         },
@@ -1324,9 +565,9 @@
                 "error": "Invalid Configuration: Dualstack and custom endpoint are not supported"
             },
             "params": {
-                "UseDualStack": true,
                 "Region": "us-east-1",
                 "UseFIPS": false,
+                "UseDualStack": true,
                 "Endpoint": "https://example.com"
             }
         }
diff --git a/models/apis/migrationhubstrategy/2020-02-19/api-2.json b/models/apis/migrationhubstrategy/2020-02-19/api-2.json
index ec8991184d4..c6c4c785b14 100644
--- a/models/apis/migrationhubstrategy/2020-02-19/api-2.json
+++ b/models/apis/migrationhubstrategy/2020-02-19/api-2.json
@@ -709,7 +709,8 @@
       "type":"string",
       "enum":[
         "ApplicationDiscoveryService",
-        "MPA"
+        "MPA",
+        "Import"
       ]
     },
     "DatabaseConfigDetail":{
@@ -947,7 +948,10 @@
     },
     "GroupName":{
       "type":"string",
-      "enum":["ExternalId"]
+      "enum":[
+        "ExternalId",
+        "ExternalSourceType"
+      ]
     },
     "Heterogeneous":{
       "type":"structure",
diff --git a/models/apis/migrationhubstrategy/2020-02-19/endpoint-rule-set-1.json b/models/apis/migrationhubstrategy/2020-02-19/endpoint-rule-set-1.json
index b5093f10ce4..8a244599f52 100644
--- a/models/apis/migrationhubstrategy/2020-02-19/endpoint-rule-set-1.json
+++ b/models/apis/migrationhubstrategy/2020-02-19/endpoint-rule-set-1.json
@@ -3,7 +3,7 @@
     "parameters": {
         "Region": {
             "builtIn": "AWS::Region",
-            "required": true,
+            "required": false,
             "documentation": "The AWS region used to dispatch the request.",
             "type": "String"
         },
@@ -32,13 +32,12 @@
         {
             "conditions": [
                 {
-                    "fn": "aws.partition",
+                    "fn": "isSet",
                     "argv": [
                         {
-                            "ref": "Region"
+                            "ref": "Endpoint"
                         }
-                    ],
-                    "assign": "PartitionResult"
+                    ]
                 }
             ],
             "type": "tree",
@@ -46,14 +45,20 @@
                 {
                     "conditions": [
                         {
-                            "fn": "isSet",
+                            "fn": "booleanEquals",
                             "argv": [
                                 {
-                                    "ref": "Endpoint"
-                                }
+                                    "ref": "UseFIPS"
+                                },
+                                true
                             ]
                         }
                     ],
+                    "error": "Invalid Configuration: FIPS and custom endpoint are not supported",
+                    "type": "error"
+                },
+                {
+                    "conditions": [],
                     "type": "tree",
                     "rules": [
                         {
@@ -62,67 +67,42 @@
                                     "fn": "booleanEquals",
                                     "argv": [
                                         {
-                                            "ref": "UseFIPS"
+                                            "ref": "UseDualStack"
                                         },
                                         true
                                     ]
                                 }
                             ],
-                            "error": "Invalid Configuration: FIPS and custom endpoint are not supported",
+                            "error": "Invalid Configuration: Dualstack and custom endpoint are not supported",
                             "type": "error"
                         },
                         {
                             "conditions": [],
-                            "type": "tree",
-                            "rules": [
-                                {
-                                    "conditions": [
-                                        {
-                                            "fn": "booleanEquals",
-                                            "argv": [
-                                                {
-                                                    "ref": "UseDualStack"
-                                                },
-                                                true
-                                            ]
-                                        }
-                                    ],
-                                    "error": "Invalid Configuration: Dualstack and custom endpoint are not supported",
-                                    "type": "error"
+                            "endpoint": {
+                                "url": {
+                                    "ref": "Endpoint"
                                 },
-                                {
-                                    "conditions": [],
-                                    "endpoint": {
-                                        "url": {
-                                            "ref": "Endpoint"
-                                        },
-                                        "properties": {},
-                                        "headers": {}
-                                    },
-                                    "type": "endpoint"
-                                }
-                            ]
+                                "properties": {},
+                                "headers": {}
+                            },
+                            "type": "endpoint"
                         }
                     ]
-                },
+                }
+            ]
+        },
+        {
+            "conditions": [],
+            "type": "tree",
+            "rules": [
                 {
                     "conditions": [
                         {
-                            "fn": "booleanEquals",
-                            "argv": [
-                                {
-                                    "ref": "UseFIPS"
-                                },
-                                true
-                            ]
-                        },
-                        {
-                            "fn": "booleanEquals",
+                            "fn": "isSet",
                             "argv": [
                                 {
-                                    "ref": "UseDualStack"
-                                },
-                                true
+                                    "ref": "Region"
+                                }
                             ]
                         }
                     ],
@@ -131,90 +111,215 @@
                         {
                             "conditions": [
                                 {
-                                    "fn": "booleanEquals",
+                                    "fn": "aws.partition",
                                     "argv": [
-                                        true,
                                         {
-                                            "fn": "getAttr",
+                                            "ref": "Region"
+                                        }
+                                    ],
+                                    "assign": "PartitionResult"
+                                }
+                            ],
+                            "type": "tree",
+                            "rules": [
+                                {
+                                    "conditions": [
+                                        {
+                                            "fn": "booleanEquals",
+                                            "argv": [
+                                                {
+                                                    "ref": "UseFIPS"
+                                                },
+                                                true
+                                            ]
+                                        },
+                                        {
+                                            "fn": "booleanEquals",
                                             "argv": [
                                                 {
-                                                    "ref": "PartitionResult"
+                                                    "ref": "UseDualStack"
+                                                },
+                                                true
+                                            ]
+                                        }
+                                    ],
+                                    "type": "tree",
+                                    "rules": [
+                                        {
+                                            "conditions": [
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsFIPS"
+                                                            ]
+                                                        }
+                                                    ]
                                                 },
-                                                "supportsFIPS"
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsDualStack"
+                                                            ]
+                                                        }
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://migrationhub-strategy-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
+                                                    ]
+                                                }
                                             ]
+                                        },
+                                        {
+                                            "conditions": [],
+                                            "error": "FIPS and DualStack are enabled, but this partition does not support one or both",
+                                            "type": "error"
                                         }
                                     ]
                                 },
                                 {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        true,
+                                    "conditions": [
                                         {
-                                            "fn": "getAttr",
+                                            "fn": "booleanEquals",
                                             "argv": [
                                                 {
-                                                    "ref": "PartitionResult"
+                                                    "ref": "UseFIPS"
                                                 },
-                                                "supportsDualStack"
+                                                true
                                             ]
                                         }
+                                    ],
+                                    "type": "tree",
+                                    "rules": [
+                                        {
+                                            "conditions": [
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsFIPS"
+                                                            ]
+                                                        }
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://migrationhub-strategy-fips.{Region}.{PartitionResult#dnsSuffix}",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
+                                                    ]
+                                                }
+                                            ]
+                                        },
+                                        {
+                                            "conditions": [],
+                                            "error": "FIPS is enabled but this partition does not support FIPS",
+                                            "type": "error"
+                                        }
                                     ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
-                                {
-                                    "conditions": [],
-                                    "endpoint": {
-                                        "url": "https://migrationhub-strategy-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
-                                        "properties": {},
-                                        "headers": {}
-                                    },
-                                    "type": "endpoint"
-                                }
-                            ]
-                        },
-                        {
-                            "conditions": [],
-                            "error": "FIPS and DualStack are enabled, but this partition does not support one or both",
-                            "type": "error"
-                        }
-                    ]
-                },
-                {
-                    "conditions": [
-                        {
-                            "fn": "booleanEquals",
-                            "argv": [
-                                {
-                                    "ref": "UseFIPS"
                                 },
-                                true
-                            ]
-                        }
-                    ],
-                    "type": "tree",
-                    "rules": [
-                        {
-                            "conditions": [
                                 {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        true,
+                                    "conditions": [
                                         {
-                                            "fn": "getAttr",
+                                            "fn": "booleanEquals",
                                             "argv": [
                                                 {
-                                                    "ref": "PartitionResult"
+                                                    "ref": "UseDualStack"
                                                 },
-                                                "supportsFIPS"
+                                                true
+                                            ]
+                                        }
+                                    ],
+                                    "type": "tree",
+                                    "rules": [
+                                        {
+                                            "conditions": [
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsDualStack"
+                                                            ]
+                                                        }
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://migrationhub-strategy.{Region}.{PartitionResult#dualStackDnsSuffix}",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
+                                                    ]
+                                                }
                                             ]
+                                        },
+                                        {
+                                            "conditions": [],
+                                            "error": "DualStack is enabled but this partition does not support DualStack",
+                                            "type": "error"
                                         }
                                     ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
+                                },
                                 {
                                     "conditions": [],
                                     "type": "tree",
@@ -222,7 +327,7 @@
                                         {
                                             "conditions": [],
                                             "endpoint": {
-                                                "url": "https://migrationhub-strategy-fips.{Region}.{PartitionResult#dnsSuffix}",
+                                                "url": "https://migrationhub-strategy.{Region}.{PartitionResult#dnsSuffix}",
                                                 "properties": {},
                                                 "headers": {}
                                             },
@@ -231,74 +336,13 @@
                                     ]
                                 }
                             ]
-                        },
-                        {
-                            "conditions": [],
-                            "error": "FIPS is enabled but this partition does not support FIPS",
-                            "type": "error"
-                        }
-                    ]
-                },
-                {
-                    "conditions": [
-                        {
-                            "fn": "booleanEquals",
-                            "argv": [
-                                {
-                                    "ref": "UseDualStack"
-                                },
-                                true
-                            ]
-                        }
-                    ],
-                    "type": "tree",
-                    "rules": [
-                        {
-                            "conditions": [
-                                {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        true,
-                                        {
-                                            "fn": "getAttr",
-                                            "argv": [
-                                                {
-                                                    "ref": "PartitionResult"
-                                                },
-                                                "supportsDualStack"
-                                            ]
-                                        }
-                                    ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
-                                {
-                                    "conditions": [],
-                                    "endpoint": {
-                                        "url": "https://migrationhub-strategy.{Region}.{PartitionResult#dualStackDnsSuffix}",
-                                        "properties": {},
-                                        "headers": {}
-                                    },
-                                    "type": "endpoint"
-                                }
-                            ]
-                        },
-                        {
-                            "conditions": [],
-                            "error": "DualStack is enabled but this partition does not support DualStack",
-                            "type": "error"
                         }
                     ]
                 },
                 {
                     "conditions": [],
-                    "endpoint": {
-                        "url": "https://migrationhub-strategy.{Region}.{PartitionResult#dnsSuffix}",
-                        "properties": {},
-                        "headers": {}
-                    },
-                    "type": "endpoint"
+                    "error": "Invalid Configuration: Missing Region",
+                    "type": "error"
                 }
             ]
         }
diff --git a/models/apis/migrationhubstrategy/2020-02-19/endpoint-tests-1.json b/models/apis/migrationhubstrategy/2020-02-19/endpoint-tests-1.json
index c1c74631218..26060e5e0fe 100644
--- a/models/apis/migrationhubstrategy/2020-02-19/endpoint-tests-1.json
+++ b/models/apis/migrationhubstrategy/2020-02-19/endpoint-tests-1.json
@@ -1,42 +1,29 @@
 {
     "testCases": [
         {
-            "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://migrationhub-strategy-fips.eu-central-1.api.aws"
-                }
-            },
-            "params": {
-                "UseFIPS": true,
-                "UseDualStack": true,
-                "Region": "eu-central-1"
-            }
-        },
-        {
-            "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled",
+            "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy-fips.eu-central-1.amazonaws.com"
+                    "url": "https://migrationhub-strategy.ap-northeast-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseFIPS": true,
+                "Region": "ap-northeast-1",
                 "UseDualStack": false,
-                "Region": "eu-central-1"
+                "UseFIPS": false
             }
         },
         {
-            "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled",
+            "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy.eu-central-1.api.aws"
+                    "url": "https://migrationhub-strategy.ap-southeast-2.amazonaws.com"
                 }
             },
             "params": {
-                "UseFIPS": false,
-                "UseDualStack": true,
-                "Region": "eu-central-1"
+                "Region": "ap-southeast-2",
+                "UseDualStack": false,
+                "UseFIPS": false
             }
         },
         {
@@ -47,48 +34,48 @@
                 }
             },
             "params": {
-                "UseFIPS": false,
+                "Region": "eu-central-1",
                 "UseDualStack": false,
-                "Region": "eu-central-1"
+                "UseFIPS": false
             }
         },
         {
-            "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled",
+            "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy-fips.us-west-2.api.aws"
+                    "url": "https://migrationhub-strategy.eu-west-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseFIPS": true,
-                "UseDualStack": true,
-                "Region": "us-west-2"
+                "Region": "eu-west-1",
+                "UseDualStack": false,
+                "UseFIPS": false
             }
         },
         {
-            "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled",
+            "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy-fips.us-west-2.amazonaws.com"
+                    "url": "https://migrationhub-strategy.eu-west-2.amazonaws.com"
                 }
             },
             "params": {
-                "UseFIPS": true,
+                "Region": "eu-west-2",
                 "UseDualStack": false,
-                "Region": "us-west-2"
+                "UseFIPS": false
             }
         },
         {
-            "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled",
+            "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy.us-west-2.api.aws"
+                    "url": "https://migrationhub-strategy.us-east-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseFIPS": false,
-                "UseDualStack": true,
-                "Region": "us-west-2"
+                "Region": "us-east-1",
+                "UseDualStack": false,
+                "UseFIPS": false
             }
         },
         {
@@ -99,282 +86,230 @@
                 }
             },
             "params": {
-                "UseFIPS": false,
+                "Region": "us-west-2",
                 "UseDualStack": false,
-                "Region": "us-west-2"
+                "UseFIPS": false
             }
         },
         {
-            "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled",
+            "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy-fips.eu-west-2.api.aws"
+                    "url": "https://migrationhub-strategy-fips.us-east-1.api.aws"
                 }
             },
             "params": {
-                "UseFIPS": true,
+                "Region": "us-east-1",
                 "UseDualStack": true,
-                "Region": "eu-west-2"
+                "UseFIPS": true
             }
         },
         {
-            "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled",
+            "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy-fips.eu-west-2.amazonaws.com"
+                    "url": "https://migrationhub-strategy-fips.us-east-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseFIPS": true,
+                "Region": "us-east-1",
                 "UseDualStack": false,
-                "Region": "eu-west-2"
+                "UseFIPS": true
             }
         },
         {
-            "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled",
+            "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy.eu-west-2.api.aws"
+                    "url": "https://migrationhub-strategy.us-east-1.api.aws"
                 }
             },
             "params": {
-                "UseFIPS": false,
+                "Region": "us-east-1",
                 "UseDualStack": true,
-                "Region": "eu-west-2"
+                "UseFIPS": false
             }
         },
         {
-            "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled",
+            "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy.eu-west-2.amazonaws.com"
+                    "url": "https://migrationhub-strategy-fips.cn-north-1.api.amazonwebservices.com.cn"
                 }
             },
             "params": {
-                "UseFIPS": false,
-                "UseDualStack": false,
-                "Region": "eu-west-2"
-            }
-        },
-        {
-            "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://migrationhub-strategy-fips.eu-west-1.api.aws"
-                }
-            },
-            "params": {
-                "UseFIPS": true,
+                "Region": "cn-north-1",
                 "UseDualStack": true,
-                "Region": "eu-west-1"
+                "UseFIPS": true
             }
         },
         {
-            "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled",
+            "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy-fips.eu-west-1.amazonaws.com"
+                    "url": "https://migrationhub-strategy-fips.cn-north-1.amazonaws.com.cn"
                 }
             },
             "params": {
-                "UseFIPS": true,
+                "Region": "cn-north-1",
                 "UseDualStack": false,
-                "Region": "eu-west-1"
+                "UseFIPS": true
             }
         },
         {
-            "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled",
+            "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy.eu-west-1.api.aws"
+                    "url": "https://migrationhub-strategy.cn-north-1.api.amazonwebservices.com.cn"
                 }
             },
             "params": {
-                "UseFIPS": false,
+                "Region": "cn-north-1",
                 "UseDualStack": true,
-                "Region": "eu-west-1"
+                "UseFIPS": false
             }
         },
         {
-            "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled",
+            "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy.eu-west-1.amazonaws.com"
+                    "url": "https://migrationhub-strategy.cn-north-1.amazonaws.com.cn"
                 }
             },
             "params": {
-                "UseFIPS": false,
+                "Region": "cn-north-1",
                 "UseDualStack": false,
-                "Region": "eu-west-1"
+                "UseFIPS": false
             }
         },
         {
-            "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled",
+            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy-fips.ap-northeast-1.api.aws"
+                    "url": "https://migrationhub-strategy-fips.us-gov-east-1.api.aws"
                 }
             },
             "params": {
-                "UseFIPS": true,
+                "Region": "us-gov-east-1",
                 "UseDualStack": true,
-                "Region": "ap-northeast-1"
+                "UseFIPS": true
             }
         },
         {
-            "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled",
+            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy-fips.ap-northeast-1.amazonaws.com"
+                    "url": "https://migrationhub-strategy-fips.us-gov-east-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseFIPS": true,
+                "Region": "us-gov-east-1",
                 "UseDualStack": false,
-                "Region": "ap-northeast-1"
+                "UseFIPS": true
             }
         },
         {
-            "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled",
+            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy.ap-northeast-1.api.aws"
+                    "url": "https://migrationhub-strategy.us-gov-east-1.api.aws"
                 }
             },
             "params": {
-                "UseFIPS": false,
+                "Region": "us-gov-east-1",
                 "UseDualStack": true,
-                "Region": "ap-northeast-1"
+                "UseFIPS": false
             }
         },
         {
-            "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled",
+            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy.ap-northeast-1.amazonaws.com"
+                    "url": "https://migrationhub-strategy.us-gov-east-1.amazonaws.com"
                 }
             },
             "params": {
-                "UseFIPS": false,
+                "Region": "us-gov-east-1",
                 "UseDualStack": false,
-                "Region": "ap-northeast-1"
+                "UseFIPS": false
             }
         },
         {
-            "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled",
+            "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy-fips.ap-southeast-2.api.aws"
+                    "url": "https://migrationhub-strategy-fips.us-iso-east-1.c2s.ic.gov"
                 }
             },
             "params": {
-                "UseFIPS": true,
-                "UseDualStack": true,
-                "Region": "ap-southeast-2"
-            }
-        },
-        {
-            "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://migrationhub-strategy-fips.ap-southeast-2.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseFIPS": true,
+                "Region": "us-iso-east-1",
                 "UseDualStack": false,
-                "Region": "ap-southeast-2"
+                "UseFIPS": true
             }
         },
         {
-            "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled",
+            "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy.ap-southeast-2.api.aws"
+                    "url": "https://migrationhub-strategy.us-iso-east-1.c2s.ic.gov"
                 }
             },
             "params": {
-                "UseFIPS": false,
-                "UseDualStack": true,
-                "Region": "ap-southeast-2"
-            }
-        },
-        {
-            "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://migrationhub-strategy.ap-southeast-2.amazonaws.com"
-                }
-            },
-            "params": {
-                "UseFIPS": false,
+                "Region": "us-iso-east-1",
                 "UseDualStack": false,
-                "Region": "ap-southeast-2"
-            }
-        },
-        {
-            "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled",
-            "expect": {
-                "endpoint": {
-                    "url": "https://migrationhub-strategy-fips.us-east-1.api.aws"
-                }
-            },
-            "params": {
-                "UseFIPS": true,
-                "UseDualStack": true,
-                "Region": "us-east-1"
+                "UseFIPS": false
             }
         },
         {
-            "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled",
+            "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy-fips.us-east-1.amazonaws.com"
+                    "url": "https://migrationhub-strategy-fips.us-isob-east-1.sc2s.sgov.gov"
                 }
             },
             "params": {
-                "UseFIPS": true,
+                "Region": "us-isob-east-1",
                 "UseDualStack": false,
-                "Region": "us-east-1"
+                "UseFIPS": true
             }
         },
         {
-            "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled",
+            "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy.us-east-1.api.aws"
+                    "url": "https://migrationhub-strategy.us-isob-east-1.sc2s.sgov.gov"
                 }
             },
             "params": {
-                "UseFIPS": false,
-                "UseDualStack": true,
-                "Region": "us-east-1"
+                "Region": "us-isob-east-1",
+                "UseDualStack": false,
+                "UseFIPS": false
             }
         },
         {
-            "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled",
+            "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled",
             "expect": {
                 "endpoint": {
-                    "url": "https://migrationhub-strategy.us-east-1.amazonaws.com"
+                    "url": "https://example.com"
                 }
             },
             "params": {
-                "UseFIPS": false,
+                "Region": "us-east-1",
                 "UseDualStack": false,
-                "Region": "us-east-1"
+                "UseFIPS": false,
+                "Endpoint": "https://example.com"
             }
         },
         {
-            "documentation": "For custom endpoint with fips disabled and dualstack disabled",
+            "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled",
             "expect": {
                 "endpoint": {
                     "url": "https://example.com"
                 }
             },
             "params": {
-                "UseFIPS": false,
                 "UseDualStack": false,
-                "Region": "us-east-1",
+                "UseFIPS": false,
                 "Endpoint": "https://example.com"
             }
         },
@@ -384,9 +319,9 @@
                 "error": "Invalid Configuration: FIPS and custom endpoint are not supported"
             },
             "params": {
-                "UseFIPS": true,
-                "UseDualStack": false,
                 "Region": "us-east-1",
+                "UseDualStack": false,
+                "UseFIPS": true,
                 "Endpoint": "https://example.com"
             }
         },
@@ -396,9 +331,9 @@
                 "error": "Invalid Configuration: Dualstack and custom endpoint are not supported"
             },
             "params": {
-                "UseFIPS": false,
-                "UseDualStack": true,
                 "Region": "us-east-1",
+                "UseDualStack": true,
+                "UseFIPS": false,
                 "Endpoint": "https://example.com"
             }
         }
diff --git a/models/apis/organizations/2016-11-28/api-2.json b/models/apis/organizations/2016-11-28/api-2.json
index ca8a3007b8c..8b929488086 100644
--- a/models/apis/organizations/2016-11-28/api-2.json
+++ b/models/apis/organizations/2016-11-28/api-2.json
@@ -1298,7 +1298,8 @@
         "CLOSE_ACCOUNT_QUOTA_EXCEEDED",
         "CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED",
         "SERVICE_ACCESS_NOT_ENABLED",
-        "INVALID_PAYMENT_INSTRUMENT"
+        "INVALID_PAYMENT_INSTRUMENT",
+        "ACCOUNT_CREATION_NOT_COMPLETE"
       ]
     },
     "CreateAccountFailureReason":{
diff --git a/models/apis/organizations/2016-11-28/docs-2.json b/models/apis/organizations/2016-11-28/docs-2.json
index 05e95ea62b3..17b81aeb87f 100644
--- a/models/apis/organizations/2016-11-28/docs-2.json
+++ b/models/apis/organizations/2016-11-28/docs-2.json
@@ -5,7 +5,7 @@
     "AcceptHandshake": "<p>Sends a response to the originator of a handshake agreeing to the action proposed by the handshake request.</p> <p>You can only call this operation by the following principals when they also have the relevant IAM permissions:</p> <ul> <li> <p> <b>Invitation to join</b> or <b>Approve all features request</b> handshakes: only a principal from the member account.</p> <p>The user who calls the API for an invitation to join must have the <code>organizations:AcceptHandshake</code> permission. If you enabled all features in the organization, the user must also have the <code>iam:CreateServiceLinkedRole</code> permission so that Organizations can create the required service-linked role named <code>AWSServiceRoleForOrganizations</code>. For more information, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integration_services.html#orgs_integration_service-linked-roles\">Organizations and Service-Linked Roles</a> in the <i>Organizations User Guide</i>.</p> </li> <li> <p> <b>Enable all features final confirmation</b> handshake: only a principal from the management account.</p> <p>For more information about invitations, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_invites.html\">Inviting an Amazon Web Services account to join your organization</a> in the <i>Organizations User Guide.</i> For more information about requests to enable all features in the organization, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html\">Enabling all features in your organization</a> in the <i>Organizations User Guide.</i> </p> </li> </ul> <p>After you accept a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that, it's deleted.</p>",
     "AttachPolicy": "<p>Attaches a policy to a root, an organizational unit (OU), or an individual account. How the policy affects accounts depends on the type of policy. Refer to the <i>Organizations User Guide</i> for information about each policy type:</p> <ul> <li> <p> <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html\">AISERVICES_OPT_OUT_POLICY</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_backup.html\">BACKUP_POLICY</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scp.html\">SERVICE_CONTROL_POLICY</a> </p> </li> <li> <p> <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_tag-policies.html\">TAG_POLICY</a> </p> </li> </ul> <p>This operation can be called only from the organization's management account.</p>",
     "CancelHandshake": "<p>Cancels a handshake. Canceling a handshake sets the handshake state to <code>CANCELED</code>.</p> <p>This operation can be called only from the account that originated the handshake. The recipient of the handshake can't cancel it, but can use <a>DeclineHandshake</a> instead. After a handshake is canceled, the recipient can no longer respond to that handshake.</p> <p>After you cancel a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that, it's deleted.</p>",
-    "CloseAccount": "<p>Closes an Amazon Web Services member account within an organization. You can't close the management account with this API. This is an asynchronous request that Amazon Web Services performs in the background. Because <code>CloseAccount</code> operates asynchronously, it can return a successful completion message even though account closure might still be in progress. You need to wait a few minutes before the account is fully closed. To check the status of the request, do one of the following:</p> <ul> <li> <p>Use the <code>AccountId</code> that you sent in the <code>CloseAccount</code> request to provide as a parameter to the <a>DescribeAccount</a> operation. </p> <p>While the close account request is in progress, Account status will indicate PENDING_CLOSURE. When the close account request completes, the status will change to SUSPENDED. </p> </li> <li> <p>Check the CloudTrail log for the <code>CloseAccountResult</code> event that gets published after the account closes successfully. For information on using CloudTrail with Organizations, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_security_incident-response.html#orgs_cloudtrail-integration\">Logging and monitoring in Organizations</a> in the <i>Organizations User Guide.</i> </p> </li> </ul> <note> <ul> <li> <p>You can only close 10% of active member accounts within a rolling 30 day period. This quota is not bound by a calendar month, but starts when you close an account. Within 30 days of that initial account closure, you can't exceed the 10% account closure limit.</p> </li> <li> <p>To reinstate a closed account, contact Amazon Web Services Support within the 90-day grace period while the account is in SUSPENDED status. </p> </li> <li> <p>If the Amazon Web Services account you attempt to close is linked to an Amazon Web Services GovCloud (US) account, the <code>CloseAccount</code> request will close both accounts. To learn important pre-closure details, see <a href=\"https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/Closing-govcloud-account.html\"> Closing an Amazon Web Services GovCloud (US) account</a> in the <i> Amazon Web Services GovCloud User Guide</i>.</p> </li> </ul> </note> <p>For more information about closing accounts, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_close.html\">Closing an Amazon Web Services account</a> in the <i>Organizations User Guide.</i> </p>",
+    "CloseAccount": "<p>Closes an Amazon Web Services member account within an organization. You can close an account when <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html\">all features are enabled </a>. You can't close the management account with this API. This is an asynchronous request that Amazon Web Services performs in the background. Because <code>CloseAccount</code> operates asynchronously, it can return a successful completion message even though account closure might still be in progress. You need to wait a few minutes before the account is fully closed. To check the status of the request, do one of the following:</p> <ul> <li> <p>Use the <code>AccountId</code> that you sent in the <code>CloseAccount</code> request to provide as a parameter to the <a>DescribeAccount</a> operation. </p> <p>While the close account request is in progress, Account status will indicate PENDING_CLOSURE. When the close account request completes, the status will change to SUSPENDED. </p> </li> <li> <p>Check the CloudTrail log for the <code>CloseAccountResult</code> event that gets published after the account closes successfully. For information on using CloudTrail with Organizations, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_security_incident-response.html#orgs_cloudtrail-integration\">Logging and monitoring in Organizations</a> in the <i>Organizations User Guide.</i> </p> </li> </ul> <note> <ul> <li> <p>You can close only 10% of member accounts, between 10 and 200, within a rolling 30 day period. This quota is not bound by a calendar month, but starts when you close an account.</p> <p>After you reach this limit, you can close additional accounts in the Billing console. For more information, see <a href=\"https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/close-account.html\">Closing an account</a> in the Amazon Web Services Billing and Cost Management User Guide.</p> </li> <li> <p>To reinstate a closed account, contact Amazon Web Services Support within the 90-day grace period while the account is in SUSPENDED status. </p> </li> <li> <p>If the Amazon Web Services account you attempt to close is linked to an Amazon Web Services GovCloud (US) account, the <code>CloseAccount</code> request will close both accounts. To learn important pre-closure details, see <a href=\"https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/Closing-govcloud-account.html\"> Closing an Amazon Web Services GovCloud (US) account</a> in the <i> Amazon Web Services GovCloud User Guide</i>.</p> </li> </ul> </note> <p>For more information about closing accounts, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_close.html\">Closing an Amazon Web Services account</a> in the <i>Organizations User Guide.</i> </p>",
     "CreateAccount": "<p>Creates an Amazon Web Services account that is automatically a member of the organization whose credentials made the request. This is an asynchronous request that Amazon Web Services performs in the background. Because <code>CreateAccount</code> operates asynchronously, it can return a successful completion message even though account initialization might still be in progress. You might need to wait a few minutes before you can successfully access the account. To check the status of the request, do one of the following:</p> <ul> <li> <p>Use the <code>Id</code> value of the <code>CreateAccountStatus</code> response element from this operation to provide as a parameter to the <a>DescribeCreateAccountStatus</a> operation.</p> </li> <li> <p>Check the CloudTrail log for the <code>CreateAccountResult</code> event. For information on using CloudTrail with Organizations, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_security_incident-response.html#orgs_cloudtrail-integration\">Logging and monitoring in Organizations</a> in the <i>Organizations User Guide.</i> </p> </li> </ul> <p>The user who calls the API to create an account must have the <code>organizations:CreateAccount</code> permission. If you enabled all features in the organization, Organizations creates the required service-linked role named <code>AWSServiceRoleForOrganizations</code>. For more information, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html#orgs_integrate_services-using_slrs\">Organizations and Service-Linked Roles</a> in the <i>Organizations User Guide</i>.</p> <p>If the request includes tags, then the requester must have the <code>organizations:TagResource</code> permission.</p> <p>Organizations preconfigures the new member account with a role (named <code>OrganizationAccountAccessRole</code> by default) that grants users in the management account administrator permissions in the new member account. Principals in the management account can assume the role. Organizations clones the company name and address information for the new account from the organization's management account.</p> <p>This operation can be called only from the organization's management account.</p> <p>For more information about creating accounts, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_create.html\">Creating an Amazon Web Services account in Your Organization</a> in the <i>Organizations User Guide.</i> </p> <important> <ul> <li> <p>When you create an account in an organization using the Organizations console, API, or CLI commands, the information required for the account to operate as a standalone account, such as a payment method and signing the end user license agreement (EULA) is <i>not</i> automatically collected. If you must remove an account from your organization later, you can do so only after you provide the missing information. Follow the steps at <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info\"> To leave an organization as a member account</a> in the <i>Organizations User Guide</i>.</p> </li> <li> <p>If you get an exception that indicates that you exceeded your account limits for the organization, contact <a href=\"https://console.aws.amazon.com/support/home#/\">Amazon Web Services Support</a>.</p> </li> <li> <p>If you get an exception that indicates that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists, contact <a href=\"https://console.aws.amazon.com/support/home#/\">Amazon Web Services Support</a>.</p> </li> <li> <p>Using <code>CreateAccount</code> to create multiple temporary accounts isn't recommended. You can only close an account from the Billing and Cost Management console, and you must be signed in as the root user. For information on the requirements and process for closing an account, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_close.html\">Closing an Amazon Web Services account</a> in the <i>Organizations User Guide</i>.</p> </li> </ul> </important> <note> <p>When you create a member account with this operation, you can choose whether to create the account with the <b>IAM User and Role Access to Billing Information</b> switch enabled. If you enable it, IAM users and roles that have appropriate permissions can view billing information for the account. If you disable it, only the account root user can access billing information. For information about how to disable this switch for an account, see <a href=\"https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/grantaccess.html\">Granting Access to Your Billing Information and Tools</a>.</p> </note>",
     "CreateGovCloudAccount": "<p>This action is available if all of the following are true:</p> <ul> <li> <p>You're authorized to create accounts in the Amazon Web Services GovCloud (US) Region. For more information on the Amazon Web Services GovCloud (US) Region, see the <a href=\"https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/welcome.html\"> <i>Amazon Web Services GovCloud User Guide</i>.</a> </p> </li> <li> <p>You already have an account in the Amazon Web Services GovCloud (US) Region that is paired with a management account of an organization in the commercial Region.</p> </li> <li> <p>You call this action from the management account of your organization in the commercial Region.</p> </li> <li> <p>You have the <code>organizations:CreateGovCloudAccount</code> permission. </p> </li> </ul> <p>Organizations automatically creates the required service-linked role named <code>AWSServiceRoleForOrganizations</code>. For more information, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html#orgs_integrate_services-using_slrs\">Organizations and Service-Linked Roles</a> in the <i>Organizations User Guide.</i> </p> <p>Amazon Web Services automatically enables CloudTrail for Amazon Web Services GovCloud (US) accounts, but you should also do the following:</p> <ul> <li> <p>Verify that CloudTrail is enabled to store logs.</p> </li> <li> <p>Create an Amazon S3 bucket for CloudTrail log storage.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/verifying-cloudtrail.html\">Verifying CloudTrail Is Enabled</a> in the <i>Amazon Web Services GovCloud User Guide</i>. </p> </li> </ul> <p>If the request includes tags, then the requester must have the <code>organizations:TagResource</code> permission. The tags are attached to the commercial account associated with the GovCloud account, rather than the GovCloud account itself. To add tags to the GovCloud account, call the <a>TagResource</a> operation in the GovCloud Region after the new GovCloud account exists.</p> <p>You call this action from the management account of your organization in the commercial Region to create a standalone Amazon Web Services account in the Amazon Web Services GovCloud (US) Region. After the account is created, the management account of an organization in the Amazon Web Services GovCloud (US) Region can invite it to that organization. For more information on inviting standalone accounts in the Amazon Web Services GovCloud (US) to join an organization, see <a href=\"https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html\">Organizations</a> in the <i>Amazon Web Services GovCloud User Guide.</i> </p> <p>Calling <code>CreateGovCloudAccount</code> is an asynchronous request that Amazon Web Services performs in the background. Because <code>CreateGovCloudAccount</code> operates asynchronously, it can return a successful completion message even though account initialization might still be in progress. You might need to wait a few minutes before you can successfully access the account. To check the status of the request, do one of the following:</p> <ul> <li> <p>Use the <code>OperationId</code> response element from this operation to provide as a parameter to the <a>DescribeCreateAccountStatus</a> operation.</p> </li> <li> <p>Check the CloudTrail log for the <code>CreateAccountResult</code> event. For information on using CloudTrail with Organizations, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_monitoring.html\">Monitoring the Activity in Your Organization</a> in the <i>Organizations User Guide.</i> </p> </li> </ul> <p/> <p>When you call the <code>CreateGovCloudAccount</code> action, you create two accounts: a standalone account in the Amazon Web Services GovCloud (US) Region and an associated account in the commercial Region for billing and support purposes. The account in the commercial Region is automatically a member of the organization whose credentials made the request. Both accounts are associated with the same email address.</p> <p>A role is created in the new account in the commercial Region that allows the management account in the organization in the commercial Region to assume it. An Amazon Web Services GovCloud (US) account is then created and associated with the commercial account that you just created. A role is also created in the new Amazon Web Services GovCloud (US) account that can be assumed by the Amazon Web Services GovCloud (US) account that is associated with the management account of the commercial organization. For more information and to view a diagram that explains how account access works, see <a href=\"https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html\">Organizations</a> in the <i>Amazon Web Services GovCloud User Guide.</i> </p> <p>For more information about creating accounts, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_create.html\">Creating an Amazon Web Services account in Your Organization</a> in the <i>Organizations User Guide.</i> </p> <important> <ul> <li> <p>When you create an account in an organization using the Organizations console, API, or CLI commands, the information required for the account to operate as a standalone account is <i>not</i> automatically collected. This includes a payment method and signing the end user license agreement (EULA). If you must remove an account from your organization later, you can do so only after you provide the missing information. Follow the steps at <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info\"> To leave an organization as a member account</a> in the <i>Organizations User Guide.</i> </p> </li> <li> <p>If you get an exception that indicates that you exceeded your account limits for the organization, contact <a href=\"https://console.aws.amazon.com/support/home#/\">Amazon Web Services Support</a>.</p> </li> <li> <p>If you get an exception that indicates that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists, contact <a href=\"https://console.aws.amazon.com/support/home#/\">Amazon Web Services Support</a>.</p> </li> <li> <p>Using <code>CreateGovCloudAccount</code> to create multiple temporary accounts isn't recommended. You can only close an account from the Amazon Web Services Billing and Cost Management console, and you must be signed in as the root user. For information on the requirements and process for closing an account, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_close.html\">Closing an Amazon Web Services account</a> in the <i>Organizations User Guide</i>.</p> </li> </ul> </important> <note> <p>When you create a member account with this operation, you can choose whether to create the account with the <b>IAM User and Role Access to Billing Information</b> switch enabled. If you enable it, IAM users and roles that have appropriate permissions can view billing information for the account. If you disable it, only the account root user can access billing information. For information about how to disable this switch for an account, see <a href=\"https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/grantaccess.html\">Granting Access to Your Billing Information and Tools</a>.</p> </note>",
     "CreateOrganization": "<p>Creates an Amazon Web Services organization. The account whose user is calling the <code>CreateOrganization</code> operation automatically becomes the <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#account\">management account</a> of the new organization.</p> <p>This operation must be called using credentials from the account that is to become the new organization's management account. The principal must also have the relevant IAM permissions.</p> <p>By default (or if you set the <code>FeatureSet</code> parameter to <code>ALL</code>), the new organization is created with all features enabled and service control policies automatically enabled in the root. If you instead choose to create the organization supporting only the consolidated billing features by setting the <code>FeatureSet</code> parameter to <code>CONSOLIDATED_BILLING\"</code>, no policy types are enabled by default, and you can't use organization policies</p>",
@@ -24,7 +24,7 @@
     "DescribeOrganization": "<p>Retrieves information about the organization that the user's account belongs to.</p> <p>This operation can be called from any account in the organization.</p> <note> <p>Even if a policy type is shown as available in the organization, you can disable it separately at the root level with <a>DisablePolicyType</a>. Use <a>ListRoots</a> to see the status of policy types for a specified root.</p> </note>",
     "DescribeOrganizationalUnit": "<p>Retrieves information about an organizational unit (OU).</p> <p>This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.</p>",
     "DescribePolicy": "<p>Retrieves information about a policy.</p> <p>This operation can be called only from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.</p>",
-    "DescribeResourcePolicy": "<p>Retrieves information about a resource policy.</p> <p>You can only call this operation from the organization's management account or by a member account that is a delegated administrator for an AWS service.</p>",
+    "DescribeResourcePolicy": "<p>Retrieves information about a resource policy.</p> <p>You can only call this operation from the organization's management account or by a member account that is a delegated administrator for an Amazon Web Services service.</p>",
     "DetachPolicy": "<p>Detaches a policy from a target root, organizational unit (OU), or account.</p> <important> <p>If the policy being detached is a service control policy (SCP), the changes to permissions for Identity and Access Management (IAM) users and roles in affected accounts are immediate.</p> </important> <p>Every root, OU, and account must have at least one SCP attached. If you want to replace the default <code>FullAWSAccess</code> policy with an SCP that limits the permissions that can be delegated, you must attach the replacement SCP before you can remove the default SCP. This is the authorization strategy of an \"<a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/SCP_strategies.html#orgs_policies_allowlist\">allow list</a>\". If you instead attach a second SCP and leave the <code>FullAWSAccess</code> SCP still attached, and specify <code>\"Effect\": \"Deny\"</code> in the second SCP to override the <code>\"Effect\": \"Allow\"</code> in the <code>FullAWSAccess</code> policy (or any other attached SCP), you're using the authorization strategy of a \"<a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/SCP_strategies.html#orgs_policies_denylist\">deny list</a>\".</p> <p>This operation can be called only from the organization's management account.</p>",
     "DisableAWSServiceAccess": "<p>Disables the integration of an Amazon Web Services service (the service that is specified by <code>ServicePrincipal</code>) with Organizations. When you disable integration, the specified service no longer can create a <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html\">service-linked role</a> in <i>new</i> accounts in your organization. This means the service can't perform operations on your behalf on any new accounts in your organization. The service can still perform operations in older accounts until the service completes its clean-up from Organizations.</p> <important> <p>We <b> <i>strongly recommend</i> </b> that you don't use this command to disable integration between Organizations and the specified Amazon Web Services service. Instead, use the console or commands that are provided by the specified service. This lets the trusted service perform any required initialization when enabling trusted access, such as creating any required resources and any required clean up of resources when disabling trusted access. </p> <p>For information about how to disable trusted service access to your organization using the trusted service, see the <b>Learn more</b> link under the <b>Supports Trusted Access</b> column at <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services_list.html\">Amazon Web Services services that you can use with Organizations</a>. on this page.</p> <p>If you disable access by using this command, it causes the following actions to occur:</p> <ul> <li> <p>The service can no longer create a service-linked role in the accounts in your organization. This means that the service can't perform operations on your behalf on any new accounts in your organization. The service can still perform operations in older accounts until the service completes its clean-up from Organizations. </p> </li> <li> <p>The service can no longer perform tasks in the member accounts in the organization, unless those operations are explicitly permitted by the IAM policies that are attached to your roles. This includes any data aggregation from the member accounts to the management account, or to a delegated administrator account, where relevant.</p> </li> <li> <p>Some services detect this and clean up any remaining data or resources related to the integration, while other services stop accessing the organization but leave any historical data and configuration in place to support a possible re-enabling of the integration.</p> </li> </ul> <p>Using the other service's console or commands to disable the integration ensures that the other service is aware that it can clean up any resources that are required only for the integration. How the service cleans up its resources in the organization's accounts depends on that service. For more information, see the documentation for the other Amazon Web Services service. </p> </important> <p>After you perform the <code>DisableAWSServiceAccess</code> operation, the specified service can no longer perform operations in your organization's accounts </p> <p>For more information about integrating other services with Organizations, including the list of services that work with Organizations, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html\">Integrating Organizations with Other Amazon Web Services Services</a> in the <i>Organizations User Guide.</i> </p> <p>This operation can be called only from the organization's management account.</p>",
     "DisablePolicyType": "<p>Disables an organizational policy type in a root. A policy of a certain type can be attached to entities in a root only if that type is enabled in the root. After you perform this operation, you no longer can attach policies of the specified type to that root or to any organizational unit (OU) or account in that root. You can undo this by using the <a>EnablePolicyType</a> operation.</p> <p>This is an asynchronous request that Amazon Web Services performs in the background. If you disable a policy type for a root, it still appears enabled for the organization if <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html\">all features</a> are enabled for the organization. Amazon Web Services recommends that you first use <a>ListRoots</a> to see the status of policy types for a specified root, and then use this operation.</p> <p>This operation can be called only from the organization's management account.</p> <p> To view the status of available policy types in the organization, use <a>DescribeOrganization</a>.</p>",
@@ -255,7 +255,7 @@
       }
     },
     "ConstraintViolationException": {
-      "base": "<p>Performing this operation violates a minimum or maximum value limit. For example, attempting to remove the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the organization, or attaching too many policies to an account, OU, or root. This exception includes a reason that contains additional information about the violated limit:</p> <note> <p>Some of the reasons in the following list might not be applicable to this specific API or operation.</p> </note> <ul> <li> <p>ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. You can't remove the management account. Instead, after you remove all member accounts, delete the organization itself.</p> </li> <li> <p>ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization that doesn't yet have enough information to exist as a standalone account. This account requires you to first complete phone verification. Follow the steps at <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master\">Removing a member account from your organization</a> in the <i>Organizations User Guide.</i> </p> </li> <li> <p>ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create in one day.</p> </li> <li> <p>ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. If you need more accounts, contact <a href=\"https://docs.aws.amazon.com/support/home#/\">Amazon Web Services Support</a> to request an increase in your limit. </p> <p>Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase in the number of accounts.</p> <note> <p>Deleted and closed accounts still count toward your limit.</p> </note> <important> <p>If you get this exception when running a command immediately after creating the organization, wait one hour and try again. After an hour, if the command continues to fail with this error, contact <a href=\"https://docs.aws.amazon.com/support/home#/\">Amazon Web Services Support</a>.</p> </important> </li> <li> <p>CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of the organization as a delegated administrator for an Amazon Web Services service integrated with Organizations. You can designate only a member account as a delegated administrator.</p> </li> <li> <p>CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management account for the organization, you must first either remove or close all member accounts in the organization. Follow standard account closure process using root credentials.​ </p> </li> <li> <p>CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as a delegated administrator for a service integrated with your organization. To complete this operation, you must first deregister this account as a delegated administrator. </p> </li> <li> <p>CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. </p> </li> <li> <p>CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close at a time. ​ </p> </li> <li> <p>CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified region, you must enable all features mode.</p> </li> <li> <p>DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account as a delegated administrator for an Amazon Web Services service that already has a delegated administrator. To complete this operation, you must first deregister any existing delegated administrators for this service.</p> </li> <li> <p>EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. You must resubmit the request and generate a new verfication code.</p> </li> <li> <p>HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one day.</p> </li> <li> <p>INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is associated with the account. Amazon Web Services does not support cards issued by financial institutions in Russia or Belarus. For more information, see <a href=\"https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html\">Managing your Amazon Web Services payments</a>.</p> </li> <li> <p>MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first must migrate the organization's management account to the marketplace that corresponds to the management account's address. For example, accounts with India addresses must be associated with the AISPL marketplace. All accounts in an organization must be associated with the same marketplace.</p> </li> <li> <p>MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services /&gt; Regions in China. To create an organization, the master must have a valid business license. For more information, contact customer support.</p> </li> <li> <p>MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact address and phone number for the management account. Then try the operation again.</p> </li> <li> <p>MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see <a href=\"https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html\">Organizations</a> in the <i>Amazon Web Services GovCloud User Guide.</i> </p> </li> <li> <p>MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you first must associate a valid payment instrument, such as a credit card, with the account. Follow the steps at <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info\">To leave an organization when all required account information has not yet been provided</a> in the <i>Organizations User Guide.</i> </p> </li> <li> <p>MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated administrators than allowed for the service principal. </p> </li> <li> <p>MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain type that can be attached to an entity at one time.</p> </li> <li> <p>MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. </p> </li> <li> <p>MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you first must associate a valid payment instrument, such as a credit card, with the account. Follow the steps at <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info\">To leave an organization when all required account information has not yet been provided</a> in the <i>Organizations User Guide.</i> </p> </li> <li> <p>MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would cause the entity to have fewer than the minimum number of policies of a certain type required.</p> </li> <li> <p>ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the organization to be configured to support all features. An organization that supports only consolidated billing features can't perform this operation.</p> </li> <li> <p>OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep.</p> </li> <li> <p>OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization.</p> </li> <li> <p>POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size.</p> </li> <li> <p>POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an organization.</p> </li> <li> <p>SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled service access. Call the <code>EnableAWSServiceAccess</code> API first.</p> </li> <li> <p>TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account.</p> </li> <li> <p>WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, there is a waiting period before you can remove it from the organization. If you get an error that indicates that a wait period is required, try again in a few days.</p> </li> </ul>",
+      "base": "<p>Performing this operation violates a minimum or maximum value limit. For example, attempting to remove the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the organization, or attaching too many policies to an account, OU, or root. This exception includes a reason that contains additional information about the violated limit:</p> <note> <p>Some of the reasons in the following list might not be applicable to this specific API or operation.</p> </note> <ul> <li> <p>ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management account from the organization. You can't remove the management account. Instead, after you remove all member accounts, delete the organization itself.</p> </li> <li> <p>ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization that doesn't yet have enough information to exist as a standalone account. This account requires you to first complete phone verification. Follow the steps at <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#orgs_manage_accounts_remove-from-master\">Removing a member account from your organization</a> in the <i>Organizations User Guide.</i> </p> </li> <li> <p>ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create in one day.</p> </li> <li> <p>ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your account isn't fully active. You must complete the account setup before you create an organization.</p> </li> <li> <p>ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. If you need more accounts, contact <a href=\"https://docs.aws.amazon.com/support/home#/\">Amazon Web Services Support</a> to request an increase in your limit. </p> <p>Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in your organization. Send fewer invitations or contact Amazon Web Services Support to request an increase in the number of accounts.</p> <note> <p>Deleted and closed accounts still count toward your limit.</p> </note> <important> <p>If you get this exception when running a command immediately after creating the organization, wait one hour and try again. After an hour, if the command continues to fail with this error, contact <a href=\"https://docs.aws.amazon.com/support/home#/\">Amazon Web Services Support</a>.</p> </important> </li> <li> <p>CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register the management account of the organization as a delegated administrator for an Amazon Web Services service integrated with Organizations. You can designate only a member account as a delegated administrator.</p> </li> <li> <p>CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management account. To close the management account for the organization, you must first either remove or close all member accounts in the organization. Follow standard account closure process using root credentials.​ </p> </li> <li> <p>CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an account that is registered as a delegated administrator for a service integrated with your organization. To complete this operation, you must first deregister this account as a delegated administrator. </p> </li> <li> <p>CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the past 30 days. </p> </li> <li> <p>CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can close at a time. ​ </p> </li> <li> <p>CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an organization in the specified region, you must enable all features mode.</p> </li> <li> <p>DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an Amazon Web Services account as a delegated administrator for an Amazon Web Services service that already has a delegated administrator. To complete this operation, you must first deregister any existing delegated administrators for this service.</p> </li> <li> <p>EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for a limited period of time. You must resubmit the request and generate a new verfication code.</p> </li> <li> <p>HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one day.</p> </li> <li> <p>INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported payment method is associated with the account. Amazon Web Services does not support cards issued by financial institutions in Russia or Belarus. For more information, see <a href=\"https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/manage-general.html\">Managing your Amazon Web Services payments</a>.</p> </li> <li> <p>MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first must migrate the organization's management account to the marketplace that corresponds to the management account's address. For example, accounts with India addresses must be associated with the AISPL marketplace. All accounts in an organization must be associated with the same marketplace.</p> </li> <li> <p>MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services /&gt; Regions in China. To create an organization, the master must have a valid business license. For more information, contact customer support.</p> </li> <li> <p>MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide a valid contact address and phone number for the management account. Then try the operation again.</p> </li> <li> <p>MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the management account must have an associated account in the Amazon Web Services GovCloud (US-West) Region. For more information, see <a href=\"https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-organizations.html\">Organizations</a> in the <i>Amazon Web Services GovCloud User Guide.</i> </p> </li> <li> <p>MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this management account, you first must associate a valid payment instrument, such as a credit card, with the account. Follow the steps at <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info\">To leave an organization when all required account information has not yet been provided</a> in the <i>Organizations User Guide.</i> </p> </li> <li> <p>MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated administrators than allowed for the service principal. </p> </li> <li> <p>MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain type that can be attached to an entity at one time.</p> </li> <li> <p>MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource. </p> </li> <li> <p>MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you first must associate a valid payment instrument, such as a credit card, with the account. Follow the steps at <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info\">To leave an organization when all required account information has not yet been provided</a> in the <i>Organizations User Guide.</i> </p> </li> <li> <p>MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would cause the entity to have fewer than the minimum number of policies of a certain type required.</p> </li> <li> <p>ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the organization to be configured to support all features. An organization that supports only consolidated billing features can't perform this operation.</p> </li> <li> <p>OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep.</p> </li> <li> <p>OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization.</p> </li> <li> <p>POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger than the maximum size.</p> </li> <li> <p>POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies that you can have in an organization.</p> </li> <li> <p>SERVICE_ACCESS_NOT_ENABLED: You attempted to register a delegated administrator before you enabled service access. Call the <code>EnableAWSServiceAccess</code> API first.</p> </li> <li> <p>TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account.</p> </li> <li> <p>WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, there is a waiting period before you can remove it from the organization. If you get an error that indicates that a wait period is required, try again in a few days.</p> </li> </ul>",
       "refs": {
       }
     },
@@ -1497,14 +1497,14 @@
     "Tags": {
       "base": null,
       "refs": {
-        "CreateAccountRequest$Tags": "<p>A list of tags that you want to attach to the newly created account. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to <code>null</code>. For more information about tagging, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html\">Tagging Organizations resources</a> in the Organizations User Guide.</p> <note> <p>If any one of the tags is invalid or if you exceed the maximum allowed number of tags for an account, then the entire request fails and the account is not created.</p> </note>",
-        "CreateGovCloudAccountRequest$Tags": "<p>A list of tags that you want to attach to the newly created account. These tags are attached to the commercial account associated with the GovCloud account, and not to the GovCloud account itself. To add tags to the actual GovCloud account, call the <a>TagResource</a> operation in the GovCloud region after the new GovCloud account exists.</p> <p>For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to <code>null</code>. For more information about tagging, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html\">Tagging Organizations resources</a> in the Organizations User Guide.</p> <note> <p>If any one of the tags is invalid or if you exceed the maximum allowed number of tags for an account, then the entire request fails and the account is not created.</p> </note>",
-        "CreateOrganizationalUnitRequest$Tags": "<p>A list of tags that you want to attach to the newly created OU. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to <code>null</code>. For more information about tagging, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html\">Tagging Organizations resources</a> in the Organizations User Guide.</p> <note> <p>If any one of the tags is invalid or if you exceed the allowed number of tags for an OU, then the entire request fails and the OU is not created.</p> </note>",
-        "CreatePolicyRequest$Tags": "<p>A list of tags that you want to attach to the newly created policy. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to <code>null</code>. For more information about tagging, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html\">Tagging Organizations resources</a> in the Organizations User Guide.</p> <note> <p>If any one of the tags is invalid or if you exceed the allowed number of tags for a policy, then the entire request fails and the policy is not created.</p> </note>",
-        "InviteAccountToOrganizationRequest$Tags": "<p>A list of tags that you want to attach to the account when it becomes a member of the organization. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to <code>null</code>. For more information about tagging, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html\">Tagging Organizations resources</a> in the Organizations User Guide.</p> <important> <p>Any tags in the request are checked for compliance with any applicable tag policies when the request is made. The request is rejected if the tags in the request don't match the requirements of the policy at that time. Tag policy compliance is <i> <b>not</b> </i> checked again when the invitation is accepted and the tags are actually attached to the account. That means that if the tag policy changes between the invitation and the acceptance, then that tags could potentially be non-compliant.</p> </important> <note> <p>If any one of the tags is invalid or if you exceed the allowed number of tags for an account, then the entire request fails and invitations are not sent.</p> </note>",
+        "CreateAccountRequest$Tags": "<p>A list of tags that you want to attach to the newly created account. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to <code>null</code>. For more information about tagging, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html\">Tagging Organizations resources</a> in the Organizations User Guide.</p> <note> <p>If any one of the tags is not valid or if you exceed the maximum allowed number of tags for an account, then the entire request fails and the account is not created.</p> </note>",
+        "CreateGovCloudAccountRequest$Tags": "<p>A list of tags that you want to attach to the newly created account. These tags are attached to the commercial account associated with the GovCloud account, and not to the GovCloud account itself. To add tags to the actual GovCloud account, call the <a>TagResource</a> operation in the GovCloud region after the new GovCloud account exists.</p> <p>For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to <code>null</code>. For more information about tagging, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html\">Tagging Organizations resources</a> in the Organizations User Guide.</p> <note> <p>If any one of the tags is not valid or if you exceed the maximum allowed number of tags for an account, then the entire request fails and the account is not created.</p> </note>",
+        "CreateOrganizationalUnitRequest$Tags": "<p>A list of tags that you want to attach to the newly created OU. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to <code>null</code>. For more information about tagging, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html\">Tagging Organizations resources</a> in the Organizations User Guide.</p> <note> <p>If any one of the tags is not valid or if you exceed the allowed number of tags for an OU, then the entire request fails and the OU is not created.</p> </note>",
+        "CreatePolicyRequest$Tags": "<p>A list of tags that you want to attach to the newly created policy. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to <code>null</code>. For more information about tagging, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html\">Tagging Organizations resources</a> in the Organizations User Guide.</p> <note> <p>If any one of the tags is not valid or if you exceed the allowed number of tags for a policy, then the entire request fails and the policy is not created.</p> </note>",
+        "InviteAccountToOrganizationRequest$Tags": "<p>A list of tags that you want to attach to the account when it becomes a member of the organization. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to <code>null</code>. For more information about tagging, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html\">Tagging Organizations resources</a> in the Organizations User Guide.</p> <important> <p>Any tags in the request are checked for compliance with any applicable tag policies when the request is made. The request is rejected if the tags in the request don't match the requirements of the policy at that time. Tag policy compliance is <i> <b>not</b> </i> checked again when the invitation is accepted and the tags are actually attached to the account. That means that if the tag policy changes between the invitation and the acceptance, then that tags could potentially be non-compliant.</p> </important> <note> <p>If any one of the tags is not valid or if you exceed the allowed number of tags for an account, then the entire request fails and invitations are not sent.</p> </note>",
         "ListTagsForResourceResponse$Tags": "<p>The tags that are assigned to the resource.</p>",
-        "PutResourcePolicyRequest$Tags": "<p>Updates the list of tags that you want to attach to the newly-created resource policy. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to <code>null</code>. For more information about tagging, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html\">Tagging Organizations resources</a> in the Organizations User Guide.</p> <note> <p>Calls with tags apply to the initial creation of the resource policy, otherwise an exception is thrown. If any one of the tags is invalid or if you exceed the allowed number of tags for the resource policy, then the entire request fails and the resource policy is not created. </p> </note>",
-        "TagResourceRequest$Tags": "<p>A list of tags to add to the specified resource.</p> <p>For each tag in the list, you must specify both a tag key and a value. The value can be an empty string, but you can't set it to <code>null</code>.</p> <note> <p>If any one of the tags is invalid or if you exceed the maximum allowed number of tags for a resource, then the entire request fails.</p> </note>"
+        "PutResourcePolicyRequest$Tags": "<p>A list of tags that you want to attach to the newly created resource policy. For each tag in the list, you must specify both a tag key and a value. You can set the value to an empty string, but you can't set it to <code>null</code>. For more information about tagging, see <a href=\"https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html\">Tagging Organizations resources</a> in the Organizations User Guide.</p> <note> <p>Calls with tags apply to the initial creation of the resource policy, otherwise an exception is thrown. If any one of the tags is not valid or if you exceed the allowed number of tags for the resource policy, then the entire request fails and the resource policy is not created. </p> </note>",
+        "TagResourceRequest$Tags": "<p>A list of tags to add to the specified resource.</p> <p>For each tag in the list, you must specify both a tag key and a value. The value can be an empty string, but you can't set it to <code>null</code>.</p> <note> <p>If any one of the tags is not valid or if you exceed the maximum allowed number of tags for a resource, then the entire request fails.</p> </note>"
       }
     },
     "TargetName": {
diff --git a/models/apis/organizations/2016-11-28/endpoint-rule-set-1.json b/models/apis/organizations/2016-11-28/endpoint-rule-set-1.json
index 16108abb191..b31c5354663 100644
--- a/models/apis/organizations/2016-11-28/endpoint-rule-set-1.json
+++ b/models/apis/organizations/2016-11-28/endpoint-rule-set-1.json
@@ -3,7 +3,7 @@
     "parameters": {
         "Region": {
             "builtIn": "AWS::Region",
-            "required": true,
+            "required": false,
             "documentation": "The AWS region used to dispatch the request.",
             "type": "String"
         },
@@ -32,13 +32,12 @@
         {
             "conditions": [
                 {
-                    "fn": "aws.partition",
+                    "fn": "isSet",
                     "argv": [
                         {
-                            "ref": "Region"
+                            "ref": "Endpoint"
                         }
-                    ],
-                    "assign": "PartitionResult"
+                    ]
                 }
             ],
             "type": "tree",
@@ -46,23 +45,20 @@
                 {
                     "conditions": [
                         {
-                            "fn": "isSet",
+                            "fn": "booleanEquals",
                             "argv": [
                                 {
-                                    "ref": "Endpoint"
-                                }
+                                    "ref": "UseFIPS"
+                                },
+                                true
                             ]
-                        },
-                        {
-                            "fn": "parseURL",
-                            "argv": [
-                                {
-                                    "ref": "Endpoint"
-                                }
-                            ],
-                            "assign": "url"
                         }
                     ],
+                    "error": "Invalid Configuration: FIPS and custom endpoint are not supported",
+                    "type": "error"
+                },
+                {
+                    "conditions": [],
                     "type": "tree",
                     "rules": [
                         {
@@ -71,64 +67,42 @@
                                     "fn": "booleanEquals",
                                     "argv": [
                                         {
-                                            "ref": "UseFIPS"
+                                            "ref": "UseDualStack"
                                         },
                                         true
                                     ]
                                 }
                             ],
-                            "error": "Invalid Configuration: FIPS and custom endpoint are not supported",
+                            "error": "Invalid Configuration: Dualstack and custom endpoint are not supported",
                             "type": "error"
                         },
                         {
                             "conditions": [],
-                            "type": "tree",
-                            "rules": [
-                                {
-                                    "conditions": [
-                                        {
-                                            "fn": "booleanEquals",
-                                            "argv": [
-                                                {
-                                                    "ref": "UseDualStack"
-                                                },
-                                                true
-                                            ]
-                                        }
-                                    ],
-                                    "error": "Invalid Configuration: Dualstack and custom endpoint are not supported",
-                                    "type": "error"
+                            "endpoint": {
+                                "url": {
+                                    "ref": "Endpoint"
                                 },
-                                {
-                                    "conditions": [],
-                                    "endpoint": {
-                                        "url": {
-                                            "ref": "Endpoint"
-                                        },
-                                        "properties": {},
-                                        "headers": {}
-                                    },
-                                    "type": "endpoint"
-                                }
-                            ]
+                                "properties": {},
+                                "headers": {}
+                            },
+                            "type": "endpoint"
                         }
                     ]
-                },
+                }
+            ]
+        },
+        {
+            "conditions": [],
+            "type": "tree",
+            "rules": [
                 {
                     "conditions": [
                         {
-                            "fn": "stringEquals",
+                            "fn": "isSet",
                             "argv": [
                                 {
-                                    "fn": "getAttr",
-                                    "argv": [
-                                        {
-                                            "ref": "PartitionResult"
-                                        },
-                                        "name"
-                                    ]
-                                },
-                                "aws"
+                                    "ref": "Region"
+                                }
                             ]
                         }
                     ],
@@ -137,22 +111,13 @@
                         {
                             "conditions": [
                                 {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        {
-                                            "ref": "UseFIPS"
-                                        },
-                                        true
-                                    ]
-                                },
-                                {
-                                    "fn": "booleanEquals",
+                                    "fn": "aws.partition",
                                     "argv": [
                                         {
-                                            "ref": "UseDualStack"
-                                        },
-                                        true
-                                    ]
+                                            "ref": "Region"
+                                        }
+                                    ],
+                                    "assign": "PartitionResult"
                                 }
                             ],
                             "type": "tree",
@@ -160,108 +125,221 @@
                                 {
                                     "conditions": [
                                         {
-                                            "fn": "booleanEquals",
+                                            "fn": "stringEquals",
                                             "argv": [
-                                                true,
                                                 {
                                                     "fn": "getAttr",
                                                     "argv": [
                                                         {
                                                             "ref": "PartitionResult"
                                                         },
-                                                        "supportsFIPS"
+                                                        "name"
                                                     ]
-                                                }
+                                                },
+                                                "aws"
                                             ]
-                                        },
+                                        }
+                                    ],
+                                    "type": "tree",
+                                    "rules": [
                                         {
-                                            "fn": "booleanEquals",
-                                            "argv": [
-                                                true,
+                                            "conditions": [
                                                 {
-                                                    "fn": "getAttr",
+                                                    "fn": "booleanEquals",
                                                     "argv": [
                                                         {
-                                                            "ref": "PartitionResult"
+                                                            "ref": "UseFIPS"
+                                                        },
+                                                        true
+                                                    ]
+                                                },
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        {
+                                                            "ref": "UseDualStack"
                                                         },
-                                                        "supportsDualStack"
+                                                        true
                                                     ]
                                                 }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [
+                                                        {
+                                                            "fn": "booleanEquals",
+                                                            "argv": [
+                                                                true,
+                                                                {
+                                                                    "fn": "getAttr",
+                                                                    "argv": [
+                                                                        {
+                                                                            "ref": "PartitionResult"
+                                                                        },
+                                                                        "supportsFIPS"
+                                                                    ]
+                                                                }
+                                                            ]
+                                                        },
+                                                        {
+                                                            "fn": "booleanEquals",
+                                                            "argv": [
+                                                                true,
+                                                                {
+                                                                    "fn": "getAttr",
+                                                                    "argv": [
+                                                                        {
+                                                                            "ref": "PartitionResult"
+                                                                        },
+                                                                        "supportsDualStack"
+                                                                    ]
+                                                                }
+                                                            ]
+                                                        }
+                                                    ],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://organizations-fips.{Region}.api.aws",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
+                                                    ]
+                                                },
+                                                {
+                                                    "conditions": [],
+                                                    "error": "FIPS and DualStack are enabled, but this partition does not support one or both",
+                                                    "type": "error"
+                                                }
                                             ]
-                                        }
-                                    ],
-                                    "type": "tree",
-                                    "rules": [
+                                        },
                                         {
-                                            "conditions": [],
-                                            "endpoint": {
-                                                "url": "https://organizations-fips.{Region}.api.aws",
-                                                "properties": {
-                                                    "authSchemes": [
+                                            "conditions": [
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
                                                         {
-                                                            "name": "sigv4",
-                                                            "signingRegion": "us-east-1",
-                                                            "signingName": "organizations"
+                                                            "ref": "UseFIPS"
+                                                        },
+                                                        true
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [
+                                                        {
+                                                            "fn": "booleanEquals",
+                                                            "argv": [
+                                                                true,
+                                                                {
+                                                                    "fn": "getAttr",
+                                                                    "argv": [
+                                                                        {
+                                                                            "ref": "PartitionResult"
+                                                                        },
+                                                                        "supportsFIPS"
+                                                                    ]
+                                                                }
+                                                            ]
+                                                        }
+                                                    ],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://organizations-fips.us-east-1.amazonaws.com",
+                                                                "properties": {
+                                                                    "authSchemes": [
+                                                                        {
+                                                                            "name": "sigv4",
+                                                                            "signingName": "organizations",
+                                                                            "signingRegion": "us-east-1"
+                                                                        }
+                                                                    ]
+                                                                },
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
                                                         }
                                                     ]
                                                 },
-                                                "headers": {}
-                                            },
-                                            "type": "endpoint"
-                                        }
-                                    ]
-                                },
-                                {
-                                    "conditions": [],
-                                    "error": "FIPS and DualStack are enabled, but this partition does not support one or both",
-                                    "type": "error"
-                                }
-                            ]
-                        },
-                        {
-                            "conditions": [
-                                {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        {
-                                            "ref": "UseFIPS"
+                                                {
+                                                    "conditions": [],
+                                                    "error": "FIPS is enabled but this partition does not support FIPS",
+                                                    "type": "error"
+                                                }
+                                            ]
                                         },
-                                        true
-                                    ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
-                                {
-                                    "conditions": [
                                         {
-                                            "fn": "booleanEquals",
-                                            "argv": [
-                                                true,
+                                            "conditions": [
                                                 {
-                                                    "fn": "getAttr",
+                                                    "fn": "booleanEquals",
                                                     "argv": [
                                                         {
-                                                            "ref": "PartitionResult"
+                                                            "ref": "UseDualStack"
                                                         },
-                                                        "supportsFIPS"
+                                                        true
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [
+                                                        {
+                                                            "fn": "booleanEquals",
+                                                            "argv": [
+                                                                true,
+                                                                {
+                                                                    "fn": "getAttr",
+                                                                    "argv": [
+                                                                        {
+                                                                            "ref": "PartitionResult"
+                                                                        },
+                                                                        "supportsDualStack"
+                                                                    ]
+                                                                }
+                                                            ]
+                                                        }
+                                                    ],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://organizations.{Region}.api.aws",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
                                                     ]
+                                                },
+                                                {
+                                                    "conditions": [],
+                                                    "error": "DualStack is enabled but this partition does not support DualStack",
+                                                    "type": "error"
                                                 }
                                             ]
-                                        }
-                                    ],
-                                    "type": "tree",
-                                    "rules": [
+                                        },
                                         {
                                             "conditions": [],
                                             "endpoint": {
-                                                "url": "https://organizations-fips.us-east-1.amazonaws.com",
+                                                "url": "https://organizations.us-east-1.amazonaws.com",
                                                 "properties": {
                                                     "authSchemes": [
                                                         {
                                                             "name": "sigv4",
-                                                            "signingRegion": "us-east-1",
-                                                            "signingName": "organizations"
+                                                            "signingName": "organizations",
+                                                            "signingRegion": "us-east-1"
                                                         }
                                                     ]
                                                 },
@@ -271,180 +349,216 @@
                                         }
                                     ]
                                 },
-                                {
-                                    "conditions": [],
-                                    "error": "FIPS is enabled but this partition does not support FIPS",
-                                    "type": "error"
-                                }
-                            ]
-                        },
-                        {
-                            "conditions": [
-                                {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        {
-                                            "ref": "UseDualStack"
-                                        },
-                                        true
-                                    ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
                                 {
                                     "conditions": [
                                         {
-                                            "fn": "booleanEquals",
+                                            "fn": "stringEquals",
                                             "argv": [
-                                                true,
                                                 {
                                                     "fn": "getAttr",
                                                     "argv": [
                                                         {
                                                             "ref": "PartitionResult"
                                                         },
-                                                        "supportsDualStack"
+                                                        "name"
                                                     ]
-                                                }
+                                                },
+                                                "aws-cn"
                                             ]
                                         }
                                     ],
                                     "type": "tree",
                                     "rules": [
                                         {
-                                            "conditions": [],
-                                            "endpoint": {
-                                                "url": "https://organizations.{Region}.api.aws",
-                                                "properties": {
-                                                    "authSchemes": [
+                                            "conditions": [
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
                                                         {
-                                                            "name": "sigv4",
-                                                            "signingRegion": "us-east-1",
-                                                            "signingName": "organizations"
+                                                            "ref": "UseFIPS"
+                                                        },
+                                                        true
+                                                    ]
+                                                },
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        {
+                                                            "ref": "UseDualStack"
+                                                        },
+                                                        true
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [
+                                                        {
+                                                            "fn": "booleanEquals",
+                                                            "argv": [
+                                                                true,
+                                                                {
+                                                                    "fn": "getAttr",
+                                                                    "argv": [
+                                                                        {
+                                                                            "ref": "PartitionResult"
+                                                                        },
+                                                                        "supportsFIPS"
+                                                                    ]
+                                                                }
+                                                            ]
+                                                        },
+                                                        {
+                                                            "fn": "booleanEquals",
+                                                            "argv": [
+                                                                true,
+                                                                {
+                                                                    "fn": "getAttr",
+                                                                    "argv": [
+                                                                        {
+                                                                            "ref": "PartitionResult"
+                                                                        },
+                                                                        "supportsDualStack"
+                                                                    ]
+                                                                }
+                                                            ]
+                                                        }
+                                                    ],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://organizations-fips.{Region}.api.amazonwebservices.com.cn",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
                                                         }
                                                     ]
                                                 },
-                                                "headers": {}
-                                            },
-                                            "type": "endpoint"
-                                        }
-                                    ]
-                                },
-                                {
-                                    "conditions": [],
-                                    "error": "DualStack is enabled but this partition does not support DualStack",
-                                    "type": "error"
-                                }
-                            ]
-                        },
-                        {
-                            "conditions": [],
-                            "endpoint": {
-                                "url": "https://organizations.us-east-1.amazonaws.com",
-                                "properties": {
-                                    "authSchemes": [
+                                                {
+                                                    "conditions": [],
+                                                    "error": "FIPS and DualStack are enabled, but this partition does not support one or both",
+                                                    "type": "error"
+                                                }
+                                            ]
+                                        },
                                         {
-                                            "name": "sigv4",
-                                            "signingRegion": "us-east-1",
-                                            "signingName": "organizations"
-                                        }
-                                    ]
-                                },
-                                "headers": {}
-                            },
-                            "type": "endpoint"
-                        }
-                    ]
-                },
-                {
-                    "conditions": [
-                        {
-                            "fn": "stringEquals",
-                            "argv": [
-                                {
-                                    "fn": "getAttr",
-                                    "argv": [
-                                        {
-                                            "ref": "PartitionResult"
-                                        },
-                                        "name"
-                                    ]
-                                },
-                                "aws-cn"
-                            ]
-                        }
-                    ],
-                    "type": "tree",
-                    "rules": [
-                        {
-                            "conditions": [
-                                {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        {
-                                            "ref": "UseFIPS"
-                                        },
-                                        true
-                                    ]
-                                },
-                                {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        {
-                                            "ref": "UseDualStack"
-                                        },
-                                        true
-                                    ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
-                                {
-                                    "conditions": [
-                                        {
-                                            "fn": "booleanEquals",
-                                            "argv": [
-                                                true,
+                                            "conditions": [
                                                 {
-                                                    "fn": "getAttr",
+                                                    "fn": "booleanEquals",
                                                     "argv": [
                                                         {
-                                                            "ref": "PartitionResult"
+                                                            "ref": "UseFIPS"
                                                         },
-                                                        "supportsFIPS"
+                                                        true
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [
+                                                        {
+                                                            "fn": "booleanEquals",
+                                                            "argv": [
+                                                                true,
+                                                                {
+                                                                    "fn": "getAttr",
+                                                                    "argv": [
+                                                                        {
+                                                                            "ref": "PartitionResult"
+                                                                        },
+                                                                        "supportsFIPS"
+                                                                    ]
+                                                                }
+                                                            ]
+                                                        }
+                                                    ],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://organizations-fips.{Region}.amazonaws.com.cn",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
                                                     ]
+                                                },
+                                                {
+                                                    "conditions": [],
+                                                    "error": "FIPS is enabled but this partition does not support FIPS",
+                                                    "type": "error"
                                                 }
                                             ]
                                         },
                                         {
-                                            "fn": "booleanEquals",
-                                            "argv": [
-                                                true,
+                                            "conditions": [
                                                 {
-                                                    "fn": "getAttr",
+                                                    "fn": "booleanEquals",
                                                     "argv": [
                                                         {
-                                                            "ref": "PartitionResult"
+                                                            "ref": "UseDualStack"
                                                         },
-                                                        "supportsDualStack"
+                                                        true
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [
+                                                        {
+                                                            "fn": "booleanEquals",
+                                                            "argv": [
+                                                                true,
+                                                                {
+                                                                    "fn": "getAttr",
+                                                                    "argv": [
+                                                                        {
+                                                                            "ref": "PartitionResult"
+                                                                        },
+                                                                        "supportsDualStack"
+                                                                    ]
+                                                                }
+                                                            ]
+                                                        }
+                                                    ],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://organizations.{Region}.api.amazonwebservices.com.cn",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
                                                     ]
+                                                },
+                                                {
+                                                    "conditions": [],
+                                                    "error": "DualStack is enabled but this partition does not support DualStack",
+                                                    "type": "error"
                                                 }
                                             ]
-                                        }
-                                    ],
-                                    "type": "tree",
-                                    "rules": [
+                                        },
                                         {
                                             "conditions": [],
                                             "endpoint": {
-                                                "url": "https://organizations-fips.{Region}.api.amazonwebservices.com.cn",
+                                                "url": "https://organizations.cn-northwest-1.amazonaws.com.cn",
                                                 "properties": {
                                                     "authSchemes": [
                                                         {
                                                             "name": "sigv4",
-                                                            "signingRegion": "cn-northwest-1",
-                                                            "signingName": "organizations"
+                                                            "signingName": "organizations",
+                                                            "signingRegion": "cn-northwest-1"
                                                         }
                                                     ]
                                                 },
@@ -454,240 +568,224 @@
                                         }
                                     ]
                                 },
-                                {
-                                    "conditions": [],
-                                    "error": "FIPS and DualStack are enabled, but this partition does not support one or both",
-                                    "type": "error"
-                                }
-                            ]
-                        },
-                        {
-                            "conditions": [
-                                {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        {
-                                            "ref": "UseFIPS"
-                                        },
-                                        true
-                                    ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
                                 {
                                     "conditions": [
                                         {
-                                            "fn": "booleanEquals",
+                                            "fn": "stringEquals",
                                             "argv": [
-                                                true,
                                                 {
                                                     "fn": "getAttr",
                                                     "argv": [
                                                         {
                                                             "ref": "PartitionResult"
                                                         },
-                                                        "supportsFIPS"
+                                                        "name"
                                                     ]
-                                                }
+                                                },
+                                                "aws-us-gov"
                                             ]
                                         }
                                     ],
                                     "type": "tree",
                                     "rules": [
                                         {
-                                            "conditions": [],
-                                            "endpoint": {
-                                                "url": "https://organizations-fips.{Region}.amazonaws.com.cn",
-                                                "properties": {
-                                                    "authSchemes": [
+                                            "conditions": [
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
                                                         {
-                                                            "name": "sigv4",
-                                                            "signingRegion": "cn-northwest-1",
-                                                            "signingName": "organizations"
-                                                        }
+                                                            "ref": "UseFIPS"
+                                                        },
+                                                        true
                                                     ]
                                                 },
-                                                "headers": {}
-                                            },
-                                            "type": "endpoint"
-                                        }
-                                    ]
-                                },
-                                {
-                                    "conditions": [],
-                                    "error": "FIPS is enabled but this partition does not support FIPS",
-                                    "type": "error"
-                                }
-                            ]
-                        },
-                        {
-                            "conditions": [
-                                {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        {
-                                            "ref": "UseDualStack"
-                                        },
-                                        true
-                                    ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
-                                {
-                                    "conditions": [
-                                        {
-                                            "fn": "booleanEquals",
-                                            "argv": [
-                                                true,
                                                 {
-                                                    "fn": "getAttr",
+                                                    "fn": "booleanEquals",
                                                     "argv": [
                                                         {
-                                                            "ref": "PartitionResult"
+                                                            "ref": "UseDualStack"
                                                         },
-                                                        "supportsDualStack"
+                                                        true
                                                     ]
                                                 }
-                                            ]
-                                        }
-                                    ],
-                                    "type": "tree",
-                                    "rules": [
-                                        {
-                                            "conditions": [],
-                                            "endpoint": {
-                                                "url": "https://organizations.{Region}.api.amazonwebservices.com.cn",
-                                                "properties": {
-                                                    "authSchemes": [
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [
                                                         {
-                                                            "name": "sigv4",
-                                                            "signingRegion": "cn-northwest-1",
-                                                            "signingName": "organizations"
+                                                            "fn": "booleanEquals",
+                                                            "argv": [
+                                                                true,
+                                                                {
+                                                                    "fn": "getAttr",
+                                                                    "argv": [
+                                                                        {
+                                                                            "ref": "PartitionResult"
+                                                                        },
+                                                                        "supportsFIPS"
+                                                                    ]
+                                                                }
+                                                            ]
+                                                        },
+                                                        {
+                                                            "fn": "booleanEquals",
+                                                            "argv": [
+                                                                true,
+                                                                {
+                                                                    "fn": "getAttr",
+                                                                    "argv": [
+                                                                        {
+                                                                            "ref": "PartitionResult"
+                                                                        },
+                                                                        "supportsDualStack"
+                                                                    ]
+                                                                }
+                                                            ]
+                                                        }
+                                                    ],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://organizations-fips.{Region}.api.aws",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
                                                         }
                                                     ]
                                                 },
-                                                "headers": {}
-                                            },
-                                            "type": "endpoint"
-                                        }
-                                    ]
-                                },
-                                {
-                                    "conditions": [],
-                                    "error": "DualStack is enabled but this partition does not support DualStack",
-                                    "type": "error"
-                                }
-                            ]
-                        },
-                        {
-                            "conditions": [],
-                            "endpoint": {
-                                "url": "https://organizations.cn-northwest-1.amazonaws.com.cn",
-                                "properties": {
-                                    "authSchemes": [
-                                        {
-                                            "name": "sigv4",
-                                            "signingRegion": "cn-northwest-1",
-                                            "signingName": "organizations"
-                                        }
-                                    ]
-                                },
-                                "headers": {}
-                            },
-                            "type": "endpoint"
-                        }
-                    ]
-                },
-                {
-                    "conditions": [
-                        {
-                            "fn": "stringEquals",
-                            "argv": [
-                                {
-                                    "fn": "getAttr",
-                                    "argv": [
-                                        {
-                                            "ref": "PartitionResult"
-                                        },
-                                        "name"
-                                    ]
-                                },
-                                "aws-us-gov"
-                            ]
-                        }
-                    ],
-                    "type": "tree",
-                    "rules": [
-                        {
-                            "conditions": [
-                                {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        {
-                                            "ref": "UseFIPS"
-                                        },
-                                        true
-                                    ]
-                                },
-                                {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        {
-                                            "ref": "UseDualStack"
+                                                {
+                                                    "conditions": [],
+                                                    "error": "FIPS and DualStack are enabled, but this partition does not support one or both",
+                                                    "type": "error"
+                                                }
+                                            ]
                                         },
-                                        true
-                                    ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
-                                {
-                                    "conditions": [
                                         {
-                                            "fn": "booleanEquals",
-                                            "argv": [
-                                                true,
+                                            "conditions": [
                                                 {
-                                                    "fn": "getAttr",
+                                                    "fn": "booleanEquals",
                                                     "argv": [
                                                         {
-                                                            "ref": "PartitionResult"
+                                                            "ref": "UseFIPS"
                                                         },
-                                                        "supportsFIPS"
+                                                        true
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [
+                                                        {
+                                                            "fn": "booleanEquals",
+                                                            "argv": [
+                                                                true,
+                                                                {
+                                                                    "fn": "getAttr",
+                                                                    "argv": [
+                                                                        {
+                                                                            "ref": "PartitionResult"
+                                                                        },
+                                                                        "supportsFIPS"
+                                                                    ]
+                                                                }
+                                                            ]
+                                                        }
+                                                    ],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://organizations.us-gov-west-1.amazonaws.com",
+                                                                "properties": {
+                                                                    "authSchemes": [
+                                                                        {
+                                                                            "name": "sigv4",
+                                                                            "signingName": "organizations",
+                                                                            "signingRegion": "us-gov-west-1"
+                                                                        }
+                                                                    ]
+                                                                },
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
                                                     ]
+                                                },
+                                                {
+                                                    "conditions": [],
+                                                    "error": "FIPS is enabled but this partition does not support FIPS",
+                                                    "type": "error"
                                                 }
                                             ]
                                         },
                                         {
-                                            "fn": "booleanEquals",
-                                            "argv": [
-                                                true,
+                                            "conditions": [
                                                 {
-                                                    "fn": "getAttr",
+                                                    "fn": "booleanEquals",
                                                     "argv": [
                                                         {
-                                                            "ref": "PartitionResult"
+                                                            "ref": "UseDualStack"
                                                         },
-                                                        "supportsDualStack"
+                                                        true
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [
+                                                        {
+                                                            "fn": "booleanEquals",
+                                                            "argv": [
+                                                                true,
+                                                                {
+                                                                    "fn": "getAttr",
+                                                                    "argv": [
+                                                                        {
+                                                                            "ref": "PartitionResult"
+                                                                        },
+                                                                        "supportsDualStack"
+                                                                    ]
+                                                                }
+                                                            ]
+                                                        }
+                                                    ],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://organizations.{Region}.api.aws",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
                                                     ]
+                                                },
+                                                {
+                                                    "conditions": [],
+                                                    "error": "DualStack is enabled but this partition does not support DualStack",
+                                                    "type": "error"
                                                 }
                                             ]
-                                        }
-                                    ],
-                                    "type": "tree",
-                                    "rules": [
+                                        },
                                         {
                                             "conditions": [],
                                             "endpoint": {
-                                                "url": "https://organizations-fips.{Region}.api.aws",
+                                                "url": "https://organizations.us-gov-west-1.amazonaws.com",
                                                 "properties": {
                                                     "authSchemes": [
                                                         {
                                                             "name": "sigv4",
-                                                            "signingRegion": "us-gov-west-1",
-                                                            "signingName": "organizations"
+                                                            "signingName": "organizations",
+                                                            "signingRegion": "us-gov-west-1"
                                                         }
                                                     ]
                                                 },
@@ -698,261 +796,257 @@
                                     ]
                                 },
                                 {
-                                    "conditions": [],
-                                    "error": "FIPS and DualStack are enabled, but this partition does not support one or both",
-                                    "type": "error"
-                                }
-                            ]
-                        },
-                        {
-                            "conditions": [
-                                {
-                                    "fn": "booleanEquals",
-                                    "argv": [
+                                    "conditions": [
                                         {
-                                            "ref": "UseFIPS"
+                                            "fn": "booleanEquals",
+                                            "argv": [
+                                                {
+                                                    "ref": "UseFIPS"
+                                                },
+                                                true
+                                            ]
                                         },
-                                        true
-                                    ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
-                                {
-                                    "conditions": [
                                         {
                                             "fn": "booleanEquals",
                                             "argv": [
-                                                true,
                                                 {
-                                                    "fn": "getAttr",
-                                                    "argv": [
-                                                        {
-                                                            "ref": "PartitionResult"
-                                                        },
-                                                        "supportsFIPS"
-                                                    ]
-                                                }
+                                                    "ref": "UseDualStack"
+                                                },
+                                                true
                                             ]
                                         }
                                     ],
                                     "type": "tree",
                                     "rules": [
                                         {
-                                            "conditions": [],
-                                            "endpoint": {
-                                                "url": "https://organizations.us-gov-west-1.amazonaws.com",
-                                                "properties": {
-                                                    "authSchemes": [
+                                            "conditions": [
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
                                                         {
-                                                            "name": "sigv4",
-                                                            "signingRegion": "us-gov-west-1",
-                                                            "signingName": "organizations"
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsFIPS"
+                                                            ]
                                                         }
                                                     ]
                                                 },
-                                                "headers": {}
-                                            },
-                                            "type": "endpoint"
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsDualStack"
+                                                            ]
+                                                        }
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://organizations-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
+                                                    ]
+                                                }
+                                            ]
+                                        },
+                                        {
+                                            "conditions": [],
+                                            "error": "FIPS and DualStack are enabled, but this partition does not support one or both",
+                                            "type": "error"
                                         }
                                     ]
                                 },
-                                {
-                                    "conditions": [],
-                                    "error": "FIPS is enabled but this partition does not support FIPS",
-                                    "type": "error"
-                                }
-                            ]
-                        },
-                        {
-                            "conditions": [
-                                {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        {
-                                            "ref": "UseDualStack"
-                                        },
-                                        true
-                                    ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
                                 {
                                     "conditions": [
                                         {
                                             "fn": "booleanEquals",
                                             "argv": [
-                                                true,
                                                 {
-                                                    "fn": "getAttr",
-                                                    "argv": [
-                                                        {
-                                                            "ref": "PartitionResult"
-                                                        },
-                                                        "supportsDualStack"
-                                                    ]
-                                                }
+                                                    "ref": "UseFIPS"
+                                                },
+                                                true
                                             ]
                                         }
                                     ],
                                     "type": "tree",
                                     "rules": [
                                         {
-                                            "conditions": [],
-                                            "endpoint": {
-                                                "url": "https://organizations.{Region}.api.aws",
-                                                "properties": {
-                                                    "authSchemes": [
+                                            "conditions": [
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
                                                         {
-                                                            "name": "sigv4",
-                                                            "signingRegion": "us-gov-west-1",
-                                                            "signingName": "organizations"
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsFIPS"
+                                                            ]
                                                         }
                                                     ]
-                                                },
-                                                "headers": {}
-                                            },
-                                            "type": "endpoint"
-                                        }
-                                    ]
-                                },
-                                {
-                                    "conditions": [],
-                                    "error": "DualStack is enabled but this partition does not support DualStack",
-                                    "type": "error"
-                                }
-                            ]
-                        },
-                        {
-                            "conditions": [],
-                            "endpoint": {
-                                "url": "https://organizations.us-gov-west-1.amazonaws.com",
-                                "properties": {
-                                    "authSchemes": [
-                                        {
-                                            "name": "sigv4",
-                                            "signingRegion": "us-gov-west-1",
-                                            "signingName": "organizations"
-                                        }
-                                    ]
-                                },
-                                "headers": {}
-                            },
-                            "type": "endpoint"
-                        }
-                    ]
-                },
-                {
-                    "conditions": [
-                        {
-                            "fn": "booleanEquals",
-                            "argv": [
-                                {
-                                    "ref": "UseFIPS"
-                                },
-                                true
-                            ]
-                        },
-                        {
-                            "fn": "booleanEquals",
-                            "argv": [
-                                {
-                                    "ref": "UseDualStack"
-                                },
-                                true
-                            ]
-                        }
-                    ],
-                    "type": "tree",
-                    "rules": [
-                        {
-                            "conditions": [
-                                {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        true,
-                                        {
-                                            "fn": "getAttr",
-                                            "argv": [
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
                                                 {
-                                                    "ref": "PartitionResult"
-                                                },
-                                                "supportsFIPS"
+                                                    "conditions": [],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [
+                                                                {
+                                                                    "fn": "stringEquals",
+                                                                    "argv": [
+                                                                        {
+                                                                            "ref": "Region"
+                                                                        },
+                                                                        "aws-global"
+                                                                    ]
+                                                                }
+                                                            ],
+                                                            "endpoint": {
+                                                                "url": "https://organizations-fips.us-east-1.amazonaws.com",
+                                                                "properties": {
+                                                                    "authSchemes": [
+                                                                        {
+                                                                            "name": "sigv4",
+                                                                            "signingName": "organizations",
+                                                                            "signingRegion": "us-east-1"
+                                                                        }
+                                                                    ]
+                                                                },
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        },
+                                                        {
+                                                            "conditions": [
+                                                                {
+                                                                    "fn": "stringEquals",
+                                                                    "argv": [
+                                                                        {
+                                                                            "ref": "Region"
+                                                                        },
+                                                                        "aws-us-gov-global"
+                                                                    ]
+                                                                }
+                                                            ],
+                                                            "endpoint": {
+                                                                "url": "https://organizations.us-gov-west-1.amazonaws.com",
+                                                                "properties": {
+                                                                    "authSchemes": [
+                                                                        {
+                                                                            "name": "sigv4",
+                                                                            "signingName": "organizations",
+                                                                            "signingRegion": "us-gov-west-1"
+                                                                        }
+                                                                    ]
+                                                                },
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        },
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://organizations-fips.{Region}.{PartitionResult#dnsSuffix}",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
+                                                    ]
+                                                }
                                             ]
+                                        },
+                                        {
+                                            "conditions": [],
+                                            "error": "FIPS is enabled but this partition does not support FIPS",
+                                            "type": "error"
                                         }
                                     ]
                                 },
                                 {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        true,
+                                    "conditions": [
                                         {
-                                            "fn": "getAttr",
+                                            "fn": "booleanEquals",
                                             "argv": [
                                                 {
-                                                    "ref": "PartitionResult"
+                                                    "ref": "UseDualStack"
                                                 },
-                                                "supportsDualStack"
+                                                true
                                             ]
                                         }
-                                    ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
-                                {
-                                    "conditions": [],
-                                    "endpoint": {
-                                        "url": "https://organizations-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
-                                        "properties": {},
-                                        "headers": {}
-                                    },
-                                    "type": "endpoint"
-                                }
-                            ]
-                        },
-                        {
-                            "conditions": [],
-                            "error": "FIPS and DualStack are enabled, but this partition does not support one or both",
-                            "type": "error"
-                        }
-                    ]
-                },
-                {
-                    "conditions": [
-                        {
-                            "fn": "booleanEquals",
-                            "argv": [
-                                {
-                                    "ref": "UseFIPS"
-                                },
-                                true
-                            ]
-                        }
-                    ],
-                    "type": "tree",
-                    "rules": [
-                        {
-                            "conditions": [
-                                {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        true,
+                                    ],
+                                    "type": "tree",
+                                    "rules": [
                                         {
-                                            "fn": "getAttr",
-                                            "argv": [
+                                            "conditions": [
                                                 {
-                                                    "ref": "PartitionResult"
-                                                },
-                                                "supportsFIPS"
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsDualStack"
+                                                            ]
+                                                        }
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://organizations.{Region}.{PartitionResult#dualStackDnsSuffix}",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
+                                                    ]
+                                                }
                                             ]
+                                        },
+                                        {
+                                            "conditions": [],
+                                            "error": "DualStack is enabled but this partition does not support DualStack",
+                                            "type": "error"
                                         }
                                     ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
+                                },
                                 {
                                     "conditions": [],
                                     "type": "tree",
@@ -970,8 +1064,43 @@
                                                 }
                                             ],
                                             "endpoint": {
-                                                "url": "https://organizations-fips.us-east-1.amazonaws.com",
-                                                "properties": {},
+                                                "url": "https://organizations.us-east-1.amazonaws.com",
+                                                "properties": {
+                                                    "authSchemes": [
+                                                        {
+                                                            "name": "sigv4",
+                                                            "signingName": "organizations",
+                                                            "signingRegion": "us-east-1"
+                                                        }
+                                                    ]
+                                                },
+                                                "headers": {}
+                                            },
+                                            "type": "endpoint"
+                                        },
+                                        {
+                                            "conditions": [
+                                                {
+                                                    "fn": "stringEquals",
+                                                    "argv": [
+                                                        {
+                                                            "ref": "Region"
+                                                        },
+                                                        "aws-cn-global"
+                                                    ]
+                                                }
+                                            ],
+                                            "endpoint": {
+                                                "url": "https://organizations.cn-northwest-1.amazonaws.com.cn",
+                                                "properties": {
+                                                    "authSchemes": [
+                                                        {
+                                                            "name": "sigv4",
+                                                            "signingName": "organizations",
+                                                            "signingRegion": "cn-northwest-1"
+                                                        }
+                                                    ]
+                                                },
                                                 "headers": {}
                                             },
                                             "type": "endpoint"
@@ -990,7 +1119,15 @@
                                             ],
                                             "endpoint": {
                                                 "url": "https://organizations.us-gov-west-1.amazonaws.com",
-                                                "properties": {},
+                                                "properties": {
+                                                    "authSchemes": [
+                                                        {
+                                                            "name": "sigv4",
+                                                            "signingName": "organizations",
+                                                            "signingRegion": "us-gov-west-1"
+                                                        }
+                                                    ]
+                                                },
                                                 "headers": {}
                                             },
                                             "type": "endpoint"
@@ -998,7 +1135,7 @@
                                         {
                                             "conditions": [],
                                             "endpoint": {
-                                                "url": "https://organizations-fips.{Region}.{PartitionResult#dnsSuffix}",
+                                                "url": "https://organizations.{Region}.{PartitionResult#dnsSuffix}",
                                                 "properties": {},
                                                 "headers": {}
                                             },
@@ -1007,161 +1144,13 @@
                                     ]
                                 }
                             ]
-                        },
-                        {
-                            "conditions": [],
-                            "error": "FIPS is enabled but this partition does not support FIPS",
-                            "type": "error"
-                        }
-                    ]
-                },
-                {
-                    "conditions": [
-                        {
-                            "fn": "booleanEquals",
-                            "argv": [
-                                {
-                                    "ref": "UseDualStack"
-                                },
-                                true
-                            ]
-                        }
-                    ],
-                    "type": "tree",
-                    "rules": [
-                        {
-                            "conditions": [
-                                {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        true,
-                                        {
-                                            "fn": "getAttr",
-                                            "argv": [
-                                                {
-                                                    "ref": "PartitionResult"
-                                                },
-                                                "supportsDualStack"
-                                            ]
-                                        }
-                                    ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
-                                {
-                                    "conditions": [],
-                                    "endpoint": {
-                                        "url": "https://organizations.{Region}.{PartitionResult#dualStackDnsSuffix}",
-                                        "properties": {},
-                                        "headers": {}
-                                    },
-                                    "type": "endpoint"
-                                }
-                            ]
-                        },
-                        {
-                            "conditions": [],
-                            "error": "DualStack is enabled but this partition does not support DualStack",
-                            "type": "error"
                         }
                     ]
                 },
                 {
                     "conditions": [],
-                    "type": "tree",
-                    "rules": [
-                        {
-                            "conditions": [
-                                {
-                                    "fn": "stringEquals",
-                                    "argv": [
-                                        {
-                                            "ref": "Region"
-                                        },
-                                        "aws-global"
-                                    ]
-                                }
-                            ],
-                            "endpoint": {
-                                "url": "https://organizations.us-east-1.amazonaws.com",
-                                "properties": {
-                                    "authSchemes": [
-                                        {
-                                            "name": "sigv4",
-                                            "signingRegion": "us-east-1",
-                                            "signingName": "organizations"
-                                        }
-                                    ]
-                                },
-                                "headers": {}
-                            },
-                            "type": "endpoint"
-                        },
-                        {
-                            "conditions": [
-                                {
-                                    "fn": "stringEquals",
-                                    "argv": [
-                                        {
-                                            "ref": "Region"
-                                        },
-                                        "aws-cn-global"
-                                    ]
-                                }
-                            ],
-                            "endpoint": {
-                                "url": "https://organizations.cn-northwest-1.amazonaws.com.cn",
-                                "properties": {
-                                    "authSchemes": [
-                                        {
-                                            "name": "sigv4",
-                                            "signingRegion": "cn-northwest-1",
-                                            "signingName": "organizations"
-                                        }
-                                    ]
-                                },
-                                "headers": {}
-                            },
-                            "type": "endpoint"
-                        },
-                        {
-                            "conditions": [
-                                {
-                                    "fn": "stringEquals",
-                                    "argv": [
-                                        {
-                                            "ref": "Region"
-                                        },
-                                        "aws-us-gov-global"
-                                    ]
-                                }
-                            ],
-                            "endpoint": {
-                                "url": "https://organizations.us-gov-west-1.amazonaws.com",
-                                "properties": {
-                                    "authSchemes": [
-                                        {
-                                            "name": "sigv4",
-                                            "signingRegion": "us-gov-west-1",
-                                            "signingName": "organizations"
-                                        }
-                                    ]
-                                },
-                                "headers": {}
-                            },
-                            "type": "endpoint"
-                        },
-                        {
-                            "conditions": [],
-                            "endpoint": {
-                                "url": "https://organizations.{Region}.{PartitionResult#dnsSuffix}",
-                                "properties": {},
-                                "headers": {}
-                            },
-                            "type": "endpoint"
-                        }
-                    ]
+                    "error": "Invalid Configuration: Missing Region",
+                    "type": "error"
                 }
             ]
         }
diff --git a/models/apis/organizations/2016-11-28/endpoint-tests-1.json b/models/apis/organizations/2016-11-28/endpoint-tests-1.json
index e85dca79769..9f0b8e8ae1d 100644
--- a/models/apis/organizations/2016-11-28/endpoint-tests-1.json
+++ b/models/apis/organizations/2016-11-28/endpoint-tests-1.json
@@ -1,5 +1,119 @@
 {
     "testCases": [
+        {
+            "documentation": "For region aws-global with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "properties": {
+                        "authSchemes": [
+                            {
+                                "name": "sigv4",
+                                "signingName": "organizations",
+                                "signingRegion": "us-east-1"
+                            }
+                        ]
+                    },
+                    "url": "https://organizations.us-east-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "UseDualStack": false,
+                "UseFIPS": false,
+                "Region": "aws-global"
+            }
+        },
+        {
+            "documentation": "For region aws-global with FIPS enabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "properties": {
+                        "authSchemes": [
+                            {
+                                "name": "sigv4",
+                                "signingName": "organizations",
+                                "signingRegion": "us-east-1"
+                            }
+                        ]
+                    },
+                    "url": "https://organizations-fips.us-east-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "UseDualStack": false,
+                "UseFIPS": true,
+                "Region": "aws-global"
+            }
+        },
+        {
+            "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://organizations-fips.us-east-1.api.aws"
+                }
+            },
+            "params": {
+                "UseDualStack": true,
+                "UseFIPS": true,
+                "Region": "us-east-1"
+            }
+        },
+        {
+            "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "properties": {
+                        "authSchemes": [
+                            {
+                                "name": "sigv4",
+                                "signingName": "organizations",
+                                "signingRegion": "us-east-1"
+                            }
+                        ]
+                    },
+                    "url": "https://organizations-fips.us-east-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "UseDualStack": false,
+                "UseFIPS": true,
+                "Region": "us-east-1"
+            }
+        },
+        {
+            "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://organizations.us-east-1.api.aws"
+                }
+            },
+            "params": {
+                "UseDualStack": true,
+                "UseFIPS": false,
+                "Region": "us-east-1"
+            }
+        },
+        {
+            "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "properties": {
+                        "authSchemes": [
+                            {
+                                "name": "sigv4",
+                                "signingName": "organizations",
+                                "signingRegion": "us-east-1"
+                            }
+                        ]
+                    },
+                    "url": "https://organizations.us-east-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "UseDualStack": false,
+                "UseFIPS": false,
+                "Region": "us-east-1"
+            }
+        },
         {
             "documentation": "For region aws-cn-global with FIPS disabled and DualStack disabled",
             "expect": {
@@ -17,13 +131,52 @@
                 }
             },
             "params": {
-                "Region": "aws-cn-global",
+                "UseDualStack": false,
                 "UseFIPS": false,
-                "UseDualStack": false
+                "Region": "aws-cn-global"
             }
         },
         {
-            "documentation": "For region aws-global with FIPS disabled and DualStack disabled",
+            "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://organizations-fips.cn-north-1.api.amazonwebservices.com.cn"
+                }
+            },
+            "params": {
+                "UseDualStack": true,
+                "UseFIPS": true,
+                "Region": "cn-north-1"
+            }
+        },
+        {
+            "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://organizations-fips.cn-north-1.amazonaws.com.cn"
+                }
+            },
+            "params": {
+                "UseDualStack": false,
+                "UseFIPS": true,
+                "Region": "cn-north-1"
+            }
+        },
+        {
+            "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://organizations.cn-north-1.api.amazonwebservices.com.cn"
+                }
+            },
+            "params": {
+                "UseDualStack": true,
+                "UseFIPS": false,
+                "Region": "cn-north-1"
+            }
+        },
+        {
+            "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled",
             "expect": {
                 "endpoint": {
                     "properties": {
@@ -31,17 +184,17 @@
                             {
                                 "name": "sigv4",
                                 "signingName": "organizations",
-                                "signingRegion": "us-east-1"
+                                "signingRegion": "cn-northwest-1"
                             }
                         ]
                     },
-                    "url": "https://organizations.us-east-1.amazonaws.com"
+                    "url": "https://organizations.cn-northwest-1.amazonaws.com.cn"
                 }
             },
             "params": {
-                "Region": "aws-global",
+                "UseDualStack": false,
                 "UseFIPS": false,
-                "UseDualStack": false
+                "Region": "cn-north-1"
             }
         },
         {
@@ -61,22 +214,179 @@
                 }
             },
             "params": {
-                "Region": "aws-us-gov-global",
+                "UseDualStack": false,
                 "UseFIPS": false,
-                "UseDualStack": false
+                "Region": "aws-us-gov-global"
             }
         },
         {
-            "documentation": "For custom endpoint with fips disabled and dualstack disabled",
+            "documentation": "For region aws-us-gov-global with FIPS enabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "properties": {
+                        "authSchemes": [
+                            {
+                                "name": "sigv4",
+                                "signingName": "organizations",
+                                "signingRegion": "us-gov-west-1"
+                            }
+                        ]
+                    },
+                    "url": "https://organizations.us-gov-west-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "UseDualStack": false,
+                "UseFIPS": true,
+                "Region": "aws-us-gov-global"
+            }
+        },
+        {
+            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://organizations-fips.us-gov-east-1.api.aws"
+                }
+            },
+            "params": {
+                "UseDualStack": true,
+                "UseFIPS": true,
+                "Region": "us-gov-east-1"
+            }
+        },
+        {
+            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "properties": {
+                        "authSchemes": [
+                            {
+                                "name": "sigv4",
+                                "signingName": "organizations",
+                                "signingRegion": "us-gov-west-1"
+                            }
+                        ]
+                    },
+                    "url": "https://organizations.us-gov-west-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "UseDualStack": false,
+                "UseFIPS": true,
+                "Region": "us-gov-east-1"
+            }
+        },
+        {
+            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://organizations.us-gov-east-1.api.aws"
+                }
+            },
+            "params": {
+                "UseDualStack": true,
+                "UseFIPS": false,
+                "Region": "us-gov-east-1"
+            }
+        },
+        {
+            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "properties": {
+                        "authSchemes": [
+                            {
+                                "name": "sigv4",
+                                "signingName": "organizations",
+                                "signingRegion": "us-gov-west-1"
+                            }
+                        ]
+                    },
+                    "url": "https://organizations.us-gov-west-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "UseDualStack": false,
+                "UseFIPS": false,
+                "Region": "us-gov-east-1"
+            }
+        },
+        {
+            "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://organizations-fips.us-iso-east-1.c2s.ic.gov"
+                }
+            },
+            "params": {
+                "UseDualStack": false,
+                "UseFIPS": true,
+                "Region": "us-iso-east-1"
+            }
+        },
+        {
+            "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://organizations.us-iso-east-1.c2s.ic.gov"
+                }
+            },
+            "params": {
+                "UseDualStack": false,
+                "UseFIPS": false,
+                "Region": "us-iso-east-1"
+            }
+        },
+        {
+            "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://organizations-fips.us-isob-east-1.sc2s.sgov.gov"
+                }
+            },
+            "params": {
+                "UseDualStack": false,
+                "UseFIPS": true,
+                "Region": "us-isob-east-1"
+            }
+        },
+        {
+            "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://organizations.us-isob-east-1.sc2s.sgov.gov"
+                }
+            },
+            "params": {
+                "UseDualStack": false,
+                "UseFIPS": false,
+                "Region": "us-isob-east-1"
+            }
+        },
+        {
+            "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled",
             "expect": {
                 "endpoint": {
                     "url": "https://example.com"
                 }
             },
             "params": {
-                "Region": "us-east-1",
+                "UseDualStack": false,
                 "UseFIPS": false,
+                "Region": "us-east-1",
+                "Endpoint": "https://example.com"
+            }
+        },
+        {
+            "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://example.com"
+                }
+            },
+            "params": {
                 "UseDualStack": false,
+                "UseFIPS": false,
                 "Endpoint": "https://example.com"
             }
         },
@@ -86,9 +396,9 @@
                 "error": "Invalid Configuration: FIPS and custom endpoint are not supported"
             },
             "params": {
-                "Region": "us-east-1",
-                "UseFIPS": true,
                 "UseDualStack": false,
+                "UseFIPS": true,
+                "Region": "us-east-1",
                 "Endpoint": "https://example.com"
             }
         },
@@ -98,9 +408,9 @@
                 "error": "Invalid Configuration: Dualstack and custom endpoint are not supported"
             },
             "params": {
-                "Region": "us-east-1",
-                "UseFIPS": false,
                 "UseDualStack": true,
+                "UseFIPS": false,
+                "Region": "us-east-1",
                 "Endpoint": "https://example.com"
             }
         }
diff --git a/models/apis/pi/2018-02-27/api-2.json b/models/apis/pi/2018-02-27/api-2.json
index 27979280242..199ffe2e37d 100644
--- a/models/apis/pi/2018-02-27/api-2.json
+++ b/models/apis/pi/2018-02-27/api-2.json
@@ -321,7 +321,8 @@
         "EndTime":{"shape":"ISOTimestamp"},
         "PeriodInSeconds":{"shape":"Integer"},
         "MaxResults":{"shape":"MaxResults"},
-        "NextToken":{"shape":"NextToken"}
+        "NextToken":{"shape":"NextToken"},
+        "PeriodAlignment":{"shape":"PeriodAlignment"}
       }
     },
     "GetResourceMetricsResponse":{
@@ -474,6 +475,13 @@
       },
       "exception":true
     },
+    "PeriodAlignment":{
+      "type":"string",
+      "enum":[
+        "END_TIME",
+        "START_TIME"
+      ]
+    },
     "RequestString":{
       "type":"string",
       "max":256,
diff --git a/models/apis/pi/2018-02-27/docs-2.json b/models/apis/pi/2018-02-27/docs-2.json
index 823f616d41b..328bb1c5fd5 100644
--- a/models/apis/pi/2018-02-27/docs-2.json
+++ b/models/apis/pi/2018-02-27/docs-2.json
@@ -336,6 +336,12 @@
       "refs": {
       }
     },
+    "PeriodAlignment": {
+      "base": null,
+      "refs": {
+        "GetResourceMetricsRequest$PeriodAlignment": "<p>The returned timestamp which is the start or end time of the time periods. The default value is <code>END_TIME</code>.</p>"
+      }
+    },
     "RequestString": {
       "base": null,
       "refs": {
diff --git a/models/apis/pi/2018-02-27/endpoint-rule-set-1.json b/models/apis/pi/2018-02-27/endpoint-rule-set-1.json
new file mode 100644
index 00000000000..ca59653fa9b
--- /dev/null
+++ b/models/apis/pi/2018-02-27/endpoint-rule-set-1.json
@@ -0,0 +1,350 @@
+{
+    "version": "1.0",
+    "parameters": {
+        "Region": {
+            "builtIn": "AWS::Region",
+            "required": false,
+            "documentation": "The AWS region used to dispatch the request.",
+            "type": "String"
+        },
+        "UseDualStack": {
+            "builtIn": "AWS::UseDualStack",
+            "required": true,
+            "default": false,
+            "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.",
+            "type": "Boolean"
+        },
+        "UseFIPS": {
+            "builtIn": "AWS::UseFIPS",
+            "required": true,
+            "default": false,
+            "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.",
+            "type": "Boolean"
+        },
+        "Endpoint": {
+            "builtIn": "SDK::Endpoint",
+            "required": false,
+            "documentation": "Override the endpoint used to send this request",
+            "type": "String"
+        }
+    },
+    "rules": [
+        {
+            "conditions": [
+                {
+                    "fn": "isSet",
+                    "argv": [
+                        {
+                            "ref": "Endpoint"
+                        }
+                    ]
+                }
+            ],
+            "type": "tree",
+            "rules": [
+                {
+                    "conditions": [
+                        {
+                            "fn": "booleanEquals",
+                            "argv": [
+                                {
+                                    "ref": "UseFIPS"
+                                },
+                                true
+                            ]
+                        }
+                    ],
+                    "error": "Invalid Configuration: FIPS and custom endpoint are not supported",
+                    "type": "error"
+                },
+                {
+                    "conditions": [],
+                    "type": "tree",
+                    "rules": [
+                        {
+                            "conditions": [
+                                {
+                                    "fn": "booleanEquals",
+                                    "argv": [
+                                        {
+                                            "ref": "UseDualStack"
+                                        },
+                                        true
+                                    ]
+                                }
+                            ],
+                            "error": "Invalid Configuration: Dualstack and custom endpoint are not supported",
+                            "type": "error"
+                        },
+                        {
+                            "conditions": [],
+                            "endpoint": {
+                                "url": {
+                                    "ref": "Endpoint"
+                                },
+                                "properties": {},
+                                "headers": {}
+                            },
+                            "type": "endpoint"
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "conditions": [],
+            "type": "tree",
+            "rules": [
+                {
+                    "conditions": [
+                        {
+                            "fn": "isSet",
+                            "argv": [
+                                {
+                                    "ref": "Region"
+                                }
+                            ]
+                        }
+                    ],
+                    "type": "tree",
+                    "rules": [
+                        {
+                            "conditions": [
+                                {
+                                    "fn": "aws.partition",
+                                    "argv": [
+                                        {
+                                            "ref": "Region"
+                                        }
+                                    ],
+                                    "assign": "PartitionResult"
+                                }
+                            ],
+                            "type": "tree",
+                            "rules": [
+                                {
+                                    "conditions": [
+                                        {
+                                            "fn": "booleanEquals",
+                                            "argv": [
+                                                {
+                                                    "ref": "UseFIPS"
+                                                },
+                                                true
+                                            ]
+                                        },
+                                        {
+                                            "fn": "booleanEquals",
+                                            "argv": [
+                                                {
+                                                    "ref": "UseDualStack"
+                                                },
+                                                true
+                                            ]
+                                        }
+                                    ],
+                                    "type": "tree",
+                                    "rules": [
+                                        {
+                                            "conditions": [
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsFIPS"
+                                                            ]
+                                                        }
+                                                    ]
+                                                },
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsDualStack"
+                                                            ]
+                                                        }
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://pi-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
+                                                    ]
+                                                }
+                                            ]
+                                        },
+                                        {
+                                            "conditions": [],
+                                            "error": "FIPS and DualStack are enabled, but this partition does not support one or both",
+                                            "type": "error"
+                                        }
+                                    ]
+                                },
+                                {
+                                    "conditions": [
+                                        {
+                                            "fn": "booleanEquals",
+                                            "argv": [
+                                                {
+                                                    "ref": "UseFIPS"
+                                                },
+                                                true
+                                            ]
+                                        }
+                                    ],
+                                    "type": "tree",
+                                    "rules": [
+                                        {
+                                            "conditions": [
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsFIPS"
+                                                            ]
+                                                        }
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://pi-fips.{Region}.{PartitionResult#dnsSuffix}",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
+                                                    ]
+                                                }
+                                            ]
+                                        },
+                                        {
+                                            "conditions": [],
+                                            "error": "FIPS is enabled but this partition does not support FIPS",
+                                            "type": "error"
+                                        }
+                                    ]
+                                },
+                                {
+                                    "conditions": [
+                                        {
+                                            "fn": "booleanEquals",
+                                            "argv": [
+                                                {
+                                                    "ref": "UseDualStack"
+                                                },
+                                                true
+                                            ]
+                                        }
+                                    ],
+                                    "type": "tree",
+                                    "rules": [
+                                        {
+                                            "conditions": [
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsDualStack"
+                                                            ]
+                                                        }
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://pi.{Region}.{PartitionResult#dualStackDnsSuffix}",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
+                                                    ]
+                                                }
+                                            ]
+                                        },
+                                        {
+                                            "conditions": [],
+                                            "error": "DualStack is enabled but this partition does not support DualStack",
+                                            "type": "error"
+                                        }
+                                    ]
+                                },
+                                {
+                                    "conditions": [],
+                                    "type": "tree",
+                                    "rules": [
+                                        {
+                                            "conditions": [],
+                                            "endpoint": {
+                                                "url": "https://pi.{Region}.{PartitionResult#dnsSuffix}",
+                                                "properties": {},
+                                                "headers": {}
+                                            },
+                                            "type": "endpoint"
+                                        }
+                                    ]
+                                }
+                            ]
+                        }
+                    ]
+                },
+                {
+                    "conditions": [],
+                    "error": "Invalid Configuration: Missing Region",
+                    "type": "error"
+                }
+            ]
+        }
+    ]
+}
\ No newline at end of file
diff --git a/models/apis/pi/2018-02-27/endpoint-tests-1.json b/models/apis/pi/2018-02-27/endpoint-tests-1.json
new file mode 100644
index 00000000000..a720fcbb69a
--- /dev/null
+++ b/models/apis/pi/2018-02-27/endpoint-tests-1.json
@@ -0,0 +1,537 @@
+{
+    "testCases": [
+        {
+            "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.af-south-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "af-south-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.ap-east-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "ap-east-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.ap-northeast-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "ap-northeast-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.ap-northeast-2.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "ap-northeast-2",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.ap-northeast-3.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "ap-northeast-3",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.ap-south-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "ap-south-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.ap-southeast-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "ap-southeast-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.ap-southeast-2.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "ap-southeast-2",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.ca-central-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "ca-central-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.eu-central-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "eu-central-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.eu-north-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "eu-north-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.eu-south-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "eu-south-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.eu-west-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "eu-west-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.eu-west-2.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "eu-west-2",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.eu-west-3.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "eu-west-3",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.me-south-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "me-south-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.sa-east-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "sa-east-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.us-east-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "us-east-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.us-east-2.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "us-east-2",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.us-west-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "us-west-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.us-west-2.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "us-west-2",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi-fips.us-east-1.api.aws"
+                }
+            },
+            "params": {
+                "Region": "us-east-1",
+                "UseFIPS": true,
+                "UseDualStack": true
+            }
+        },
+        {
+            "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi-fips.us-east-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "us-east-1",
+                "UseFIPS": true,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.us-east-1.api.aws"
+                }
+            },
+            "params": {
+                "Region": "us-east-1",
+                "UseFIPS": false,
+                "UseDualStack": true
+            }
+        },
+        {
+            "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.cn-north-1.amazonaws.com.cn"
+                }
+            },
+            "params": {
+                "Region": "cn-north-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.cn-northwest-1.amazonaws.com.cn"
+                }
+            },
+            "params": {
+                "Region": "cn-northwest-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi-fips.cn-north-1.api.amazonwebservices.com.cn"
+                }
+            },
+            "params": {
+                "Region": "cn-north-1",
+                "UseFIPS": true,
+                "UseDualStack": true
+            }
+        },
+        {
+            "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi-fips.cn-north-1.amazonaws.com.cn"
+                }
+            },
+            "params": {
+                "Region": "cn-north-1",
+                "UseFIPS": true,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.cn-north-1.api.amazonwebservices.com.cn"
+                }
+            },
+            "params": {
+                "Region": "cn-north-1",
+                "UseFIPS": false,
+                "UseDualStack": true
+            }
+        },
+        {
+            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi-fips.us-gov-east-1.api.aws"
+                }
+            },
+            "params": {
+                "Region": "us-gov-east-1",
+                "UseFIPS": true,
+                "UseDualStack": true
+            }
+        },
+        {
+            "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi-fips.us-gov-east-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "us-gov-east-1",
+                "UseFIPS": true,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.us-gov-east-1.api.aws"
+                }
+            },
+            "params": {
+                "Region": "us-gov-east-1",
+                "UseFIPS": false,
+                "UseDualStack": true
+            }
+        },
+        {
+            "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.us-gov-east-1.amazonaws.com"
+                }
+            },
+            "params": {
+                "Region": "us-gov-east-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi-fips.us-iso-east-1.c2s.ic.gov"
+                }
+            },
+            "params": {
+                "Region": "us-iso-east-1",
+                "UseFIPS": true,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.us-iso-east-1.c2s.ic.gov"
+                }
+            },
+            "params": {
+                "Region": "us-iso-east-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi-fips.us-isob-east-1.sc2s.sgov.gov"
+                }
+            },
+            "params": {
+                "Region": "us-isob-east-1",
+                "UseFIPS": true,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://pi.us-isob-east-1.sc2s.sgov.gov"
+                }
+            },
+            "params": {
+                "Region": "us-isob-east-1",
+                "UseFIPS": false,
+                "UseDualStack": false
+            }
+        },
+        {
+            "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://example.com"
+                }
+            },
+            "params": {
+                "Region": "us-east-1",
+                "UseFIPS": false,
+                "UseDualStack": false,
+                "Endpoint": "https://example.com"
+            }
+        },
+        {
+            "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled",
+            "expect": {
+                "endpoint": {
+                    "url": "https://example.com"
+                }
+            },
+            "params": {
+                "UseFIPS": false,
+                "UseDualStack": false,
+                "Endpoint": "https://example.com"
+            }
+        },
+        {
+            "documentation": "For custom endpoint with fips enabled and dualstack disabled",
+            "expect": {
+                "error": "Invalid Configuration: FIPS and custom endpoint are not supported"
+            },
+            "params": {
+                "Region": "us-east-1",
+                "UseFIPS": true,
+                "UseDualStack": false,
+                "Endpoint": "https://example.com"
+            }
+        },
+        {
+            "documentation": "For custom endpoint with fips disabled and dualstack enabled",
+            "expect": {
+                "error": "Invalid Configuration: Dualstack and custom endpoint are not supported"
+            },
+            "params": {
+                "Region": "us-east-1",
+                "UseFIPS": false,
+                "UseDualStack": true,
+                "Endpoint": "https://example.com"
+            }
+        }
+    ],
+    "version": "1.0"
+}
\ No newline at end of file
diff --git a/models/apis/pipes/2015-10-07/api-2.json b/models/apis/pipes/2015-10-07/api-2.json
index d198a43d783..65206bf1789 100644
--- a/models/apis/pipes/2015-10-07/api-2.json
+++ b/models/apis/pipes/2015-10-07/api-2.json
@@ -191,7 +191,7 @@
       "type":"string",
       "max":1600,
       "min":1,
-      "pattern":"^arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)|(\\$(\\.[\\w_-]+(\\[(\\d+|\\*)\\])*)*)$"
+      "pattern":"^arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-]+):([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$"
     },
     "ArnOrUrl":{
       "type":"string",
@@ -593,7 +593,7 @@
       "type":"string",
       "max":50,
       "min":1,
-      "pattern":"^[A-Za-z0-9\\-]+[\\.][A-Za-z0-9\\-]+|(\\$(\\.[\\w_-]+(\\[(\\d+|\\*)\\])*)*)$",
+      "pattern":"^[A-Za-z0-9\\-]+[\\.][A-Za-z0-9\\-]+$",
       "sensitive":true
     },
     "EventBridgeEventResourceList":{
@@ -606,7 +606,7 @@
       "type":"string",
       "max":256,
       "min":1,
-      "pattern":"(?=[/\\.\\-_A-Za-z0-9]+)((?!aws\\.).*)|(\\$(\\.[\\w_-]+(\\[(\\d+|\\*)\\])*)*)",
+      "pattern":"(?=[/\\.\\-_A-Za-z0-9]+)((?!aws\\.).*)|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)",
       "sensitive":true
     },
     "EventPattern":{
@@ -637,7 +637,7 @@
       "type":"string",
       "max":512,
       "min":0,
-      "pattern":"^[!#$%&'*+-.^_`|~0-9a-zA-Z]+|(\\$(\\.[\\w_-]+(\\[(\\d+|\\*)\\])*)*)$"
+      "pattern":"^[!#$%&'*+-.^_`|~0-9a-zA-Z]+|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$"
     },
     "HeaderParametersMap":{
       "type":"map",
@@ -648,7 +648,7 @@
       "type":"string",
       "max":512,
       "min":0,
-      "pattern":"^[ \\t]*[\\x20-\\x7E]+([ \\t]+[\\x20-\\x7E]+)*[ \\t]*|(\\$(\\.[\\w_-]+(\\[(\\d+|\\*)\\])*)*)$",
+      "pattern":"^[ \\t]*[\\x20-\\x7E]+([ \\t]+[\\x20-\\x7E]+)*[ \\t]*|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$",
       "sensitive":true
     },
     "InputTemplate":{
@@ -680,7 +680,7 @@
       "type":"string",
       "max":256,
       "min":1,
-      "pattern":"^\\$(\\.[\\w_-]+(\\[(\\d+|\\*)\\])*)*$"
+      "pattern":"^\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*$"
     },
     "KafkaBootstrapServers":{
       "type":"list",
@@ -729,12 +729,6 @@
       "max":100,
       "min":1
     },
-    "LimitMax1000":{
-      "type":"integer",
-      "box":true,
-      "max":1000,
-      "min":1
-    },
     "LimitMax10000":{
       "type":"integer",
       "box":true,
@@ -909,7 +903,7 @@
     },
     "PathParameter":{
       "type":"string",
-      "pattern":"^(?!\\s*$).+|(\\$(\\.[\\w_-]+(\\[(\\d+|\\*)\\])*)*)$",
+      "pattern":"^(?!\\s*$).+|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$",
       "sensitive":true
     },
     "PathParameterList":{
@@ -988,7 +982,7 @@
       "type":"structure",
       "required":["StartingPosition"],
       "members":{
-        "BatchSize":{"shape":"LimitMax1000"},
+        "BatchSize":{"shape":"LimitMax10000"},
         "DeadLetterConfig":{"shape":"DeadLetterConfig"},
         "MaximumBatchingWindowInSeconds":{"shape":"MaximumBatchingWindowInSeconds"},
         "MaximumRecordAgeInSeconds":{"shape":"MaximumRecordAgeInSeconds"},
@@ -1290,7 +1284,7 @@
       "type":"string",
       "max":512,
       "min":0,
-      "pattern":"^[^\\x00-\\x1F\\x7F]+|(\\$(\\.[\\w_-]+(\\[(\\d+|\\*)\\])*)*)$"
+      "pattern":"^[^\\x00-\\x1F\\x7F]+|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$"
     },
     "QueryStringParametersMap":{
       "type":"map",
@@ -1301,7 +1295,7 @@
       "type":"string",
       "max":512,
       "min":0,
-      "pattern":"^[^\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F]+|(\\$(\\.[\\w_-]+(\\[(\\d+|\\*)\\])*)*)$",
+      "pattern":"^[^\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F]+|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$",
       "sensitive":true
     },
     "ReferenceId":{
@@ -1357,7 +1351,7 @@
       "type":"string",
       "max":256,
       "min":1,
-      "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*|(\\$(\\.[\\w_-]+(\\[(\\d+|\\*)\\])*)*)$",
+      "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$",
       "sensitive":true
     },
     "SageMakerPipelineParameterValue":{
@@ -1370,19 +1364,19 @@
       "type":"string",
       "max":1600,
       "min":1,
-      "pattern":"^(^arn:aws([a-z]|\\-)*:secretsmanager:[a-z0-9-.]+:.*)|(\\$(\\.[\\w_-]+(\\[(\\d+|\\*)\\])*)*)$"
+      "pattern":"^(^arn:aws([a-z]|\\-)*:secretsmanager:[a-z0-9-.]+:.*)$"
     },
     "SecretManagerArnOrJsonPath":{
       "type":"string",
       "max":1600,
       "min":1,
-      "pattern":"^(^arn:aws([a-z]|\\-)*:secretsmanager:[a-z0-9-.]+:.*)|(\\$(\\.[\\w_-]+(\\[(\\d+|\\*)\\])*)*)|(\\$(\\.[\\w_-]+(\\[(\\d+|\\*)\\])*)*)$"
+      "pattern":"^(^arn:aws([a-z]|\\-)*:secretsmanager:[a-z0-9-.]+:.*)|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$"
     },
     "SecurityGroup":{
       "type":"string",
       "max":1024,
       "min":1,
-      "pattern":"^sg-[0-9a-zA-Z]*|(\\$(\\.[\\w_-]+(\\[(\\d+|\\*)\\])*)*)$",
+      "pattern":"^sg-[0-9a-zA-Z]*|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$",
       "sensitive":true
     },
     "SecurityGroupId":{
@@ -1520,7 +1514,7 @@
       "type":"string",
       "max":1024,
       "min":1,
-      "pattern":"^subnet-[0-9a-z]*|(\\$(\\.[\\w_-]+(\\[(\\d+|\\*)\\])*)*)$",
+      "pattern":"^subnet-[0-9a-z]*|(\\$(\\.[\\w/_-]+(\\[(\\d+|\\*)\\])*)*)$",
       "sensitive":true
     },
     "SubnetId":{
@@ -1697,7 +1691,7 @@
     "UpdatePipeSourceDynamoDBStreamParameters":{
       "type":"structure",
       "members":{
-        "BatchSize":{"shape":"LimitMax1000"},
+        "BatchSize":{"shape":"LimitMax10000"},
         "DeadLetterConfig":{"shape":"DeadLetterConfig"},
         "MaximumBatchingWindowInSeconds":{"shape":"MaximumBatchingWindowInSeconds"},
         "MaximumRecordAgeInSeconds":{"shape":"MaximumRecordAgeInSeconds"},
diff --git a/models/apis/pipes/2015-10-07/docs-2.json b/models/apis/pipes/2015-10-07/docs-2.json
index a44697248d5..ab357d43ea7 100644
--- a/models/apis/pipes/2015-10-07/docs-2.json
+++ b/models/apis/pipes/2015-10-07/docs-2.json
@@ -11,7 +11,7 @@
     "StopPipe": "<p>Stop an existing pipe.</p>",
     "TagResource": "<p>Assigns one or more tags (key-value pairs) to the specified pipe. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.</p> <p>Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.</p> <p>You can use the <code>TagResource</code> action with a pipe that already has tags. If you specify a new tag key, this tag is appended to the list of tags associated with the pipe. If you specify a tag key that is already associated with the pipe, the new tag value that you specify replaces the previous value for that tag.</p> <p>You can associate as many as 50 tags with a pipe.</p>",
     "UntagResource": "<p>Removes one or more tags from the specified pipes.</p>",
-    "UpdatePipe": "<p>Update an existing pipe. When you call <code>UpdatePipe</code>, only the fields that are included in the request are changed, the rest are unchanged. The exception to this is if you modify any Amazon Web Services-service specific fields in the <code>SourceParameters</code>, <code>EnrichmentParameters</code>, or <code>TargetParameters</code> objects. The fields in these objects are updated atomically as one and override existing values. This is by design and means that if you don't specify an optional field in one of these Parameters objects, that field will be set to its system-default value after the update.</p> <pre><code> &lt;p&gt;For more information about pipes, see &lt;a href=&quot;https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html&quot;&gt; Amazon EventBridge Pipes&lt;/a&gt; in the Amazon EventBridge User Guide.&lt;/p&gt; </code></pre>"
+    "UpdatePipe": "<p>Update an existing pipe. When you call <code>UpdatePipe</code>, only the fields that are included in the request are changed, the rest are unchanged. The exception to this is if you modify any Amazon Web Services-service specific fields in the <code>SourceParameters</code>, <code>EnrichmentParameters</code>, or <code>TargetParameters</code> objects. The fields in these objects are updated atomically as one and override existing values. This is by design and means that if you don't specify an optional field in one of these Parameters objects, that field will be set to its system-default value after the update.</p> <p>For more information about pipes, see <a href=\"https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html\"> Amazon EventBridge Pipes</a> in the Amazon EventBridge User Guide.</p>"
   },
   "shapes": {
     "Arn": {
@@ -484,23 +484,18 @@
         "ListPipesRequest$Limit": "<p>The maximum number of pipes to include in the response.</p>"
       }
     },
-    "LimitMax1000": {
-      "base": null,
-      "refs": {
-        "PipeSourceDynamoDBStreamParameters$BatchSize": "<p>The maximum number of records to include in each batch.</p>",
-        "UpdatePipeSourceDynamoDBStreamParameters$BatchSize": "<p>The maximum number of records to include in each batch.</p>"
-      }
-    },
     "LimitMax10000": {
       "base": null,
       "refs": {
         "PipeSourceActiveMQBrokerParameters$BatchSize": "<p>The maximum number of records to include in each batch.</p>",
+        "PipeSourceDynamoDBStreamParameters$BatchSize": "<p>The maximum number of records to include in each batch.</p>",
         "PipeSourceKinesisStreamParameters$BatchSize": "<p>The maximum number of records to include in each batch.</p>",
         "PipeSourceManagedStreamingKafkaParameters$BatchSize": "<p>The maximum number of records to include in each batch.</p>",
         "PipeSourceRabbitMQBrokerParameters$BatchSize": "<p>The maximum number of records to include in each batch.</p>",
         "PipeSourceSelfManagedKafkaParameters$BatchSize": "<p>The maximum number of records to include in each batch.</p>",
         "PipeSourceSqsQueueParameters$BatchSize": "<p>The maximum number of records to include in each batch.</p>",
         "UpdatePipeSourceActiveMQBrokerParameters$BatchSize": "<p>The maximum number of records to include in each batch.</p>",
+        "UpdatePipeSourceDynamoDBStreamParameters$BatchSize": "<p>The maximum number of records to include in each batch.</p>",
         "UpdatePipeSourceKinesisStreamParameters$BatchSize": "<p>The maximum number of records to include in each batch.</p>",
         "UpdatePipeSourceManagedStreamingKafkaParameters$BatchSize": "<p>The maximum number of records to include in each batch.</p>",
         "UpdatePipeSourceRabbitMQBrokerParameters$BatchSize": "<p>The maximum number of records to include in each batch.</p>",
diff --git a/models/apis/pipes/2015-10-07/endpoint-rule-set-1.json b/models/apis/pipes/2015-10-07/endpoint-rule-set-1.json
index 4872229c5cc..29e73f0ed24 100644
--- a/models/apis/pipes/2015-10-07/endpoint-rule-set-1.json
+++ b/models/apis/pipes/2015-10-07/endpoint-rule-set-1.json
@@ -3,7 +3,7 @@
     "parameters": {
         "Region": {
             "builtIn": "AWS::Region",
-            "required": true,
+            "required": false,
             "documentation": "The AWS region used to dispatch the request.",
             "type": "String"
         },
@@ -32,13 +32,12 @@
         {
             "conditions": [
                 {
-                    "fn": "aws.partition",
+                    "fn": "isSet",
                     "argv": [
                         {
-                            "ref": "Region"
+                            "ref": "Endpoint"
                         }
-                    ],
-                    "assign": "PartitionResult"
+                    ]
                 }
             ],
             "type": "tree",
@@ -46,23 +45,20 @@
                 {
                     "conditions": [
                         {
-                            "fn": "isSet",
+                            "fn": "booleanEquals",
                             "argv": [
                                 {
-                                    "ref": "Endpoint"
-                                }
+                                    "ref": "UseFIPS"
+                                },
+                                true
                             ]
-                        },
-                        {
-                            "fn": "parseURL",
-                            "argv": [
-                                {
-                                    "ref": "Endpoint"
-                                }
-                            ],
-                            "assign": "url"
                         }
                     ],
+                    "error": "Invalid Configuration: FIPS and custom endpoint are not supported",
+                    "type": "error"
+                },
+                {
+                    "conditions": [],
                     "type": "tree",
                     "rules": [
                         {
@@ -71,67 +67,42 @@
                                     "fn": "booleanEquals",
                                     "argv": [
                                         {
-                                            "ref": "UseFIPS"
+                                            "ref": "UseDualStack"
                                         },
                                         true
                                     ]
                                 }
                             ],
-                            "error": "Invalid Configuration: FIPS and custom endpoint are not supported",
+                            "error": "Invalid Configuration: Dualstack and custom endpoint are not supported",
                             "type": "error"
                         },
                         {
                             "conditions": [],
-                            "type": "tree",
-                            "rules": [
-                                {
-                                    "conditions": [
-                                        {
-                                            "fn": "booleanEquals",
-                                            "argv": [
-                                                {
-                                                    "ref": "UseDualStack"
-                                                },
-                                                true
-                                            ]
-                                        }
-                                    ],
-                                    "error": "Invalid Configuration: Dualstack and custom endpoint are not supported",
-                                    "type": "error"
+                            "endpoint": {
+                                "url": {
+                                    "ref": "Endpoint"
                                 },
-                                {
-                                    "conditions": [],
-                                    "endpoint": {
-                                        "url": {
-                                            "ref": "Endpoint"
-                                        },
-                                        "properties": {},
-                                        "headers": {}
-                                    },
-                                    "type": "endpoint"
-                                }
-                            ]
+                                "properties": {},
+                                "headers": {}
+                            },
+                            "type": "endpoint"
                         }
                     ]
-                },
+                }
+            ]
+        },
+        {
+            "conditions": [],
+            "type": "tree",
+            "rules": [
                 {
                     "conditions": [
                         {
-                            "fn": "booleanEquals",
-                            "argv": [
-                                {
-                                    "ref": "UseFIPS"
-                                },
-                                true
-                            ]
-                        },
-                        {
-                            "fn": "booleanEquals",
+                            "fn": "isSet",
                             "argv": [
                                 {
-                                    "ref": "UseDualStack"
-                                },
-                                true
+                                    "ref": "Region"
+                                }
                             ]
                         }
                     ],
@@ -140,168 +111,238 @@
                         {
                             "conditions": [
                                 {
-                                    "fn": "booleanEquals",
+                                    "fn": "aws.partition",
                                     "argv": [
-                                        true,
                                         {
-                                            "fn": "getAttr",
+                                            "ref": "Region"
+                                        }
+                                    ],
+                                    "assign": "PartitionResult"
+                                }
+                            ],
+                            "type": "tree",
+                            "rules": [
+                                {
+                                    "conditions": [
+                                        {
+                                            "fn": "booleanEquals",
                                             "argv": [
                                                 {
-                                                    "ref": "PartitionResult"
+                                                    "ref": "UseFIPS"
                                                 },
-                                                "supportsFIPS"
+                                                true
                                             ]
-                                        }
-                                    ]
-                                },
-                                {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        true,
+                                        },
                                         {
-                                            "fn": "getAttr",
+                                            "fn": "booleanEquals",
                                             "argv": [
                                                 {
-                                                    "ref": "PartitionResult"
+                                                    "ref": "UseDualStack"
+                                                },
+                                                true
+                                            ]
+                                        }
+                                    ],
+                                    "type": "tree",
+                                    "rules": [
+                                        {
+                                            "conditions": [
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsFIPS"
+                                                            ]
+                                                        }
+                                                    ]
                                                 },
-                                                "supportsDualStack"
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsDualStack"
+                                                            ]
+                                                        }
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://pipes-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
+                                                    ]
+                                                }
                                             ]
+                                        },
+                                        {
+                                            "conditions": [],
+                                            "error": "FIPS and DualStack are enabled, but this partition does not support one or both",
+                                            "type": "error"
                                         }
                                     ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
-                                {
-                                    "conditions": [],
-                                    "endpoint": {
-                                        "url": "https://pipes-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",
-                                        "properties": {},
-                                        "headers": {}
-                                    },
-                                    "type": "endpoint"
-                                }
-                            ]
-                        },
-                        {
-                            "conditions": [],
-                            "error": "FIPS and DualStack are enabled, but this partition does not support one or both",
-                            "type": "error"
-                        }
-                    ]
-                },
-                {
-                    "conditions": [
-                        {
-                            "fn": "booleanEquals",
-                            "argv": [
-                                {
-                                    "ref": "UseFIPS"
                                 },
-                                true
-                            ]
-                        }
-                    ],
-                    "type": "tree",
-                    "rules": [
-                        {
-                            "conditions": [
                                 {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        true,
+                                    "conditions": [
                                         {
-                                            "fn": "getAttr",
+                                            "fn": "booleanEquals",
                                             "argv": [
                                                 {
-                                                    "ref": "PartitionResult"
+                                                    "ref": "UseFIPS"
                                                 },
-                                                "supportsFIPS"
+                                                true
+                                            ]
+                                        }
+                                    ],
+                                    "type": "tree",
+                                    "rules": [
+                                        {
+                                            "conditions": [
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsFIPS"
+                                                            ]
+                                                        }
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://pipes-fips.{Region}.{PartitionResult#dnsSuffix}",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
+                                                    ]
+                                                }
                                             ]
+                                        },
+                                        {
+                                            "conditions": [],
+                                            "error": "FIPS is enabled but this partition does not support FIPS",
+                                            "type": "error"
                                         }
                                     ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
-                                {
-                                    "conditions": [],
-                                    "endpoint": {
-                                        "url": "https://pipes-fips.{Region}.{PartitionResult#dnsSuffix}",
-                                        "properties": {},
-                                        "headers": {}
-                                    },
-                                    "type": "endpoint"
-                                }
-                            ]
-                        },
-                        {
-                            "conditions": [],
-                            "error": "FIPS is enabled but this partition does not support FIPS",
-                            "type": "error"
-                        }
-                    ]
-                },
-                {
-                    "conditions": [
-                        {
-                            "fn": "booleanEquals",
-                            "argv": [
-                                {
-                                    "ref": "UseDualStack"
                                 },
-                                true
-                            ]
-                        }
-                    ],
-                    "type": "tree",
-                    "rules": [
-                        {
-                            "conditions": [
                                 {
-                                    "fn": "booleanEquals",
-                                    "argv": [
-                                        true,
+                                    "conditions": [
                                         {
-                                            "fn": "getAttr",
+                                            "fn": "booleanEquals",
                                             "argv": [
                                                 {
-                                                    "ref": "PartitionResult"
+                                                    "ref": "UseDualStack"
                                                 },
-                                                "supportsDualStack"
+                                                true
+                                            ]
+                                        }
+                                    ],
+                                    "type": "tree",
+                                    "rules": [
+                                        {
+                                            "conditions": [
+                                                {
+                                                    "fn": "booleanEquals",
+                                                    "argv": [
+                                                        true,
+                                                        {
+                                                            "fn": "getAttr",
+                                                            "argv": [
+                                                                {
+                                                                    "ref": "PartitionResult"
+                                                                },
+                                                                "supportsDualStack"
+                                                            ]
+                                                        }
+                                                    ]
+                                                }
+                                            ],
+                                            "type": "tree",
+                                            "rules": [
+                                                {
+                                                    "conditions": [],
+                                                    "type": "tree",
+                                                    "rules": [
+                                                        {
+                                                            "conditions": [],
+                                                            "endpoint": {
+                                                                "url": "https://pipes.{Region}.{PartitionResult#dualStackDnsSuffix}",
+                                                                "properties": {},
+                                                                "headers": {}
+                                                            },
+                                                            "type": "endpoint"
+                                                        }
+                                                    ]
+                                                }
                                             ]
+                                        },
+                                        {
+                                            "conditions": [],
+                                            "error": "DualStack is enabled but this partition does not support DualStack",
+                                            "type": "error"
                                         }
                                     ]
-                                }
-                            ],
-                            "type": "tree",
-                            "rules": [
+                                },
                                 {
                                     "conditions": [],
-                                    "endpoint": {
-                                        "url": "https://pipes.{Region}.{PartitionResult#dualStackDnsSuffix}",
-                                        "properties": {},
-                                        "headers": {}
-                                    },
-                                    "type": "endpoint"
+                                    "type": "tree",
+                                    "rules": [
+                                        {
+                                            "conditions": [],
+                                            "endpoint": {
+                                                "url": "https://pipes.{Region}.{PartitionResult#dnsSuffix}",
+                                                "properties": {},
+                                                "headers": {}
+                                            },
+                                            "type": "endpoint"
+                                        }
+                                    ]
                                 }
                             ]
-                        },
-                        {
-                            "conditions": [],
-                            "error": "DualStack is enabled but this partition does not support DualStack",
-                            "type": "error"
                         }
                     ]
                 },
                 {
                     "conditions": [],
-                    "endpoint": {
-                        "url": "https://pipes.{Region}.{PartitionResult#dnsSuffix}",
-                        "properties": {},
-                        "headers": {}
-                    },
-                    "type": "endpoint"
+                    "error": "Invalid Configuration: Missing Region",
+                    "type": "error"
                 }
             ]
         }
diff --git a/models/apis/pipes/2015-10-07/endpoint-tests-1.json b/models/apis/pipes/2015-10-07/endpoint-tests-1.json
index 6fbff86af97..a94a4fe7c64 100644
--- a/models/apis/pipes/2015-10-07/endpoint-tests-1.json
+++ b/models/apis/pipes/2015-10-07/endpoint-tests-1.json
@@ -8,9 +8,9 @@
                 }
             },
             "params": {
-                "UseDualStack": true,
                 "UseFIPS": true,
-                "Region": "us-gov-east-1"
+                "Region": "us-gov-east-1",
+                "UseDualStack": true
             }
         },
         {
@@ -21,9 +21,9 @@
                 }
             },
             "params": {
-                "UseDualStack": false,
                 "UseFIPS": true,
-                "Region": "us-gov-east-1"
+                "Region": "us-gov-east-1",
+                "UseDualStack": false
             }
         },
         {
@@ -34,9 +34,9 @@
                 }
             },
             "params": {
-                "UseDualStack": true,
                 "UseFIPS": false,
-                "Region": "us-gov-east-1"
+                "Region": "us-gov-east-1",
+                "UseDualStack": true
             }
         },
         {
@@ -47,9 +47,9 @@
                 }
             },
             "params": {
-                "UseDualStack": false,
                 "UseFIPS": false,
-                "Region": "us-gov-east-1"
+                "Region": "us-gov-east-1",
+                "UseDualStack": false
             }
         },
         {
@@ -60,9 +60,9 @@
                 }
             },
             "params": {
-                "UseDualStack": true,
                 "UseFIPS": true,
-                "Region": "cn-north-1"
+                "Region": "cn-north-1",
+                "UseDualStack": true
             }
         },
         {
@@ -73,9 +73,9 @@
                 }
             },
             "params": {
-                "UseDualStack": false,
                 "UseFIPS": true,
-                "Region": "cn-north-1"
+                "Region": "cn-north-1",
+                "UseDualStack": false
             }
         },
         {
@@ -86,9 +86,9 @@
                 }
             },
             "params": {
-                "UseDualStack": true,
                 "UseFIPS": false,
-                "Region": "cn-north-1"
+                "Region": "cn-north-1",
+                "UseDualStack": true
             }
         },
         {
@@ -99,9 +99,9 @@
                 }
             },
             "params": {
-                "UseDualStack": false,
                 "UseFIPS": false,
-                "Region": "cn-north-1"
+                "Region": "cn-north-1",
+                "UseDualStack": false
             }
         },
         {
@@ -110,9 +110,9 @@
                 "error": "FIPS and DualStack are enabled, but this partition does not support one or both"
             },
             "params": {
-                "UseDualStack": true,
                 "UseFIPS": true,
-                "Region": "us-iso-east-1"
+                "Region": "us-iso-east-1",
+                "UseDualStack": true
             }
         },
         {
@@ -123,9 +123,9 @@
                 }
             },
             "params": {
-                "UseDualStack": false,
                 "UseFIPS": true,
-                "Region": "us-iso-east-1"
+                "Region": "us-iso-east-1",
+                "UseDualStack": false
             }
         },
         {
@@ -134,9 +134,9 @@
                 "error": "DualStack is enabled but this partition does not support DualStack"
             },
             "params": {
-                "UseDualStack": true,
                 "UseFIPS": false,
-                "Region": "us-iso-east-1"
+                "Region": "us-iso-east-1",
+                "UseDualStack": true
             }
         },
         {
@@ -147,9 +147,9 @@
                 }
             },
             "params": {
-                "UseDualStack": false,
                 "UseFIPS": false,
-                "Region": "us-iso-east-1"
+                "Region": "us-iso-east-1",
+                "UseDualStack": false
             }
         },
         {
@@ -160,9 +160,9 @@
                 }
             },
             "params": {
-                "UseDualStack": true,
                 "UseFIPS": true,
-                "Region": "us-east-1"
+                "Region": "us-east-1",
+                "UseDualStack": true
             }
         },
         {
@@ -173,9 +173,9 @@
                 }
             },
             "params": {
-                "UseDualStack": false,
                 "UseFIPS": true,
-                "Region": "us-east-1"
+                "Region": "us-east-1",
+                "UseDualStack": false
             }
         },
         {
@@ -186,9 +186,9 @@
                 }
             },
             "params": {
-                "UseDualStack": true,
                 "UseFIPS": false,
-                "Region": "us-east-1"
+                "Region": "us-east-1",
+                "UseDualStack": true
             }
         },
         {
@@ -199,9 +199,9 @@
                 }
             },
             "params": {
-                "UseDualStack": false,
                 "UseFIPS": false,
-                "Region": "us-east-1"
+                "Region": "us-east-1",
+                "UseDualStack": false
             }
         },
         {
@@ -210,9 +210,9 @@
                 "error": "FIPS and DualStack are enabled, but this partition does not support one or both"
             },
             "params": {
-                "UseDualStack": true,
                 "UseFIPS": true,
-                "Region": "us-isob-east-1"
+                "Region": "us-isob-east-1",
+                "UseDualStack": true
             }
         },
         {
@@ -223,9 +223,9 @@
                 }
             },
             "params": {
-                "UseDualStack": false,
                 "UseFIPS": true,
-                "Region": "us-isob-east-1"
+                "Region": "us-isob-east-1",
+                "UseDualStack": false
             }
         },
         {
@@ -234,9 +234,9 @@
                 "error": "DualStack is enabled but this partition does not support DualStack"
             },
             "params": {
-                "UseDualStack": true,
                 "UseFIPS": false,
-                "Region": "us-isob-east-1"
+                "Region": "us-isob-east-1",
+                "UseDualStack": true
             }
         },
         {
@@ -247,9 +247,9 @@
                 }
             },
             "params": {
-                "UseDualStack": false,
                 "UseFIPS": false,
-                "Region": "us-isob-east-1"
+                "Region": "us-isob-east-1",
+                "UseDualStack": false
             }
         },
         {
@@ -260,9 +260,9 @@
                 }
             },
             "params": {
-                "UseDualStack": false,
                 "UseFIPS": false,
                 "Region": "us-east-1",
+                "UseDualStack": false,
                 "Endpoint": "https://example.com"
             }
         },
@@ -272,9 +272,9 @@
                 "error": "Invalid Configuration: FIPS and custom endpoint are not supported"
             },
             "params": {
-                "UseDualStack": false,
                 "UseFIPS": true,
                 "Region": "us-east-1",
+                "UseDualStack": false,
                 "Endpoint": "https://example.com"
             }
         },
@@ -284,9 +284,9 @@
                 "error": "Invalid Configuration: Dualstack and custom endpoint are not supported"
             },
             "params": {
-                "UseDualStack": true,
                 "UseFIPS": false,
                 "Region": "us-east-1",
+                "UseDualStack": true,
                 "Endpoint": "https://example.com"
             }
         }
diff --git a/models/apis/sagemaker/2017-07-24/api-2.json b/models/apis/sagemaker/2017-07-24/api-2.json
index df76e7b6a0c..2405787a017 100644
--- a/models/apis/sagemaker/2017-07-24/api-2.json
+++ b/models/apis/sagemaker/2017-07-24/api-2.json
@@ -17252,7 +17252,8 @@
         "Metrics":{"shape":"RecommendationMetrics"},
         "EndpointConfiguration":{"shape":"EndpointOutputConfiguration"},
         "ModelConfiguration":{"shape":"ModelConfiguration"},
-        "FailureReason":{"shape":"RecommendationFailureReason"}
+        "FailureReason":{"shape":"RecommendationFailureReason"},
+        "EndpointMetrics":{"shape":"InferenceMetrics"}
       }
     },
     "RecommendationJobInputConfig":{
diff --git a/models/apis/sagemaker/2017-07-24/docs-2.json b/models/apis/sagemaker/2017-07-24/docs-2.json
index 1ff4d0cc038..4a79b489ec5 100644
--- a/models/apis/sagemaker/2017-07-24/docs-2.json
+++ b/models/apis/sagemaker/2017-07-24/docs-2.json
@@ -42,7 +42,7 @@
     "CreateModelPackage": "<p>Creates a model package that you can use to create SageMaker models or list on Amazon Web Services Marketplace, or a versioned model that is part of a model group. Buyers can subscribe to model packages listed on Amazon Web Services Marketplace to create models in SageMaker.</p> <p>To create a model package by specifying a Docker container that contains your inference code and the Amazon S3 location of your model artifacts, provide values for <code>InferenceSpecification</code>. To create a model from an algorithm resource that you created or subscribed to in Amazon Web Services Marketplace, provide a value for <code>SourceAlgorithmSpecification</code>.</p> <note> <p>There are two types of model packages:</p> <ul> <li> <p>Versioned - a model that is part of a model group in the model registry.</p> </li> <li> <p>Unversioned - a model package that is not part of a model group.</p> </li> </ul> </note>",
     "CreateModelPackageGroup": "<p>Creates a model group. A model group contains a group of model versions.</p>",
     "CreateModelQualityJobDefinition": "<p>Creates a definition for a job that monitors model quality and drift. For information about model monitor, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor.html\">Amazon SageMaker Model Monitor</a>.</p>",
-    "CreateMonitoringSchedule": "<p>Creates a schedule that regularly starts Amazon SageMaker Processing Jobs to monitor the data captured for an Amazon SageMaker Endoint.</p>",
+    "CreateMonitoringSchedule": "<p>Creates a schedule that regularly starts Amazon SageMaker Processing Jobs to monitor the data captured for an Amazon SageMaker Endpoint.</p>",
     "CreateNotebookInstance": "<p>Creates an SageMaker notebook instance. A notebook instance is a machine learning (ML) compute instance running on a Jupyter notebook. </p> <p>In a <code>CreateNotebookInstance</code> request, specify the type of ML compute instance that you want to run. SageMaker launches the instance, installs common libraries that you can use to explore datasets for model training, and attaches an ML storage volume to the notebook instance. </p> <p>SageMaker also provides a set of example notebooks. Each notebook demonstrates how to use SageMaker with a specific algorithm or with a machine learning framework. </p> <p>After receiving the request, SageMaker does the following:</p> <ol> <li> <p>Creates a network interface in the SageMaker VPC.</p> </li> <li> <p>(Option) If you specified <code>SubnetId</code>, SageMaker creates a network interface in your own VPC, which is inferred from the subnet ID that you provide in the input. When creating this network interface, SageMaker attaches the security group that you specified in the request to the network interface that it creates in your VPC.</p> </li> <li> <p>Launches an EC2 instance of the type specified in the request in the SageMaker VPC. If you specified <code>SubnetId</code> of your VPC, SageMaker specifies both network interfaces when launching this instance. This enables inbound traffic from your own VPC to the notebook instance, assuming that the security groups allow it.</p> </li> </ol> <p>After creating the notebook instance, SageMaker returns its Amazon Resource Name (ARN). You can't change the name of a notebook instance after you create it.</p> <p>After SageMaker creates the notebook instance, you can connect to the Jupyter server and work in Jupyter notebooks. For example, you can write code to explore a dataset that you can use for model training, train a model, host models by creating SageMaker endpoints, and validate hosted models. </p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/how-it-works.html\">How It Works</a>. </p>",
     "CreateNotebookInstanceLifecycleConfig": "<p>Creates a lifecycle configuration that you can associate with a notebook instance. A <i>lifecycle configuration</i> is a collection of shell scripts that run when you create or start a notebook instance.</p> <p>Each lifecycle configuration script has a limit of 16384 characters.</p> <p>The value of the <code>$PATH</code> environment variable that is available to both scripts is <code>/sbin:bin:/usr/sbin:/usr/bin</code>.</p> <p>View CloudWatch Logs for notebook instance lifecycle configurations in log group <code>/aws/sagemaker/NotebookInstances</code> in log stream <code>[notebook-instance-name]/[LifecycleConfigHook]</code>.</p> <p>Lifecycle configuration scripts cannot run for longer than 5 minutes. If a script runs for longer than 5 minutes, it fails and the notebook instance is not created or started.</p> <p>For information about notebook instance lifestyle configurations, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html\">Step 2.1: (Optional) Customize a Notebook Instance</a>.</p>",
     "CreatePipeline": "<p>Creates a pipeline using a JSON pipeline definition.</p>",
@@ -169,7 +169,7 @@
     "GetLineageGroupPolicy": "<p>The resource policy for the lineage group.</p>",
     "GetModelPackageGroupPolicy": "<p>Gets a resource policy that manages access for a model group. For information about resource policies, see <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html\">Identity-based policies and resource-based policies</a> in the <i>Amazon Web Services Identity and Access Management User Guide.</i>.</p>",
     "GetSagemakerServicecatalogPortfolioStatus": "<p>Gets the status of Service Catalog in SageMaker. Service Catalog is used to create SageMaker projects.</p>",
-    "GetSearchSuggestions": "<p>An auto-complete API for the search functionality in the Amazon SageMaker console. It returns suggestions of possible matches for the property name to use in <code>Search</code> queries. Provides suggestions for <code>HyperParameters</code>, <code>Tags</code>, and <code>Metrics</code>.</p>",
+    "GetSearchSuggestions": "<p>An auto-complete API for the search functionality in the SageMaker console. It returns suggestions of possible matches for the property name to use in <code>Search</code> queries. Provides suggestions for <code>HyperParameters</code>, <code>Tags</code>, and <code>Metrics</code>.</p>",
     "ImportHubContent": "<p>Import hub content.</p> <note> <p>Hub APIs are only callable through SageMaker Studio.</p> </note>",
     "ListActions": "<p>Lists the actions in your account and their properties.</p>",
     "ListAlgorithms": "<p>Lists the machine learning algorithms that have been created.</p>",
@@ -247,7 +247,7 @@
     "RegisterDevices": "<p>Register devices.</p>",
     "RenderUiTemplate": "<p>Renders the UI template so that you can preview the worker's experience. </p>",
     "RetryPipelineExecution": "<p>Retry the execution of the pipeline.</p>",
-    "Search": "<p>Finds Amazon SageMaker resources that match a search query. Matching resources are returned as a list of <code>SearchRecord</code> objects in the response. You can sort the search results by any resource property in a ascending or descending order.</p> <p>You can query against the following value types: numeric, text, Boolean, and timestamp.</p>",
+    "Search": "<p>Finds SageMaker resources that match a search query. Matching resources are returned as a list of <code>SearchRecord</code> objects in the response. You can sort the search results by any resource property in a ascending or descending order.</p> <p>You can query against the following value types: numeric, text, Boolean, and timestamp.</p> <note> <p>The Search API may provide access to otherwise restricted data. See <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/api-permissions-reference.html\">Amazon SageMaker API Permissions: Actions, Permissions, and Resources Reference</a> for more information.</p> </note>",
     "SendPipelineExecutionStepFailure": "<p>Notifies the pipeline that the execution of a callback step failed, along with a message describing why. When a callback step is run, the pipeline generates a callback token and includes the token in a message sent to Amazon Simple Queue Service (Amazon SQS).</p>",
     "SendPipelineExecutionStepSuccess": "<p>Notifies the pipeline that the execution of a callback step succeeded and provides a list of the step's output parameters. When a callback step is run, the pipeline generates a callback token and includes the token in a message sent to Amazon Simple Queue Service (Amazon SQS).</p>",
     "StartEdgeDeploymentStage": "<p>Starts a stage in an edge deployment plan.</p>",
@@ -5282,7 +5282,7 @@
       }
     },
     "Filter": {
-      "base": "<p>A conditional statement for a search expression that includes a resource property, a Boolean operator, and a value. Resources that match the statement are returned in the results from the <a>Search</a> API.</p> <p>If you specify a <code>Value</code>, but not an <code>Operator</code>, Amazon SageMaker uses the equals operator.</p> <p>In search, there are several property types:</p> <dl> <dt>Metrics</dt> <dd> <p>To define a metric filter, enter a value using the form <code>\"Metrics.&lt;name&gt;\"</code>, where <code>&lt;name&gt;</code> is a metric name. For example, the following filter searches for training jobs with an <code>\"accuracy\"</code> metric greater than <code>\"0.9\"</code>:</p> <p> <code>{</code> </p> <p> <code>\"Name\": \"Metrics.accuracy\",</code> </p> <p> <code>\"Operator\": \"GreaterThan\",</code> </p> <p> <code>\"Value\": \"0.9\"</code> </p> <p> <code>}</code> </p> </dd> <dt>HyperParameters</dt> <dd> <p>To define a hyperparameter filter, enter a value with the form <code>\"HyperParameters.&lt;name&gt;\"</code>. Decimal hyperparameter values are treated as a decimal in a comparison if the specified <code>Value</code> is also a decimal value. If the specified <code>Value</code> is an integer, the decimal hyperparameter values are treated as integers. For example, the following filter is satisfied by training jobs with a <code>\"learning_rate\"</code> hyperparameter that is less than <code>\"0.5\"</code>:</p> <p> <code> {</code> </p> <p> <code> \"Name\": \"HyperParameters.learning_rate\",</code> </p> <p> <code> \"Operator\": \"LessThan\",</code> </p> <p> <code> \"Value\": \"0.5\"</code> </p> <p> <code> }</code> </p> </dd> <dt>Tags</dt> <dd> <p>To define a tag filter, enter a value with the form <code>Tags.&lt;key&gt;</code>.</p> </dd> </dl>",
+      "base": "<p>A conditional statement for a search expression that includes a resource property, a Boolean operator, and a value. Resources that match the statement are returned in the results from the <a>Search</a> API.</p> <p>If you specify a <code>Value</code>, but not an <code>Operator</code>, SageMaker uses the equals operator.</p> <p>In search, there are several property types:</p> <dl> <dt>Metrics</dt> <dd> <p>To define a metric filter, enter a value using the form <code>\"Metrics.&lt;name&gt;\"</code>, where <code>&lt;name&gt;</code> is a metric name. For example, the following filter searches for training jobs with an <code>\"accuracy\"</code> metric greater than <code>\"0.9\"</code>:</p> <p> <code>{</code> </p> <p> <code>\"Name\": \"Metrics.accuracy\",</code> </p> <p> <code>\"Operator\": \"GreaterThan\",</code> </p> <p> <code>\"Value\": \"0.9\"</code> </p> <p> <code>}</code> </p> </dd> <dt>HyperParameters</dt> <dd> <p>To define a hyperparameter filter, enter a value with the form <code>\"HyperParameters.&lt;name&gt;\"</code>. Decimal hyperparameter values are treated as a decimal in a comparison if the specified <code>Value</code> is also a decimal value. If the specified <code>Value</code> is an integer, the decimal hyperparameter values are treated as integers. For example, the following filter is satisfied by training jobs with a <code>\"learning_rate\"</code> hyperparameter that is less than <code>\"0.5\"</code>:</p> <p> <code> {</code> </p> <p> <code> \"Name\": \"HyperParameters.learning_rate\",</code> </p> <p> <code> \"Operator\": \"LessThan\",</code> </p> <p> <code> \"Value\": \"0.5\"</code> </p> <p> <code> }</code> </p> </dd> <dt>Tags</dt> <dd> <p>To define a tag filter, enter a value with the form <code>Tags.&lt;key&gt;</code>.</p> </dd> </dl>",
       "refs": {
         "FilterList$member": null
       }
@@ -6060,7 +6060,7 @@
     "HyperParameterTuningMaxRuntimeInSeconds": {
       "base": null,
       "refs": {
-        "ResourceLimits$MaxRuntimeInSeconds": "<p>The maximum time in seconds that a training job launched by a hyperparameter tuning job can run.</p>"
+        "ResourceLimits$MaxRuntimeInSeconds": "<p>The maximum time in seconds that a hyperparameter tuning job can run.</p>"
       }
     },
     "HyperParameterTuningResourceConfig": {
@@ -6430,7 +6430,8 @@
     "InferenceMetrics": {
       "base": "<p>The metrics for an existing endpoint compared in an Inference Recommender job.</p>",
       "refs": {
-        "EndpointPerformance$Metrics": "<p>The metrics for an existing endpoint.</p>"
+        "EndpointPerformance$Metrics": "<p>The metrics for an existing endpoint.</p>",
+        "RecommendationJobInferenceBenchmark$EndpointMetrics": null
       }
     },
     "InferenceRecommendation": {
@@ -6452,7 +6453,7 @@
       }
     },
     "InferenceRecommendationsJobStep": {
-      "base": "<p>A returned array object for the <code>Steps</code> response field in the <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_InferenceRecommendationsJobStep.html\">ListInferenceRecommendationsJobSteps</a> API command.</p>",
+      "base": "<p>A returned array object for the <code>Steps</code> response field in the <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListInferenceRecommendationsJobSteps.html\">ListInferenceRecommendationsJobSteps</a> API command.</p>",
       "refs": {
         "InferenceRecommendationsJobSteps$member": null
       }
@@ -11399,7 +11400,7 @@
       "refs": {
         "Filter$Name": "<p>A resource property name. For example, <code>TrainingJobName</code>. For valid property names, see <a>SearchRecord</a>. You must specify a valid property for the resource.</p>",
         "NestedFilters$NestedPropertyName": "<p>The name of the property to use in the nested filters. The value must match a listed property name, such as <code>InputDataConfig</code>.</p>",
-        "PropertyNameSuggestion$PropertyName": "<p>A suggested property name based on what you entered in the search textbox in the Amazon SageMaker console.</p>",
+        "PropertyNameSuggestion$PropertyName": "<p>A suggested property name based on what you entered in the search textbox in the SageMaker console.</p>",
         "SearchRequest$SortBy": "<p>The name of the resource property used to sort the <code>SearchResults</code>. The default is <code>LastModifiedTime</code>.</p>"
       }
     },
@@ -11425,8 +11426,8 @@
     "ResourceType": {
       "base": null,
       "refs": {
-        "GetSearchSuggestionsRequest$Resource": "<p>The name of the Amazon SageMaker resource to search for.</p>",
-        "SearchRequest$Resource": "<p>The name of the Amazon SageMaker resource to search for.</p>"
+        "GetSearchSuggestionsRequest$Resource": "<p>The name of the SageMaker resource to search for.</p>",
+        "SearchRequest$Resource": "<p>The name of the SageMaker resource to search for.</p>"
       }
     },
     "ResponseMIMEType": {
@@ -11611,7 +11612,7 @@
         "BatchDataCaptureConfig$DestinationS3Uri": "<p>The Amazon S3 location being used to capture the data.</p>",
         "CheckpointConfig$S3Uri": "<p>Identifies the S3 path where you want SageMaker to store checkpoints. For example, <code>s3://bucket-name/key-name-prefix</code>.</p>",
         "CreateLabelingJobRequest$LabelCategoryConfigS3Uri": "<p>The S3 URI of the file, referred to as a <i>label category configuration file</i>, that defines the categories used to label the data objects.</p> <p>For 3D point cloud and video frame task types, you can add label category attributes and frame attributes to your label category configuration file. To learn how, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-label-category-config.html\">Create a Labeling Category Configuration File for 3D Point Cloud Labeling Jobs</a>. </p> <p>For named entity recognition jobs, in addition to <code>\"labels\"</code>, you must provide worker instructions in the label category configuration file using the <code>\"instructions\"</code> parameter: <code>\"instructions\": {\"shortInstruction\":\"&lt;h1&gt;Add header&lt;/h1&gt;&lt;p&gt;Add Instructions&lt;/p&gt;\", \"fullInstruction\":\"&lt;p&gt;Add additional instructions.&lt;/p&gt;\"}</code>. For details and an example, see <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/sms-named-entity-recg.html#sms-creating-ner-api\">Create a Named Entity Recognition Labeling Job (API) </a>.</p> <p>For all other <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html\">built-in task types</a> and <a href=\"https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates.html\">custom tasks</a>, your label category configuration file must be a JSON file in the following format. Identify the labels you want to use by replacing <code>label_1</code>, <code>label_2</code>,<code>...</code>,<code>label_n</code> with your label categories.</p> <p> <code>{ </code> </p> <p> <code>\"document-version\": \"2018-11-28\",</code> </p> <p> <code>\"labels\": [{\"label\": \"label_1\"},{\"label\": \"label_2\"},...{\"label\": \"label_n\"}]</code> </p> <p> <code>}</code> </p> <p>Note the following about the label category configuration file:</p> <ul> <li> <p>For image classification and text classification (single and multi-label) you must specify at least two label categories. For all other task types, the minimum number of label categories required is one. </p> </li> <li> <p>Each label category must be unique, you cannot specify duplicate label categories.</p> </li> <li> <p>If you create a 3D point cloud or video frame adjustment or verification labeling job, you must include <code>auditLabelAttributeName</code> in the label category configuration. Use this parameter to enter the <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName\"> <code>LabelAttributeName</code> </a> of the labeling job you want to adjust or verify annotations of.</p> </li> </ul>",
-        "CreateModelPackageInput$SamplePayloadUrl": "<p>The Amazon Simple Storage Service (Amazon S3) path where the sample payload are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).</p>",
+        "CreateModelPackageInput$SamplePayloadUrl": "<p>The Amazon Simple Storage Service (Amazon S3) path where the sample payload is stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix). This archive can hold multiple files that are all equally used in the load test. Each file in the archive must satisfy the size constraints of the <a href=\"https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html#API_runtime_InvokeEndpoint_RequestSyntax\">InvokeEndpoint</a> call.</p>",
         "DataQualityAppSpecification$RecordPreprocessorSourceUri": "<p>An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flatted json so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.</p>",
         "DataQualityAppSpecification$PostAnalyticsProcessorSourceUri": "<p>An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.</p>",
         "DebugHookConfig$S3OutputPath": "<p>Path to Amazon S3 storage location for metrics and tensors.</p>",
@@ -13737,8 +13738,8 @@
         "DescribeTrialComponentResponse$OutputArtifacts": "<p>The output artifacts of the component.</p>",
         "TrialComponent$InputArtifacts": "<p>The input artifacts of the component.</p>",
         "TrialComponent$OutputArtifacts": "<p>The output artifacts of the component.</p>",
-        "UpdateTrialComponentRequest$InputArtifacts": "<p>Replaces all of the component's input artifacts with the specified artifacts.</p>",
-        "UpdateTrialComponentRequest$OutputArtifacts": "<p>Replaces all of the component's output artifacts with the specified artifacts.</p>"
+        "UpdateTrialComponentRequest$InputArtifacts": "<p>Replaces all of the component's input artifacts with the specified artifacts or adds new input artifacts. Existing input artifacts are replaced if the trial component is updated with an identical input artifact key.</p>",
+        "UpdateTrialComponentRequest$OutputArtifacts": "<p>Replaces all of the component's output artifacts with the specified artifacts or adds new output artifacts. Existing output artifacts are replaced if the trial component is updated with an identical output artifact key.</p>"
       }
     },
     "TrialComponentKey256": {
@@ -13779,7 +13780,7 @@
         "CreateTrialComponentRequest$Parameters": "<p>The hyperparameters for the component.</p>",
         "DescribeTrialComponentResponse$Parameters": "<p>The hyperparameters of the component.</p>",
         "TrialComponent$Parameters": "<p>The hyperparameters of the component.</p>",
-        "UpdateTrialComponentRequest$Parameters": "<p>Replaces all of the component's hyperparameters with the specified hyperparameters.</p>"
+        "UpdateTrialComponentRequest$Parameters": "<p>Replaces all of the component's hyperparameters with the specified hyperparameters or add new hyperparameters. Existing hyperparameters are replaced if the trial component is updated with an identical hyperparameter key.</p>"
       }
     },
     "TrialComponentPrimaryStatus": {
diff --git a/models/apis/sagemaker/2017-07-24/endpoint-tests-1.json b/models/apis/sagemaker/2017-07-24/endpoint-tests-1.json
index d11950f46b8..591a250eab5 100644
--- a/models/apis/sagemaker/2017-07-24/endpoint-tests-1.json
+++ b/models/apis/sagemaker/2017-07-24/endpoint-tests-1.json
@@ -8,9 +8,9 @@
                 }
             },
             "params": {
-                "Region": "af-south-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "af-south-1"
             }
         },
         {
@@ -21,9 +21,9 @@
                 }
             },
             "params": {
-                "Region": "ap-east-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "ap-east-1"
             }
         },
         {
@@ -34,9 +34,9 @@
                 }
             },
             "params": {
-                "Region": "ap-northeast-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "ap-northeast-1"
             }
         },
         {
@@ -47,9 +47,9 @@
                 }
             },
             "params": {
-                "Region": "ap-northeast-2",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "ap-northeast-2"
             }
         },
         {
@@ -60,9 +60,9 @@
                 }
             },
             "params": {
-                "Region": "ap-northeast-3",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "ap-northeast-3"
             }
         },
         {
@@ -73,9 +73,9 @@
                 }
             },
             "params": {
-                "Region": "ap-south-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "ap-south-1"
             }
         },
         {
@@ -86,9 +86,9 @@
                 }
             },
             "params": {
-                "Region": "ap-southeast-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "ap-southeast-1"
             }
         },
         {
@@ -99,9 +99,9 @@
                 }
             },
             "params": {
-                "Region": "ap-southeast-2",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "ap-southeast-2"
             }
         },
         {
@@ -112,9 +112,9 @@
                 }
             },
             "params": {
-                "Region": "ca-central-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "ca-central-1"
             }
         },
         {
@@ -125,9 +125,9 @@
                 }
             },
             "params": {
-                "Region": "eu-central-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "eu-central-1"
             }
         },
         {
@@ -138,9 +138,9 @@
                 }
             },
             "params": {
-                "Region": "eu-north-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "eu-north-1"
             }
         },
         {
@@ -151,9 +151,9 @@
                 }
             },
             "params": {
-                "Region": "eu-south-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "eu-south-1"
             }
         },
         {
@@ -164,9 +164,9 @@
                 }
             },
             "params": {
-                "Region": "eu-west-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "eu-west-1"
             }
         },
         {
@@ -177,9 +177,9 @@
                 }
             },
             "params": {
-                "Region": "eu-west-2",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "eu-west-2"
             }
         },
         {
@@ -190,9 +190,9 @@
                 }
             },
             "params": {
-                "Region": "eu-west-3",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "eu-west-3"
             }
         },
         {
@@ -203,9 +203,9 @@
                 }
             },
             "params": {
-                "Region": "me-south-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "me-south-1"
             }
         },
         {
@@ -216,9 +216,9 @@
                 }
             },
             "params": {
-                "Region": "sa-east-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "sa-east-1"
             }
         },
         {
@@ -229,9 +229,9 @@
                 }
             },
             "params": {
-                "Region": "us-east-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "us-east-1"
             }
         },
         {
@@ -242,9 +242,9 @@
                 }
             },
             "params": {
-                "Region": "us-east-1",
                 "UseDualStack": false,
-                "UseFIPS": true
+                "UseFIPS": true,
+                "Region": "us-east-1"
             }
         },
         {
@@ -255,9 +255,9 @@
                 }
             },
             "params": {
-                "Region": "us-east-2",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "us-east-2"
             }
         },
         {
@@ -268,9 +268,9 @@
                 }
             },
             "params": {
-                "Region": "us-east-2",
                 "UseDualStack": false,
-                "UseFIPS": true
+                "UseFIPS": true,
+                "Region": "us-east-2"
             }
         },
         {
@@ -281,9 +281,9 @@
                 }
             },
             "params": {
-                "Region": "us-west-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "us-west-1"
             }
         },
         {
@@ -294,9 +294,9 @@
                 }
             },
             "params": {
-                "Region": "us-west-1",
                 "UseDualStack": false,
-                "UseFIPS": true
+                "UseFIPS": true,
+                "Region": "us-west-1"
             }
         },
         {
@@ -307,9 +307,9 @@
                 }
             },
             "params": {
-                "Region": "us-west-2",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "us-west-2"
             }
         },
         {
@@ -320,9 +320,9 @@
                 }
             },
             "params": {
-                "Region": "us-west-2",
                 "UseDualStack": false,
-                "UseFIPS": true
+                "UseFIPS": true,
+                "Region": "us-west-2"
             }
         },
         {
@@ -333,9 +333,9 @@
                 }
             },
             "params": {
-                "Region": "us-east-1",
                 "UseDualStack": true,
-                "UseFIPS": true
+                "UseFIPS": true,
+                "Region": "us-east-1"
             }
         },
         {
@@ -346,9 +346,9 @@
                 }
             },
             "params": {
-                "Region": "us-east-1",
                 "UseDualStack": true,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "us-east-1"
             }
         },
         {
@@ -359,9 +359,9 @@
                 }
             },
             "params": {
-                "Region": "cn-north-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "cn-north-1"
             }
         },
         {
@@ -372,9 +372,9 @@
                 }
             },
             "params": {
-                "Region": "cn-northwest-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "cn-northwest-1"
             }
         },
         {
@@ -385,9 +385,9 @@
                 }
             },
             "params": {
-                "Region": "cn-north-1",
                 "UseDualStack": true,
-                "UseFIPS": true
+                "UseFIPS": true,
+                "Region": "cn-north-1"
             }
         },
         {
@@ -398,9 +398,9 @@
                 }
             },
             "params": {
-                "Region": "cn-north-1",
                 "UseDualStack": false,
-                "UseFIPS": true
+                "UseFIPS": true,
+                "Region": "cn-north-1"
             }
         },
         {
@@ -411,9 +411,9 @@
                 }
             },
             "params": {
-                "Region": "cn-north-1",
                 "UseDualStack": true,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "cn-north-1"
             }
         },
         {
@@ -424,9 +424,9 @@
                 }
             },
             "params": {
-                "Region": "us-gov-west-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "us-gov-west-1"
             }
         },
         {
@@ -437,9 +437,9 @@
                 }
             },
             "params": {
-                "Region": "us-gov-west-1",
                 "UseDualStack": false,
-                "UseFIPS": true
+                "UseFIPS": true,
+                "Region": "us-gov-west-1"
             }
         },
         {
@@ -450,9 +450,9 @@
                 }
             },
             "params": {
-                "Region": "us-gov-east-1",
                 "UseDualStack": true,
-                "UseFIPS": true
+                "UseFIPS": true,
+                "Region": "us-gov-east-1"
             }
         },
         {
@@ -463,9 +463,9 @@
                 }
             },
             "params": {
-                "Region": "us-gov-east-1",
                 "UseDualStack": false,
-                "UseFIPS": true
+                "UseFIPS": true,
+                "Region": "us-gov-east-1"
             }
         },
         {
@@ -476,9 +476,9 @@
                 }
             },
             "params": {
-                "Region": "us-gov-east-1",
                 "UseDualStack": true,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "us-gov-east-1"
             }
         },
         {
@@ -489,9 +489,9 @@
                 }
             },
             "params": {
-                "Region": "us-gov-east-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "us-gov-east-1"
             }
         },
         {
@@ -502,9 +502,9 @@
                 }
             },
             "params": {
-                "Region": "us-iso-east-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "us-iso-east-1"
             }
         },
         {
@@ -515,9 +515,9 @@
                 }
             },
             "params": {
-                "Region": "us-iso-east-1",
                 "UseDualStack": false,
-                "UseFIPS": true
+                "UseFIPS": true,
+                "Region": "us-iso-east-1"
             }
         },
         {
@@ -528,9 +528,9 @@
                 }
             },
             "params": {
-                "Region": "us-isob-east-1",
                 "UseDualStack": false,
-                "UseFIPS": true
+                "UseFIPS": true,
+                "Region": "us-isob-east-1"
             }
         },
         {
@@ -541,9 +541,9 @@
                 }
             },
             "params": {
-                "Region": "us-isob-east-1",
                 "UseDualStack": false,
-                "UseFIPS": false
+                "UseFIPS": false,
+                "Region": "us-isob-east-1"
             }
         },
         {
@@ -554,9 +554,9 @@
                 }
             },
             "params": {
-                "Region": "us-east-1",
                 "UseDualStack": false,
                 "UseFIPS": false,
+                "Region": "us-east-1",
                 "Endpoint": "https://example.com"
             }
         },
@@ -579,9 +579,9 @@
                 "error": "Invalid Configuration: FIPS and custom endpoint are not supported"
             },
             "params": {
-                "Region": "us-east-1",
                 "UseDualStack": false,
                 "UseFIPS": true,
+                "Region": "us-east-1",
                 "Endpoint": "https://example.com"
             }
         },
@@ -591,9 +591,9 @@
                 "error": "Invalid Configuration: Dualstack and custom endpoint are not supported"
             },
             "params": {
-                "Region": "us-east-1",
                 "UseDualStack": true,
                 "UseFIPS": false,
+                "Region": "us-east-1",
                 "Endpoint": "https://example.com"
             }
         }
diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json
index 08acca5c8ba..9ee83f5e807 100644
--- a/models/endpoints/endpoints.json
+++ b/models/endpoints/endpoints.json
@@ -2856,6 +2856,7 @@
           "ap-northeast-2" : { },
           "ap-northeast-3" : { },
           "ap-south-1" : { },
+          "ap-south-2" : { },
           "ap-southeast-1" : { },
           "ap-southeast-2" : { },
           "ap-southeast-3" : { },
@@ -2885,6 +2886,7 @@
             "deprecated" : true,
             "hostname" : "codecommit-fips.ca-central-1.amazonaws.com"
           },
+          "me-central-1" : { },
           "me-south-1" : { },
           "sa-east-1" : { },
           "us-east-1" : {
@@ -22562,7 +22564,8 @@
       },
       "secretsmanager" : {
         "endpoints" : {
-          "us-iso-east-1" : { }
+          "us-iso-east-1" : { },
+          "us-iso-west-1" : { }
         }
       },
       "snowball" : {
diff --git a/service/iot/api.go b/service/iot/api.go
index a73a65defbc..8ce733cde2b 100644
--- a/service/iot/api.go
+++ b/service/iot/api.go
@@ -1855,23 +1855,22 @@ func (c *IoT) CreateCertificateFromCsrRequest(input *CreateCertificateFromCsrInp
 //
 // Creates an X.509 certificate using the specified certificate signing request.
 //
-// Note: The CSR must include a public key that is either an RSA key with a
-// length of at least 2048 bits or an ECC key from NIST P-256, NIST P-384, or
-// NIST P-512 curves. For supported certificates, consult Certificate signing
-// algorithms supported by IoT (https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html#x509-cert-algorithms).
-//
-// Note: Reusing the same certificate signing request (CSR) results in a distinct
-// certificate.
-//
 // Requires permission to access the CreateCertificateFromCsr (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions)
 // action.
 //
+// The CSR must include a public key that is either an RSA key with a length
+// of at least 2048 bits or an ECC key from NIST P-25 or NIST P-384 curves.
+// For supported certificates, consult Certificate signing algorithms supported
+// by IoT (https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html#x509-cert-algorithms).
+//
+// Reusing the same certificate signing request (CSR) results in a distinct
+// certificate.
+//
 // You can create multiple certificates in a batch by creating a directory,
 // copying multiple .csr files into that directory, and then specifying that
 // directory on the command line. The following commands show how to create
-// a batch of certificates given a batch of CSRs.
-//
-// Assuming a set of CSRs are located inside of the directory my-csr-directory:
+// a batch of certificates given a batch of CSRs. In the following commands,
+// we assume that a set of CSRs are located inside of the directory my-csr-directory:
 //
 // On Linux and OS X, the command is:
 //
@@ -1882,7 +1881,7 @@ func (c *IoT) CreateCertificateFromCsrRequest(input *CreateCertificateFromCsrInp
 // file name to the aws iot create-certificate-from-csr Amazon Web Services
 // CLI command to create a certificate for the corresponding CSR.
 //
-// The aws iot create-certificate-from-csr part of the command can also be run
+// You can also run the aws iot create-certificate-from-csr part of the command
 // in parallel to speed up the certificate creation process:
 //
 // $ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr
@@ -32123,7 +32122,7 @@ type CreateFleetMetricInput struct {
 	Tags []*Tag `locationName:"tags" type:"list"`
 
 	// Used to support unit transformation such as milliseconds to seconds. The
-	// unit must be supported by CW metric (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).
+	// unit must be supported by CW metric (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).
 	// Default to null.
 	Unit *string `locationName:"unit" type:"string" enum:"FleetMetricUnit"`
 }
@@ -32665,6 +32664,10 @@ type CreateJobTemplateInput struct {
 	// JobTemplateId is a required field
 	JobTemplateId *string `location:"uri" locationName:"jobTemplateId" min:"1" type:"string" required:"true"`
 
+	// Allows you to configure an optional maintenance window for the rollout of
+	// a job document to all devices in the target group for a job.
+	MaintenanceWindows []*MaintenanceWindow `locationName:"maintenanceWindows" type:"list"`
+
 	// Configuration for pre-signed S3 URLs.
 	PresignedUrlConfig *PresignedUrlConfig `locationName:"presignedUrlConfig" type:"structure"`
 
@@ -32726,6 +32729,16 @@ func (s *CreateJobTemplateInput) Validate() error {
 			invalidParams.AddNested("JobExecutionsRolloutConfig", err.(request.ErrInvalidParams))
 		}
 	}
+	if s.MaintenanceWindows != nil {
+		for i, v := range s.MaintenanceWindows {
+			if v == nil {
+				continue
+			}
+			if err := v.Validate(); err != nil {
+				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MaintenanceWindows", i), err.(request.ErrInvalidParams))
+			}
+		}
+	}
 	if s.PresignedUrlConfig != nil {
 		if err := s.PresignedUrlConfig.Validate(); err != nil {
 			invalidParams.AddNested("PresignedUrlConfig", err.(request.ErrInvalidParams))
@@ -32796,6 +32809,12 @@ func (s *CreateJobTemplateInput) SetJobTemplateId(v string) *CreateJobTemplateIn
 	return s
 }
 
+// SetMaintenanceWindows sets the MaintenanceWindows field's value.
+func (s *CreateJobTemplateInput) SetMaintenanceWindows(v []*MaintenanceWindow) *CreateJobTemplateInput {
+	s.MaintenanceWindows = v
+	return s
+}
+
 // SetPresignedUrlConfig sets the PresignedUrlConfig field's value.
 func (s *CreateJobTemplateInput) SetPresignedUrlConfig(v *PresignedUrlConfig) *CreateJobTemplateInput {
 	s.PresignedUrlConfig = v
@@ -39780,7 +39799,7 @@ type DescribeFleetMetricOutput struct {
 	QueryVersion *string `locationName:"queryVersion" type:"string"`
 
 	// Used to support unit transformation such as milliseconds to seconds. The
-	// unit must be supported by CW metric (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).
+	// unit must be supported by CW metric (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html).
 	Unit *string `locationName:"unit" type:"string" enum:"FleetMetricUnit"`
 
 	// The version of the fleet metric.
@@ -40272,6 +40291,10 @@ type DescribeJobTemplateOutput struct {
 	// The unique identifier of the job template.
 	JobTemplateId *string `locationName:"jobTemplateId" min:"1" type:"string"`
 
+	// Allows you to configure an optional maintenance window for the rollout of
+	// a job document to all devices in the target group for a job.
+	MaintenanceWindows []*MaintenanceWindow `locationName:"maintenanceWindows" type:"list"`
+
 	// Configuration for pre-signed S3 URLs.
 	PresignedUrlConfig *PresignedUrlConfig `locationName:"presignedUrlConfig" type:"structure"`
 
@@ -40354,6 +40377,12 @@ func (s *DescribeJobTemplateOutput) SetJobTemplateId(v string) *DescribeJobTempl
 	return s
 }
 
+// SetMaintenanceWindows sets the MaintenanceWindows field's value.
+func (s *DescribeJobTemplateOutput) SetMaintenanceWindows(v []*MaintenanceWindow) *DescribeJobTemplateOutput {
+	s.MaintenanceWindows = v
+	return s
+}
+
 // SetPresignedUrlConfig sets the PresignedUrlConfig field's value.
 func (s *DescribeJobTemplateOutput) SetPresignedUrlConfig(v *PresignedUrlConfig) *DescribeJobTemplateOutput {
 	s.PresignedUrlConfig = v
@@ -46928,6 +46957,9 @@ type Job struct {
 	// If the job was updated, provides the reason code for the update.
 	ReasonCode *string `locationName:"reasonCode" type:"string"`
 
+	// Displays the next seven maintenance window occurrences and their start times.
+	ScheduledJobRollouts []*ScheduledJobRollout `locationName:"scheduledJobRollouts" type:"list"`
+
 	// The configuration that allows you to schedule a job for a future date and
 	// time in addition to specifying the end behavior for each job execution.
 	SchedulingConfig *SchedulingConfig `locationName:"schedulingConfig" type:"structure"`
@@ -47084,6 +47116,12 @@ func (s *Job) SetReasonCode(v string) *Job {
 	return s
 }
 
+// SetScheduledJobRollouts sets the ScheduledJobRollouts field's value.
+func (s *Job) SetScheduledJobRollouts(v []*ScheduledJobRollout) *Job {
+	s.ScheduledJobRollouts = v
+	return s
+}
+
 // SetSchedulingConfig sets the SchedulingConfig field's value.
 func (s *Job) SetSchedulingConfig(v *SchedulingConfig) *Job {
 	s.SchedulingConfig = v
@@ -55264,6 +55302,75 @@ func (s *MachineLearningDetectionConfig) SetConfidenceLevel(v string) *MachineLe
 	return s
 }
 
+// An optional configuration within the SchedulingConfig to setup a recurring
+// maintenance window with a predetermined start time and duration for the rollout
+// of a job document to all devices in a target group for a job.
+type MaintenanceWindow struct {
+	_ struct{} `type:"structure"`
+
+	// Displays the duration of the next maintenance window.
+	//
+	// DurationInMinutes is a required field
+	DurationInMinutes *int64 `locationName:"durationInMinutes" min:"30" type:"integer" required:"true"`
+
+	// Displays the start time of the next maintenance window.
+	//
+	// StartTime is a required field
+	StartTime *string `locationName:"startTime" min:"1" type:"string" required:"true"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s MaintenanceWindow) String() string {
+	return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s MaintenanceWindow) GoString() string {
+	return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *MaintenanceWindow) Validate() error {
+	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindow"}
+	if s.DurationInMinutes == nil {
+		invalidParams.Add(request.NewErrParamRequired("DurationInMinutes"))
+	}
+	if s.DurationInMinutes != nil && *s.DurationInMinutes < 30 {
+		invalidParams.Add(request.NewErrParamMinValue("DurationInMinutes", 30))
+	}
+	if s.StartTime == nil {
+		invalidParams.Add(request.NewErrParamRequired("StartTime"))
+	}
+	if s.StartTime != nil && len(*s.StartTime) < 1 {
+		invalidParams.Add(request.NewErrParamMinLen("StartTime", 1))
+	}
+
+	if invalidParams.Len() > 0 {
+		return invalidParams
+	}
+	return nil
+}
+
+// SetDurationInMinutes sets the DurationInMinutes field's value.
+func (s *MaintenanceWindow) SetDurationInMinutes(v int64) *MaintenanceWindow {
+	s.DurationInMinutes = &v
+	return s
+}
+
+// SetStartTime sets the StartTime field's value.
+func (s *MaintenanceWindow) SetStartTime(v string) *MaintenanceWindow {
+	s.StartTime = &v
+	return s
+}
+
 // The policy documentation is not valid.
 type MalformedPolicyException struct {
 	_            struct{}                  `type:"structure"`
@@ -59536,6 +59643,38 @@ func (s *ScheduledAuditMetadata) SetScheduledAuditName(v string) *ScheduledAudit
 	return s
 }
 
+// Displays the next seven maintenance window occurrences and their start times.
+type ScheduledJobRollout struct {
+	_ struct{} `type:"structure"`
+
+	// Displays the start times of the next seven maintenance window occurrences.
+	StartTime *string `locationName:"startTime" min:"1" type:"string"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s ScheduledJobRollout) String() string {
+	return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s ScheduledJobRollout) GoString() string {
+	return s.String()
+}
+
+// SetStartTime sets the StartTime field's value.
+func (s *ScheduledJobRollout) SetStartTime(v string) *ScheduledJobRollout {
+	s.StartTime = &v
+	return s
+}
+
 // Specifies the date and time that a job will begin the rollout of the job
 // document to all devices in the target group. Additionally, you can specify
 // the end behavior for each job execution when it reaches the scheduled end
@@ -59553,11 +59692,20 @@ type SchedulingConfig struct {
 	// from the current time and be scheduled a minimum of thirty minutes from the
 	// current time. The minimum duration between startTime and endTime is thirty
 	// minutes. The maximum duration between startTime and endTime is two years.
+	// The date and time format for the endTime is YYYY-MM-DD for the date and HH:MM
+	// for the time.
 	EndTime *string `locationName:"endTime" min:"1" type:"string"`
 
+	// An optional configuration within the SchedulingConfig to setup a recurring
+	// maintenance window with a predetermined start time and duration for the rollout
+	// of a job document to all devices in a target group for a job.
+	MaintenanceWindows []*MaintenanceWindow `locationName:"maintenanceWindows" type:"list"`
+
 	// The time a job will begin rollout of the job document to all devices in the
 	// target group for a job. The startTime can be scheduled up to a year in advance
 	// and must be scheduled a minimum of thirty minutes from the current time.
+	// The date and time format for the startTime is YYYY-MM-DD for the date and
+	// HH:MM for the time.
 	StartTime *string `locationName:"startTime" min:"1" type:"string"`
 }
 
@@ -59588,6 +59736,16 @@ func (s *SchedulingConfig) Validate() error {
 	if s.StartTime != nil && len(*s.StartTime) < 1 {
 		invalidParams.Add(request.NewErrParamMinLen("StartTime", 1))
 	}
+	if s.MaintenanceWindows != nil {
+		for i, v := range s.MaintenanceWindows {
+			if v == nil {
+				continue
+			}
+			if err := v.Validate(); err != nil {
+				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MaintenanceWindows", i), err.(request.ErrInvalidParams))
+			}
+		}
+	}
 
 	if invalidParams.Len() > 0 {
 		return invalidParams
@@ -59607,6 +59765,12 @@ func (s *SchedulingConfig) SetEndTime(v string) *SchedulingConfig {
 	return s
 }
 
+// SetMaintenanceWindows sets the MaintenanceWindows field's value.
+func (s *SchedulingConfig) SetMaintenanceWindows(v []*MaintenanceWindow) *SchedulingConfig {
+	s.MaintenanceWindows = v
+	return s
+}
+
 // SetStartTime sets the StartTime field's value.
 func (s *SchedulingConfig) SetStartTime(v string) *SchedulingConfig {
 	s.StartTime = &v
diff --git a/service/migrationhubstrategyrecommendations/api.go b/service/migrationhubstrategyrecommendations/api.go
index 1e09f2d4613..b3e2a74ece5 100644
--- a/service/migrationhubstrategyrecommendations/api.go
+++ b/service/migrationhubstrategyrecommendations/api.go
@@ -8116,6 +8116,9 @@ const (
 
 	// DataSourceTypeMpa is a DataSourceType enum value
 	DataSourceTypeMpa = "MPA"
+
+	// DataSourceTypeImport is a DataSourceType enum value
+	DataSourceTypeImport = "Import"
 )
 
 // DataSourceType_Values returns all elements of the DataSourceType enum
@@ -8123,6 +8126,7 @@ func DataSourceType_Values() []string {
 	return []string{
 		DataSourceTypeApplicationDiscoveryService,
 		DataSourceTypeMpa,
+		DataSourceTypeImport,
 	}
 }
 
@@ -8149,12 +8153,16 @@ func DatabaseManagementPreference_Values() []string {
 const (
 	// GroupNameExternalId is a GroupName enum value
 	GroupNameExternalId = "ExternalId"
+
+	// GroupNameExternalSourceType is a GroupName enum value
+	GroupNameExternalSourceType = "ExternalSourceType"
 )
 
 // GroupName_Values returns all elements of the GroupName enum
 func GroupName_Values() []string {
 	return []string{
 		GroupNameExternalId,
+		GroupNameExternalSourceType,
 	}
 }
 
diff --git a/service/organizations/api.go b/service/organizations/api.go
index b09fd7c069b..1409058de5d 100644
--- a/service/organizations/api.go
+++ b/service/organizations/api.go
@@ -388,6 +388,10 @@ func (c *Organizations) AttachPolicyRequest(input *AttachPolicyInput) (req *requ
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -899,7 +903,8 @@ func (c *Organizations) CloseAccountRequest(input *CloseAccountInput) (req *requ
 // CloseAccount API operation for AWS Organizations.
 //
 // Closes an Amazon Web Services member account within an organization. You
-// can't close the management account with this API. This is an asynchronous
+// can close an account when all features are enabled (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html).
+// You can't close the management account with this API. This is an asynchronous
 // request that Amazon Web Services performs in the background. Because CloseAccount
 // operates asynchronously, it can return a successful completion message even
 // though account closure might still be in progress. You need to wait a few
@@ -917,10 +922,12 @@ func (c *Organizations) CloseAccountRequest(input *CloseAccountInput) (req *requ
 //     (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_security_incident-response.html#orgs_cloudtrail-integration)
 //     in the Organizations User Guide.
 //
-//   - You can only close 10% of active member accounts within a rolling 30
-//     day period. This quota is not bound by a calendar month, but starts when
-//     you close an account. Within 30 days of that initial account closure,
-//     you can't exceed the 10% account closure limit.
+//   - You can close only 10% of member accounts, between 10 and 200, within
+//     a rolling 30 day period. This quota is not bound by a calendar month,
+//     but starts when you close an account. After you reach this limit, you
+//     can close additional accounts in the Billing console. For more information,
+//     see Closing an account (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/close-account.html)
+//     in the Amazon Web Services Billing and Cost Management User Guide.
 //
 //   - To reinstate a closed account, contact Amazon Web Services Support within
 //     the 90-day grace period while the account is in SUSPENDED status.
@@ -997,6 +1004,10 @@ func (c *Organizations) CloseAccountRequest(input *CloseAccountInput) (req *requ
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -1408,6 +1419,10 @@ func (c *Organizations) CreateAccountRequest(input *CreateAccountInput) (req *re
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -1868,6 +1883,10 @@ func (c *Organizations) CreateGovCloudAccountRequest(input *CreateGovCloudAccoun
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -2232,6 +2251,10 @@ func (c *Organizations) CreateOrganizationRequest(input *CreateOrganizationInput
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -2590,6 +2613,10 @@ func (c *Organizations) CreateOrganizationalUnitRequest(input *CreateOrganizatio
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -2946,6 +2973,10 @@ func (c *Organizations) CreatePolicyRequest(input *CreatePolicyInput) (req *requ
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -4094,6 +4125,10 @@ func (c *Organizations) DeleteResourcePolicyRequest(input *DeleteResourcePolicyI
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -4376,6 +4411,10 @@ func (c *Organizations) DeregisterDelegatedAdministratorRequest(input *Deregiste
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -5104,6 +5143,10 @@ func (c *Organizations) DescribeEffectivePolicyRequest(input *DescribeEffectiveP
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -6077,7 +6120,8 @@ func (c *Organizations) DescribeResourcePolicyRequest(input *DescribeResourcePol
 // Retrieves information about a resource policy.
 //
 // You can only call this operation from the organization's management account
-// or by a member account that is a delegated administrator for an AWS service.
+// or by a member account that is a delegated administrator for an Amazon Web
+// Services service.
 //
 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 // with awserr.Error's Code and Message methods to get detailed information about
@@ -6143,6 +6187,10 @@ func (c *Organizations) DescribeResourcePolicyRequest(input *DescribeResourcePol
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -6411,6 +6459,10 @@ func (c *Organizations) DetachPolicyRequest(input *DetachPolicyInput) (req *requ
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -6824,6 +6876,10 @@ func (c *Organizations) DisableAWSServiceAccessRequest(input *DisableAWSServiceA
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -7183,6 +7239,10 @@ func (c *Organizations) DisablePolicyTypeRequest(input *DisablePolicyTypeInput)
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -7561,6 +7621,10 @@ func (c *Organizations) EnableAWSServiceAccessRequest(input *EnableAWSServiceAcc
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -8173,6 +8237,10 @@ func (c *Organizations) EnablePolicyTypeRequest(input *EnablePolicyTypeInput) (r
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -8614,6 +8682,10 @@ func (c *Organizations) InviteAccountToOrganizationRequest(input *InviteAccountT
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -9011,6 +9083,10 @@ func (c *Organizations) LeaveOrganizationRequest(input *LeaveOrganizationInput)
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -9371,6 +9447,10 @@ func (c *Organizations) ListAWSServiceAccessForOrganizationRequest(input *ListAW
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -10763,6 +10843,10 @@ func (c *Organizations) ListDelegatedAdministratorsRequest(input *ListDelegatedA
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -11174,6 +11258,10 @@ func (c *Organizations) ListDelegatedServicesForAccountRequest(input *ListDelega
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -14104,6 +14192,10 @@ func (c *Organizations) PutResourcePolicyRequest(input *PutResourcePolicyInput)
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -14380,6 +14472,10 @@ func (c *Organizations) RegisterDelegatedAdministratorRequest(input *RegisterDel
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -14764,6 +14860,10 @@ func (c *Organizations) RemoveAccountFromOrganizationRequest(input *RemoveAccoun
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -15126,6 +15226,10 @@ func (c *Organizations) TagResourceRequest(input *TagResourceInput) (req *reques
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -15483,6 +15587,10 @@ func (c *Organizations) UntagResourceRequest(input *UntagResourceInput) (req *re
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -16019,6 +16127,10 @@ func (c *Organizations) UpdatePolicyRequest(input *UpdatePolicyInput) (req *requ
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -17589,6 +17701,10 @@ func (s *ConflictException) RequestID() string {
 //   - ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 //     of accounts that you can create in one day.
 //
+//   - ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+//     your account isn't fully active. You must complete the account setup before
+//     you create an organization.
+//
 //   - ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 //     the number of accounts in an organization. If you need more accounts,
 //     contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
@@ -17876,9 +17992,9 @@ type CreateAccountInput struct {
 	// information about tagging, see Tagging Organizations resources (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html)
 	// in the Organizations User Guide.
 	//
-	// If any one of the tags is invalid or if you exceed the maximum allowed number
-	// of tags for an account, then the entire request fails and the account is
-	// not created.
+	// If any one of the tags is not valid or if you exceed the maximum allowed
+	// number of tags for an account, then the entire request fails and the account
+	// is not created.
 	Tags []*Tag `type:"list"`
 }
 
@@ -18325,9 +18441,9 @@ type CreateGovCloudAccountInput struct {
 	// information about tagging, see Tagging Organizations resources (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html)
 	// in the Organizations User Guide.
 	//
-	// If any one of the tags is invalid or if you exceed the maximum allowed number
-	// of tags for an account, then the entire request fails and the account is
-	// not created.
+	// If any one of the tags is not valid or if you exceed the maximum allowed
+	// number of tags for an account, then the entire request fails and the account
+	// is not created.
 	Tags []*Tag `type:"list"`
 }
 
@@ -18551,7 +18667,7 @@ type CreateOrganizationalUnitInput struct {
 	// about tagging, see Tagging Organizations resources (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html)
 	// in the Organizations User Guide.
 	//
-	// If any one of the tags is invalid or if you exceed the allowed number of
+	// If any one of the tags is not valid or if you exceed the allowed number of
 	// tags for an OU, then the entire request fails and the OU is not created.
 	Tags []*Tag `type:"list"`
 }
@@ -18681,7 +18797,7 @@ type CreatePolicyInput struct {
 	// about tagging, see Tagging Organizations resources (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html)
 	// in the Organizations User Guide.
 	//
-	// If any one of the tags is invalid or if you exceed the allowed number of
+	// If any one of the tags is not valid or if you exceed the allowed number of
 	// tags for a policy, then the entire request fails and the policy is not created.
 	Tags []*Tag `type:"list"`
 
@@ -21941,7 +22057,7 @@ type InviteAccountToOrganizationInput struct {
 	// policy changes between the invitation and the acceptance, then that tags
 	// could potentially be non-compliant.
 	//
-	// If any one of the tags is invalid or if you exceed the allowed number of
+	// If any one of the tags is not valid or if you exceed the allowed number of
 	// tags for an account, then the entire request fails and invitations are not
 	// sent.
 	Tags []*Tag `type:"list"`
@@ -25583,14 +25699,14 @@ type PutResourcePolicyInput struct {
 	// Content is a required field
 	Content *string `min:"1" type:"string" required:"true"`
 
-	// Updates the list of tags that you want to attach to the newly-created resource
-	// policy. For each tag in the list, you must specify both a tag key and a value.
-	// You can set the value to an empty string, but you can't set it to null. For
-	// more information about tagging, see Tagging Organizations resources (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html)
+	// A list of tags that you want to attach to the newly created resource policy.
+	// For each tag in the list, you must specify both a tag key and a value. You
+	// can set the value to an empty string, but you can't set it to null. For more
+	// information about tagging, see Tagging Organizations resources (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_tagging.html)
 	// in the Organizations User Guide.
 	//
 	// Calls with tags apply to the initial creation of the resource policy, otherwise
-	// an exception is thrown. If any one of the tags is invalid or if you exceed
+	// an exception is thrown. If any one of the tags is not valid or if you exceed
 	// the allowed number of tags for the resource policy, then the entire request
 	// fails and the resource policy is not created.
 	Tags []*Tag `type:"list"`
@@ -26361,8 +26477,8 @@ type TagResourceInput struct {
 	// For each tag in the list, you must specify both a tag key and a value. The
 	// value can be an empty string, but you can't set it to null.
 	//
-	// If any one of the tags is invalid or if you exceed the maximum allowed number
-	// of tags for a resource, then the entire request fails.
+	// If any one of the tags is not valid or if you exceed the maximum allowed
+	// number of tags for a resource, then the entire request fails.
 	//
 	// Tags is a required field
 	Tags []*Tag `type:"list" required:"true"`
@@ -27149,6 +27265,9 @@ const (
 
 	// ConstraintViolationExceptionReasonInvalidPaymentInstrument is a ConstraintViolationExceptionReason enum value
 	ConstraintViolationExceptionReasonInvalidPaymentInstrument = "INVALID_PAYMENT_INSTRUMENT"
+
+	// ConstraintViolationExceptionReasonAccountCreationNotComplete is a ConstraintViolationExceptionReason enum value
+	ConstraintViolationExceptionReasonAccountCreationNotComplete = "ACCOUNT_CREATION_NOT_COMPLETE"
 )
 
 // ConstraintViolationExceptionReason_Values returns all elements of the ConstraintViolationExceptionReason enum
@@ -27187,6 +27306,7 @@ func ConstraintViolationExceptionReason_Values() []string {
 		ConstraintViolationExceptionReasonCloseAccountRequestsLimitExceeded,
 		ConstraintViolationExceptionReasonServiceAccessNotEnabled,
 		ConstraintViolationExceptionReasonInvalidPaymentInstrument,
+		ConstraintViolationExceptionReasonAccountCreationNotComplete,
 	}
 }
 
diff --git a/service/organizations/errors.go b/service/organizations/errors.go
index 9174ef37458..70a0d294cb9 100644
--- a/service/organizations/errors.go
+++ b/service/organizations/errors.go
@@ -126,6 +126,10 @@ const (
 	//    * ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number
 	//    of accounts that you can create in one day.
 	//
+	//    * ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or
+	//    your account isn't fully active. You must complete the account setup before
+	//    you create an organization.
+	//
 	//    * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on
 	//    the number of accounts in an organization. If you need more accounts,
 	//    contact Amazon Web Services Support (https://docs.aws.amazon.com/support/home#/)
diff --git a/service/pi/api.go b/service/pi/api.go
index 2e94586ad97..72cd1fcc1cb 100644
--- a/service/pi/api.go
+++ b/service/pi/api.go
@@ -1892,6 +1892,10 @@ type GetResourceMetricsInput struct {
 	// the value specified by MaxRecords.
 	NextToken *string `min:"1" type:"string"`
 
+	// The returned timestamp which is the start or end time of the time periods.
+	// The default value is END_TIME.
+	PeriodAlignment *string `type:"string" enum:"PeriodAlignment"`
+
 	// The granularity, in seconds, of the data points returned from Performance
 	// Insights. A period can be as short as one second, or as long as one day (86400
 	// seconds). Valid values are:
@@ -2022,6 +2026,12 @@ func (s *GetResourceMetricsInput) SetNextToken(v string) *GetResourceMetricsInpu
 	return s
 }
 
+// SetPeriodAlignment sets the PeriodAlignment field's value.
+func (s *GetResourceMetricsInput) SetPeriodAlignment(v string) *GetResourceMetricsInput {
+	s.PeriodAlignment = &v
+	return s
+}
+
 // SetPeriodInSeconds sets the PeriodInSeconds field's value.
 func (s *GetResourceMetricsInput) SetPeriodInSeconds(v int64) *GetResourceMetricsInput {
 	s.PeriodInSeconds = &v
@@ -2998,6 +3008,22 @@ func FeatureStatus_Values() []string {
 	}
 }
 
+const (
+	// PeriodAlignmentEndTime is a PeriodAlignment enum value
+	PeriodAlignmentEndTime = "END_TIME"
+
+	// PeriodAlignmentStartTime is a PeriodAlignment enum value
+	PeriodAlignmentStartTime = "START_TIME"
+)
+
+// PeriodAlignment_Values returns all elements of the PeriodAlignment enum
+func PeriodAlignment_Values() []string {
+	return []string{
+		PeriodAlignmentEndTime,
+		PeriodAlignmentStartTime,
+	}
+}
+
 const (
 	// ServiceTypeRds is a ServiceType enum value
 	ServiceTypeRds = "RDS"
diff --git a/service/pipes/api.go b/service/pipes/api.go
index 95ae2007fe4..b21f10b7643 100644
--- a/service/pipes/api.go
+++ b/service/pipes/api.go
@@ -940,8 +940,8 @@ func (c *Pipes) UpdatePipeRequest(input *UpdatePipeInput) (req *request.Request,
 // field in one of these Parameters objects, that field will be set to its system-default
 // value after the update.
 //
-//	<p>For more information about pipes, see <a href="https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html">
-//	Amazon EventBridge Pipes</a> in the Amazon EventBridge User Guide.</p>
+// For more information about pipes, see Amazon EventBridge Pipes (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-pipes.html)
+// in the Amazon EventBridge User Guide.
 //
 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 // with awserr.Error's Code and Message methods to get detailed information about
diff --git a/service/sagemaker/api.go b/service/sagemaker/api.go
index 59fa95d3e0c..ef53d8a8b3e 100644
--- a/service/sagemaker/api.go
+++ b/service/sagemaker/api.go
@@ -3672,7 +3672,7 @@ func (c *SageMaker) CreateMonitoringScheduleRequest(input *CreateMonitoringSched
 // CreateMonitoringSchedule API operation for Amazon SageMaker Service.
 //
 // Creates a schedule that regularly starts Amazon SageMaker Processing Jobs
-// to monitor the data captured for an Amazon SageMaker Endoint.
+// to monitor the data captured for an Amazon SageMaker Endpoint.
 //
 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 // with awserr.Error's Code and Message methods to get detailed information about
@@ -13937,10 +13937,9 @@ func (c *SageMaker) GetSearchSuggestionsRequest(input *GetSearchSuggestionsInput
 
 // GetSearchSuggestions API operation for Amazon SageMaker Service.
 //
-// An auto-complete API for the search functionality in the Amazon SageMaker
-// console. It returns suggestions of possible matches for the property name
-// to use in Search queries. Provides suggestions for HyperParameters, Tags,
-// and Metrics.
+// An auto-complete API for the search functionality in the SageMaker console.
+// It returns suggestions of possible matches for the property name to use in
+// Search queries. Provides suggestions for HyperParameters, Tags, and Metrics.
 //
 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 // with awserr.Error's Code and Message methods to get detailed information about
@@ -23793,14 +23792,19 @@ func (c *SageMaker) SearchRequest(input *SearchInput) (req *request.Request, out
 
 // Search API operation for Amazon SageMaker Service.
 //
-// Finds Amazon SageMaker resources that match a search query. Matching resources
-// are returned as a list of SearchRecord objects in the response. You can sort
+// Finds SageMaker resources that match a search query. Matching resources are
+// returned as a list of SearchRecord objects in the response. You can sort
 // the search results by any resource property in a ascending or descending
 // order.
 //
 // You can query against the following value types: numeric, text, Boolean,
 // and timestamp.
 //
+// The Search API may provide access to otherwise restricted data. See Amazon
+// SageMaker API Permissions: Actions, Permissions, and Resources Reference
+// (https://docs.aws.amazon.com/sagemaker/latest/dg/api-permissions-reference.html)
+// for more information.
+//
 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 // with awserr.Error's Code and Message methods to get detailed information about
 // the error.
@@ -42343,8 +42347,11 @@ type CreateModelPackageInput struct {
 	ModelPackageName *string `min:"1" type:"string"`
 
 	// The Amazon Simple Storage Service (Amazon S3) path where the sample payload
-	// are stored. This path must point to a single gzip compressed tar archive
-	// (.tar.gz suffix).
+	// is stored. This path must point to a single gzip compressed tar archive (.tar.gz
+	// suffix). This archive can hold multiple files that are all equally used in
+	// the load test. Each file in the archive must satisfy the size constraints
+	// of the InvokeEndpoint (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html#API_runtime_InvokeEndpoint_RequestSyntax)
+	// call.
 	SamplePayloadUrl *string `type:"string"`
 
 	// Details about the algorithm that was used to create the model package.
@@ -66831,8 +66838,7 @@ func (s *FileSystemDataSource) SetFileSystemType(v string) *FileSystemDataSource
 // property, a Boolean operator, and a value. Resources that match the statement
 // are returned in the results from the Search API.
 //
-// If you specify a Value, but not an Operator, Amazon SageMaker uses the equals
-// operator.
+// If you specify a Value, but not an Operator, SageMaker uses the equals operator.
 //
 // In search, there are several property types:
 //
@@ -67655,7 +67661,7 @@ func (s *GetSagemakerServicecatalogPortfolioStatusOutput) SetStatus(v string) *G
 type GetSearchSuggestionsInput struct {
 	_ struct{} `type:"structure"`
 
-	// The name of the Amazon SageMaker resource to search for.
+	// The name of the SageMaker resource to search for.
 	//
 	// Resource is a required field
 	Resource *string `type:"string" required:"true" enum:"ResourceType"`
@@ -72563,7 +72569,7 @@ func (s *InferenceRecommendationsJob) SetStatus(v string) *InferenceRecommendati
 }
 
 // A returned array object for the Steps response field in the ListInferenceRecommendationsJobSteps
-// (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_InferenceRecommendationsJobStep.html)
+// (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListInferenceRecommendationsJobSteps.html)
 // API command.
 type InferenceRecommendationsJobStep struct {
 	_ struct{} `type:"structure"`
@@ -96914,7 +96920,7 @@ type PropertyNameSuggestion struct {
 	_ struct{} `type:"structure"`
 
 	// A suggested property name based on what you entered in the search textbox
-	// in the Amazon SageMaker console.
+	// in the SageMaker console.
 	PropertyName *string `min:"1" type:"string"`
 }
 
@@ -98201,6 +98207,10 @@ type RecommendationJobInferenceBenchmark struct {
 	// job.
 	EndpointConfiguration *EndpointOutputConfiguration `type:"structure"`
 
+	// The metrics for an existing endpoint compared in an Inference Recommender
+	// job.
+	EndpointMetrics *InferenceMetrics `type:"structure"`
+
 	// The reason why a benchmark failed.
 	FailureReason *string `type:"string"`
 
@@ -98238,6 +98248,12 @@ func (s *RecommendationJobInferenceBenchmark) SetEndpointConfiguration(v *Endpoi
 	return s
 }
 
+// SetEndpointMetrics sets the EndpointMetrics field's value.
+func (s *RecommendationJobInferenceBenchmark) SetEndpointMetrics(v *InferenceMetrics) *RecommendationJobInferenceBenchmark {
+	s.EndpointMetrics = v
+	return s
+}
+
 // SetFailureReason sets the FailureReason field's value.
 func (s *RecommendationJobInferenceBenchmark) SetFailureReason(v string) *RecommendationJobInferenceBenchmark {
 	s.FailureReason = &v
@@ -99852,8 +99868,7 @@ type ResourceLimits struct {
 	// MaxParallelTrainingJobs is a required field
 	MaxParallelTrainingJobs *int64 `min:"1" type:"integer" required:"true"`
 
-	// The maximum time in seconds that a training job launched by a hyperparameter
-	// tuning job can run.
+	// The maximum time in seconds that a hyperparameter tuning job can run.
 	MaxRuntimeInSeconds *int64 `min:"120" type:"integer"`
 }
 
@@ -100668,7 +100683,7 @@ type SearchInput struct {
 	// to continue retrieving results.
 	NextToken *string `type:"string"`
 
-	// The name of the Amazon SageMaker resource to search for.
+	// The name of the SageMaker resource to search for.
 	//
 	// Resource is a required field
 	Resource *string `type:"string" required:"true" enum:"ResourceType"`
@@ -111556,19 +111571,25 @@ type UpdateTrialComponentInput struct {
 	// When the component ended.
 	EndTime *time.Time `type:"timestamp"`
 
-	// Replaces all of the component's input artifacts with the specified artifacts.
+	// Replaces all of the component's input artifacts with the specified artifacts
+	// or adds new input artifacts. Existing input artifacts are replaced if the
+	// trial component is updated with an identical input artifact key.
 	InputArtifacts map[string]*TrialComponentArtifact `type:"map"`
 
 	// The input artifacts to remove from the component.
 	InputArtifactsToRemove []*string `type:"list"`
 
-	// Replaces all of the component's output artifacts with the specified artifacts.
+	// Replaces all of the component's output artifacts with the specified artifacts
+	// or adds new output artifacts. Existing output artifacts are replaced if the
+	// trial component is updated with an identical output artifact key.
 	OutputArtifacts map[string]*TrialComponentArtifact `type:"map"`
 
 	// The output artifacts to remove from the component.
 	OutputArtifactsToRemove []*string `type:"list"`
 
-	// Replaces all of the component's hyperparameters with the specified hyperparameters.
+	// Replaces all of the component's hyperparameters with the specified hyperparameters
+	// or add new hyperparameters. Existing hyperparameters are replaced if the
+	// trial component is updated with an identical hyperparameter key.
 	Parameters map[string]*TrialComponentParameterValue `type:"map"`
 
 	// The hyperparameters to remove from the component.