AWS SDK

AWS SDK

rev. 74826e0bd468b1b8eecfcb1db37848e7d64f732d

Files changed:

tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml

@@ -1,1 +47,50 @@
    8      8   
license = "Apache-2.0"
    9      9   
repository = "https://github.com/awslabs/aws-sdk-rust"
   10     10   
rust-version = "1.91.1"
   11     11   
readme = "README.md"
   12     12   
[package.metadata.smithy]
   13     13   
codegen-version = "ci"
   14     14   
protocol = "aws.protocols#awsJson1_0"
   15     15   
[package.metadata.docs.rs]
   16     16   
all-features = true
   17     17   
targets = ["x86_64-unknown-linux-gnu"]
          18  +
[dependencies.arc-swap]
          19  +
version = "1"
          20  +
   18     21   
[dependencies.aws-credential-types]
   19     22   
path = "../aws-credential-types"
   20     23   
version = "1.2.14"
   21     24   
   22     25   
[dependencies.aws-runtime]
   23     26   
path = "../aws-runtime"
   24     27   
version = "1.7.4"
   25     28   
   26     29   
[dependencies.aws-smithy-async]
   27     30   
path = "../aws-smithy-async"

tmp-codegen-diff/aws-sdk/sdk/dynamodb/src/client.rs

@@ -113,113 +178,202 @@
  133    133   
        Ok(())
  134    134   
    }
  135    135   
}
  136    136   
  137    137   
///
  138    138   
/// Waiter functions for the client.
  139    139   
///
  140    140   
/// Import this trait to get `wait_until` methods on the client.
  141    141   
///
  142    142   
pub trait Waiters {
         143  +
    /// Wait for `contributor_insights_enabled`
         144  +
    fn wait_until_contributor_insights_enabled(&self) -> crate::waiters::contributor_insights_enabled::ContributorInsightsEnabledFluentBuilder;
         145  +
    /// Wait for `export_completed`
         146  +
    fn wait_until_export_completed(&self) -> crate::waiters::export_completed::ExportCompletedFluentBuilder;
         147  +
    /// Wait for `import_completed`
         148  +
    fn wait_until_import_completed(&self) -> crate::waiters::import_completed::ImportCompletedFluentBuilder;
         149  +
    /// Wait for `kinesis_streaming_destination_active`
         150  +
    fn wait_until_kinesis_streaming_destination_active(
         151  +
        &self,
         152  +
    ) -> crate::waiters::kinesis_streaming_destination_active::KinesisStreamingDestinationActiveFluentBuilder;
  143    153   
    /// Wait for `table_exists`
  144    154   
    fn wait_until_table_exists(&self) -> crate::waiters::table_exists::TableExistsFluentBuilder;
  145    155   
    /// Wait for `table_not_exists`
  146    156   
    fn wait_until_table_not_exists(&self) -> crate::waiters::table_not_exists::TableNotExistsFluentBuilder;
  147    157   
}
  148    158   
impl Waiters for Client {
         159  +
    fn wait_until_contributor_insights_enabled(&self) -> crate::waiters::contributor_insights_enabled::ContributorInsightsEnabledFluentBuilder {
         160  +
        crate::waiters::contributor_insights_enabled::ContributorInsightsEnabledFluentBuilder::new(self.handle.clone())
         161  +
    }
         162  +
    fn wait_until_export_completed(&self) -> crate::waiters::export_completed::ExportCompletedFluentBuilder {
         163  +
        crate::waiters::export_completed::ExportCompletedFluentBuilder::new(self.handle.clone())
         164  +
    }
         165  +
    fn wait_until_import_completed(&self) -> crate::waiters::import_completed::ImportCompletedFluentBuilder {
         166  +
        crate::waiters::import_completed::ImportCompletedFluentBuilder::new(self.handle.clone())
         167  +
    }
         168  +
    fn wait_until_kinesis_streaming_destination_active(
         169  +
        &self,
         170  +
    ) -> crate::waiters::kinesis_streaming_destination_active::KinesisStreamingDestinationActiveFluentBuilder {
         171  +
        crate::waiters::kinesis_streaming_destination_active::KinesisStreamingDestinationActiveFluentBuilder::new(self.handle.clone())
         172  +
    }
  149    173   
    fn wait_until_table_exists(&self) -> crate::waiters::table_exists::TableExistsFluentBuilder {
  150    174   
        crate::waiters::table_exists::TableExistsFluentBuilder::new(self.handle.clone())
  151    175   
    }
  152    176   
    fn wait_until_table_not_exists(&self) -> crate::waiters::table_not_exists::TableNotExistsFluentBuilder {
  153    177   
        crate::waiters::table_not_exists::TableNotExistsFluentBuilder::new(self.handle.clone())
  154    178   
    }
  155    179   
}
  156    180   
  157    181   
impl Client {
  158    182   
    /// Creates a new client from an [SDK Config](::aws_types::sdk_config::SdkConfig).

tmp-codegen-diff/aws-sdk/sdk/dynamodb/src/client/create_table.rs

@@ -1,1 +27,29 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
impl super::Client {
    3      3   
    /// Constructs a fluent builder for the [`CreateTable`](crate::operation::create_table::builders::CreateTableFluentBuilder) operation.
    4      4   
    ///
    5      5   
    /// - The fluent builder is configurable:
    6         -
    ///   - [`attribute_definitions(AttributeDefinition)`](crate::operation::create_table::builders::CreateTableFluentBuilder::attribute_definitions) / [`set_attribute_definitions(Option<Vec::<AttributeDefinition>>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_attribute_definitions):<br>required: **true**<br><p>An array of attributes that describe the key schema for the table and indexes.</p><br>
           6  +
    ///   - [`attribute_definitions(AttributeDefinition)`](crate::operation::create_table::builders::CreateTableFluentBuilder::attribute_definitions) / [`set_attribute_definitions(Option<Vec::<AttributeDefinition>>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_attribute_definitions):<br>required: **false**<br><p>An array of attributes that describe the key schema for the table and indexes.</p><br>
    7      7   
    ///   - [`table_name(impl Into<String>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::table_name) / [`set_table_name(Option<String>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_table_name):<br>required: **true**<br><p>The name of the table to create. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.</p><br>
    8         -
    ///   - [`key_schema(KeySchemaElement)`](crate::operation::create_table::builders::CreateTableFluentBuilder::key_schema) / [`set_key_schema(Option<Vec::<KeySchemaElement>>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_key_schema):<br>required: **true**<br><p>Specifies the attributes that make up the primary key for a table or an index. The attributes in <code>KeySchema</code> must also be defined in the <code>AttributeDefinitions</code> array. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html">Data Model</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p> <p>Each <code>KeySchemaElement</code> in the array is composed of:</p> <ul>  <li>   <p><code>AttributeName</code> - The name of this key attribute.</p></li>  <li>   <p><code>KeyType</code> - The role that the key attribute will assume:</p>   <ul>    <li>     <p><code>HASH</code> - partition key</p></li>    <li>     <p><code>RANGE</code> - sort key</p></li>   </ul></li> </ul><note>  <p>The partition key of an item is also known as its <i>hash attribute</i>. The term "hash attribute" derives from the DynamoDB usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.</p>  <p>The sort key of an item is also known as its <i>range attribute</i>. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.</p> </note> <p>For a simple primary key (partition key), you must provide exactly one element with a <code>KeyType</code> of <code>HASH</code>.</p> <p>For a composite primary key (partition key and sort key), you must provide exactly two elements, in this order: The first element must have a <code>KeyType</code> of <code>HASH</code>, and the second element must have a <code>KeyType</code> of <code>RANGE</code>.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#WorkingWithTables.primary.key">Working with Tables</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p><br>
           8  +
    ///   - [`key_schema(KeySchemaElement)`](crate::operation::create_table::builders::CreateTableFluentBuilder::key_schema) / [`set_key_schema(Option<Vec::<KeySchemaElement>>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_key_schema):<br>required: **false**<br><p>Specifies the attributes that make up the primary key for a table or an index. The attributes in <code>KeySchema</code> must also be defined in the <code>AttributeDefinitions</code> array. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html">Data Model</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p> <p>Each <code>KeySchemaElement</code> in the array is composed of:</p> <ul>  <li>   <p><code>AttributeName</code> - The name of this key attribute.</p></li>  <li>   <p><code>KeyType</code> - The role that the key attribute will assume:</p>   <ul>    <li>     <p><code>HASH</code> - partition key</p></li>    <li>     <p><code>RANGE</code> - sort key</p></li>   </ul></li> </ul><note>  <p>The partition key of an item is also known as its <i>hash attribute</i>. The term "hash attribute" derives from the DynamoDB usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.</p>  <p>The sort key of an item is also known as its <i>range attribute</i>. The term "range attribute" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.</p> </note> <p>For a simple primary key (partition key), you must provide exactly one element with a <code>KeyType</code> of <code>HASH</code>.</p> <p>For a composite primary key (partition key and sort key), you must provide exactly two elements, in this order: The first element must have a <code>KeyType</code> of <code>HASH</code>, and the second element must have a <code>KeyType</code> of <code>RANGE</code>.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#WorkingWithTables.primary.key">Working with Tables</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p><br>
    9      9   
    ///   - [`local_secondary_indexes(LocalSecondaryIndex)`](crate::operation::create_table::builders::CreateTableFluentBuilder::local_secondary_indexes) / [`set_local_secondary_indexes(Option<Vec::<LocalSecondaryIndex>>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_local_secondary_indexes):<br>required: **false**<br><p>One or more local secondary indexes (the maximum is 5) to be created on the table. Each index is scoped to a given partition key value. There is a 10 GB size limit per partition key value; otherwise, the size of a local secondary index is unconstrained.</p> <p>Each local secondary index in the array includes the following:</p> <ul>  <li>   <p><code>IndexName</code> - The name of the local secondary index. Must be unique only for this table.</p>   <p></p></li>  <li>   <p><code>KeySchema</code> - Specifies the key schema for the local secondary index. The key schema must begin with the same partition key as the table.</p></li>  <li>   <p><code>Projection</code> - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:</p>   <ul>    <li>     <p><code>ProjectionType</code> - One of the following:</p>     <ul>      <li>       <p><code>KEYS_ONLY</code> - Only the index and primary keys are projected into the index.</p></li>      <li>       <p><code>INCLUDE</code> - Only the specified table attributes are projected into the index. The list of projected attributes is in <code>NonKeyAttributes</code>.</p></li>      <li>       <p><code>ALL</code> - All of the table attributes are projected into the index.</p></li>     </ul></li>    <li>     <p><code>NonKeyAttributes</code> - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in <code>NonKeyAttributes</code>, summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total. This limit only applies when you specify the ProjectionType of <code>INCLUDE</code>. You still can specify the ProjectionType of <code>ALL</code> to project all attributes from the source table, even if the table has more than 100 attributes.</p></li>   </ul></li> </ul><br>
   10         -
    ///   - [`global_secondary_indexes(GlobalSecondaryIndex)`](crate::operation::create_table::builders::CreateTableFluentBuilder::global_secondary_indexes) / [`set_global_secondary_indexes(Option<Vec::<GlobalSecondaryIndex>>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_global_secondary_indexes):<br>required: **false**<br><p>One or more global secondary indexes (the maximum is 20) to be created on the table. Each global secondary index in the array includes the following:</p> <ul>  <li>   <p><code>IndexName</code> - The name of the global secondary index. Must be unique only for this table.</p>   <p></p></li>  <li>   <p><code>KeySchema</code> - Specifies the key schema for the global secondary index.</p></li>  <li>   <p><code>Projection</code> - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:</p>   <ul>    <li>     <p><code>ProjectionType</code> - One of the following:</p>     <ul>      <li>       <p><code>KEYS_ONLY</code> - Only the index and primary keys are projected into the index.</p></li>      <li>       <p><code>INCLUDE</code> - Only the specified table attributes are projected into the index. The list of projected attributes is in <code>NonKeyAttributes</code>.</p></li>      <li>       <p><code>ALL</code> - All of the table attributes are projected into the index.</p></li>     </ul></li>    <li>     <p><code>NonKeyAttributes</code> - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in <code>NonKeyAttributes</code>, summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total. This limit only applies when you specify the ProjectionType of <code>INCLUDE</code>. You still can specify the ProjectionType of <code>ALL</code> to project all attributes from the source table, even if the table has more than 100 attributes.</p></li>   </ul></li>  <li>   <p><code>ProvisionedThroughput</code> - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units.</p></li> </ul><br>
          10  +
    ///   - [`global_secondary_indexes(GlobalSecondaryIndex)`](crate::operation::create_table::builders::CreateTableFluentBuilder::global_secondary_indexes) / [`set_global_secondary_indexes(Option<Vec::<GlobalSecondaryIndex>>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_global_secondary_indexes):<br>required: **false**<br><p>One or more global secondary indexes (the maximum is 20) to be created on the table. Each global secondary index in the array includes the following:</p> <ul>  <li>   <p><code>IndexName</code> - The name of the global secondary index. Must be unique only for this table.</p>   <p></p></li>  <li>   <p><code>KeySchema</code> - Specifies the key schema for the global secondary index. Each global secondary index supports up to 4 partition keys and up to 4 sort keys.</p></li>  <li>   <p><code>Projection</code> - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:</p>   <ul>    <li>     <p><code>ProjectionType</code> - One of the following:</p>     <ul>      <li>       <p><code>KEYS_ONLY</code> - Only the index and primary keys are projected into the index.</p></li>      <li>       <p><code>INCLUDE</code> - Only the specified table attributes are projected into the index. The list of projected attributes is in <code>NonKeyAttributes</code>.</p></li>      <li>       <p><code>ALL</code> - All of the table attributes are projected into the index.</p></li>     </ul></li>    <li>     <p><code>NonKeyAttributes</code> - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in <code>NonKeyAttributes</code>, summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total. This limit only applies when you specify the ProjectionType of <code>INCLUDE</code>. You still can specify the ProjectionType of <code>ALL</code> to project all attributes from the source table, even if the table has more than 100 attributes.</p></li>   </ul></li>  <li>   <p><code>ProvisionedThroughput</code> - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units.</p></li> </ul><br>
   11     11   
    ///   - [`billing_mode(BillingMode)`](crate::operation::create_table::builders::CreateTableFluentBuilder::billing_mode) / [`set_billing_mode(Option<BillingMode>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_billing_mode):<br>required: **false**<br><p>Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later.</p> <ul>  <li>   <p><code>PAY_PER_REQUEST</code> - We recommend using <code>PAY_PER_REQUEST</code> for most DynamoDB workloads. <code>PAY_PER_REQUEST</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/on-demand-capacity-mode.html">On-demand capacity mode</a>.</p></li>  <li>   <p><code>PROVISIONED</code> - We recommend using <code>PROVISIONED</code> for steady workloads with predictable growth where capacity requirements can be reliably forecasted. <code>PROVISIONED</code> sets the billing mode to <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/provisioned-capacity-mode.html">Provisioned capacity mode</a>.</p></li> </ul><br>
   12     12   
    ///   - [`provisioned_throughput(ProvisionedThroughput)`](crate::operation::create_table::builders::CreateTableFluentBuilder::provisioned_throughput) / [`set_provisioned_throughput(Option<ProvisionedThroughput>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_provisioned_throughput):<br>required: **false**<br><p>Represents the provisioned throughput settings for a specified table or index. The settings can be modified using the <code>UpdateTable</code> operation.</p> <p>If you set BillingMode as <code>PROVISIONED</code>, you must specify this property. If you set BillingMode as <code>PAY_PER_REQUEST</code>, you cannot specify this property.</p> <p>For current minimum and maximum provisioned throughput values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Limits.html">Service, Account, and Table Quotas</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p><br>
   13     13   
    ///   - [`stream_specification(StreamSpecification)`](crate::operation::create_table::builders::CreateTableFluentBuilder::stream_specification) / [`set_stream_specification(Option<StreamSpecification>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_stream_specification):<br>required: **false**<br><p>The settings for DynamoDB Streams on the table. These settings consist of:</p> <ul>  <li>   <p><code>StreamEnabled</code> - Indicates whether DynamoDB Streams is to be enabled (true) or disabled (false).</p></li>  <li>   <p><code>StreamViewType</code> - When an item in the table is modified, <code>StreamViewType</code> determines what information is written to the table's stream. Valid values for <code>StreamViewType</code> are:</p>   <ul>    <li>     <p><code>KEYS_ONLY</code> - Only the key attributes of the modified item are written to the stream.</p></li>    <li>     <p><code>NEW_IMAGE</code> - The entire item, as it appears after it was modified, is written to the stream.</p></li>    <li>     <p><code>OLD_IMAGE</code> - The entire item, as it appeared before it was modified, is written to the stream.</p></li>    <li>     <p><code>NEW_AND_OLD_IMAGES</code> - Both the new and the old item images of the item are written to the stream.</p></li>   </ul></li> </ul><br>
   14     14   
    ///   - [`sse_specification(SseSpecification)`](crate::operation::create_table::builders::CreateTableFluentBuilder::sse_specification) / [`set_sse_specification(Option<SseSpecification>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_sse_specification):<br>required: **false**<br><p>Represents the settings used to enable server-side encryption.</p><br>
   15     15   
    ///   - [`tags(Tag)`](crate::operation::create_table::builders::CreateTableFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_tags):<br>required: **false**<br><p>A list of key-value pairs to label the table. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html">Tagging for DynamoDB</a>.</p><br>
   16     16   
    ///   - [`table_class(TableClass)`](crate::operation::create_table::builders::CreateTableFluentBuilder::table_class) / [`set_table_class(Option<TableClass>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_table_class):<br>required: **false**<br><p>The table class of the new table. Valid values are <code>STANDARD</code> and <code>STANDARD_INFREQUENT_ACCESS</code>.</p><br>
   17     17   
    ///   - [`deletion_protection_enabled(bool)`](crate::operation::create_table::builders::CreateTableFluentBuilder::deletion_protection_enabled) / [`set_deletion_protection_enabled(Option<bool>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_deletion_protection_enabled):<br>required: **false**<br><p>Indicates whether deletion protection is to be enabled (true) or disabled (false) on the table.</p><br>
   18     18   
    ///   - [`warm_throughput(WarmThroughput)`](crate::operation::create_table::builders::CreateTableFluentBuilder::warm_throughput) / [`set_warm_throughput(Option<WarmThroughput>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_warm_throughput):<br>required: **false**<br><p>Represents the warm throughput (in read units per second and write units per second) for creating a table.</p><br>
   19     19   
    ///   - [`resource_policy(impl Into<String>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::resource_policy) / [`set_resource_policy(Option<String>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_resource_policy):<br>required: **false**<br><p>An Amazon Web Services resource-based policy document in JSON format that will be attached to the table.</p> <p>When you attach a resource-based policy while creating a table, the policy application is <i>strongly consistent</i>.</p> <p>The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. For a full list of all considerations that apply for resource-based policies, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-considerations.html">Resource-based policy considerations</a>.</p><note>  <p>You need to specify the <code>CreateTable</code> and <code>PutResourcePolicy</code> IAM actions for authorizing a user to create a table with a resource-based policy.</p> </note><br>
   20     20   
    ///   - [`on_demand_throughput(OnDemandThroughput)`](crate::operation::create_table::builders::CreateTableFluentBuilder::on_demand_throughput) / [`set_on_demand_throughput(Option<OnDemandThroughput>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_on_demand_throughput):<br>required: **false**<br><p>Sets the maximum number of read and write units for the specified table in on-demand capacity mode. If you use this parameter, you must specify <code>MaxReadRequestUnits</code>, <code>MaxWriteRequestUnits</code>, or both.</p><br>
          21  +
    ///   - [`global_table_source_arn(impl Into<String>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::global_table_source_arn) / [`set_global_table_source_arn(Option<String>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_global_table_source_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the source table used for the creation of a multi-account global table.</p><br>
          22  +
    ///   - [`global_table_settings_replication_mode(GlobalTableSettingsReplicationMode)`](crate::operation::create_table::builders::CreateTableFluentBuilder::global_table_settings_replication_mode) / [`set_global_table_settings_replication_mode(Option<GlobalTableSettingsReplicationMode>)`](crate::operation::create_table::builders::CreateTableFluentBuilder::set_global_table_settings_replication_mode):<br>required: **false**<br><p>Controls the settings synchronization mode for the global table. For multi-account global tables, this parameter is required and the only supported value is ENABLED. For same-account global tables, this parameter is set to ENABLED_WITH_OVERRIDES.</p><br>
   21     23   
    /// - On success, responds with [`CreateTableOutput`](crate::operation::create_table::CreateTableOutput) with field(s):
   22     24   
    ///   - [`table_description(Option<TableDescription>)`](crate::operation::create_table::CreateTableOutput::table_description): <p>Represents the properties of the table.</p>
   23     25   
    /// - On failure, responds with [`SdkError<CreateTableError>`](crate::operation::create_table::CreateTableError)
   24     26   
    pub fn create_table(&self) -> crate::operation::create_table::builders::CreateTableFluentBuilder {
   25     27   
        crate::operation::create_table::builders::CreateTableFluentBuilder::new(self.handle.clone())
   26     28   
    }
   27     29   
}

tmp-codegen-diff/aws-sdk/sdk/dynamodb/src/client/export_table_to_point_in_time.rs

@@ -1,1 +23,23 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
impl super::Client {
    3      3   
    /// Constructs a fluent builder for the [`ExportTableToPointInTime`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder) operation.
    4      4   
    ///
    5      5   
    /// - The fluent builder is configurable:
    6      6   
    ///   - [`table_arn(impl Into<String>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::table_arn) / [`set_table_arn(Option<String>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::set_table_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) associated with the table to export.</p><br>
    7      7   
    ///   - [`export_time(DateTime)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::export_time) / [`set_export_time(Option<DateTime>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::set_export_time):<br>required: **false**<br><p>Time in the past from which to export table data, counted in seconds from the start of the Unix epoch. The table export will be a snapshot of the table's state at this point in time.</p><br>
    8         -
    ///   - [`client_token(impl Into<String>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::set_client_token):<br>required: **false**<br><p>Providing a <code>ClientToken</code> makes the call to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p> <p>A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 8 hours, or the result might not be idempotent.</p> <p>If you submit a request with the same client token but a change in other parameters within the 8-hour idempotency window, DynamoDB returns an <code>ImportConflictException</code>.</p><br>
           8  +
    ///   - [`client_token(impl Into<String>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::set_client_token):<br>required: **false**<br><p>Providing a <code>ClientToken</code> makes the call to <code>ExportTableToPointInTimeInput</code> idempotent, meaning that multiple identical calls have the same effect as one single call.</p> <p>A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 8 hours, or the result might not be idempotent.</p> <p>If you submit a request with the same client token but a change in other parameters within the 8-hour idempotency window, DynamoDB returns an <code>ExportConflictException</code>.</p><br>
    9      9   
    ///   - [`s3_bucket(impl Into<String>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::s3_bucket) / [`set_s3_bucket(Option<String>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::set_s3_bucket):<br>required: **true**<br><p>The name of the Amazon S3 bucket to export the snapshot to.</p><br>
   10     10   
    ///   - [`s3_bucket_owner(impl Into<String>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::s3_bucket_owner) / [`set_s3_bucket_owner(Option<String>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::set_s3_bucket_owner):<br>required: **false**<br><p>The ID of the Amazon Web Services account that owns the bucket the export will be stored in.</p><note>  <p>S3BucketOwner is a required parameter when exporting to a S3 bucket in another account.</p> </note><br>
   11     11   
    ///   - [`s3_prefix(impl Into<String>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::s3_prefix) / [`set_s3_prefix(Option<String>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::set_s3_prefix):<br>required: **false**<br><p>The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.</p><br>
   12     12   
    ///   - [`s3_sse_algorithm(S3SseAlgorithm)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::s3_sse_algorithm) / [`set_s3_sse_algorithm(Option<S3SseAlgorithm>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::set_s3_sse_algorithm):<br>required: **false**<br><p>Type of encryption used on the bucket where export data will be stored. Valid values for <code>S3SseAlgorithm</code> are:</p> <ul>  <li>   <p><code>AES256</code> - server-side encryption with Amazon S3 managed keys</p></li>  <li>   <p><code>KMS</code> - server-side encryption with KMS managed keys</p></li> </ul><br>
   13     13   
    ///   - [`s3_sse_kms_key_id(impl Into<String>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::s3_sse_kms_key_id) / [`set_s3_sse_kms_key_id(Option<String>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::set_s3_sse_kms_key_id):<br>required: **false**<br><p>The ID of the KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).</p><br>
   14     14   
    ///   - [`export_format(ExportFormat)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::export_format) / [`set_export_format(Option<ExportFormat>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::set_export_format):<br>required: **false**<br><p>The format for the exported data. Valid values for <code>ExportFormat</code> are <code>DYNAMODB_JSON</code> or <code>ION</code>.</p><br>
   15     15   
    ///   - [`export_type(ExportType)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::export_type) / [`set_export_type(Option<ExportType>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::set_export_type):<br>required: **false**<br><p>Choice of whether to execute as a full export or incremental export. Valid values are FULL_EXPORT or INCREMENTAL_EXPORT. The default value is FULL_EXPORT. If INCREMENTAL_EXPORT is provided, the IncrementalExportSpecification must also be used.</p><br>
   16     16   
    ///   - [`incremental_export_specification(IncrementalExportSpecification)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::incremental_export_specification) / [`set_incremental_export_specification(Option<IncrementalExportSpecification>)`](crate::operation::export_table_to_point_in_time::builders::ExportTableToPointInTimeFluentBuilder::set_incremental_export_specification):<br>required: **false**<br><p>Optional object containing the parameters specific to an incremental export.</p><br>
   17     17   
    /// - On success, responds with [`ExportTableToPointInTimeOutput`](crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeOutput) with field(s):
   18     18   
    ///   - [`export_description(Option<ExportDescription>)`](crate::operation::export_table_to_point_in_time::ExportTableToPointInTimeOutput::export_description): <p>Contains a description of the table export.</p>

tmp-codegen-diff/aws-sdk/sdk/dynamodb/src/client/update_item.rs

@@ -1,1 +27,27 @@
    4      4   
    ///
    5      5   
    /// - The fluent builder is configurable:
    6      6   
    ///   - [`table_name(impl Into<String>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::table_name) / [`set_table_name(Option<String>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::set_table_name):<br>required: **true**<br><p>The name of the table containing the item to update. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.</p><br>
    7      7   
    ///   - [`key(impl Into<String>, AttributeValue)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::key) / [`set_key(Option<HashMap::<String, AttributeValue>>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::set_key):<br>required: **true**<br><p>The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute.</p> <p>For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.</p><br>
    8      8   
    ///   - [`attribute_updates(impl Into<String>, AttributeValueUpdate)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::attribute_updates) / [`set_attribute_updates(Option<HashMap::<String, AttributeValueUpdate>>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::set_attribute_updates):<br>required: **false**<br><p>This is a legacy parameter. Use <code>UpdateExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.AttributeUpdates.html">AttributeUpdates</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p><br>
    9      9   
    ///   - [`expected(impl Into<String>, ExpectedAttributeValue)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::expected) / [`set_expected(Option<HashMap::<String, ExpectedAttributeValue>>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::set_expected):<br>required: **false**<br><p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.Expected.html">Expected</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p><br>
   10     10   
    ///   - [`conditional_operator(ConditionalOperator)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::conditional_operator) / [`set_conditional_operator(Option<ConditionalOperator>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::set_conditional_operator):<br>required: **false**<br><p>This is a legacy parameter. Use <code>ConditionExpression</code> instead. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LegacyConditionalParameters.ConditionalOperator.html">ConditionalOperator</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p><br>
   11     11   
    ///   - [`return_values(ReturnValue)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::return_values) / [`set_return_values(Option<ReturnValue>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::set_return_values):<br>required: **false**<br><p>Use <code>ReturnValues</code> if you want to get the item attributes as they appear before or after they are successfully updated. For <code>UpdateItem</code>, the valid values are:</p> <ul>  <li>   <p><code>NONE</code> - If <code>ReturnValues</code> is not specified, or if its value is <code>NONE</code>, then nothing is returned. (This setting is the default for <code>ReturnValues</code>.)</p></li>  <li>   <p><code>ALL_OLD</code> - Returns all of the attributes of the item, as they appeared before the UpdateItem operation.</p></li>  <li>   <p><code>UPDATED_OLD</code> - Returns only the updated attributes, as they appeared before the UpdateItem operation.</p></li>  <li>   <p><code>ALL_NEW</code> - Returns all of the attributes of the item, as they appear after the UpdateItem operation.</p></li>  <li>   <p><code>UPDATED_NEW</code> - Returns only the updated attributes, as they appear after the UpdateItem operation.</p></li> </ul> <p>There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.</p> <p>The values returned are strongly consistent.</p><br>
   12     12   
    ///   - [`return_consumed_capacity(ReturnConsumedCapacity)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::return_consumed_capacity) / [`set_return_consumed_capacity(Option<ReturnConsumedCapacity>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::set_return_consumed_capacity):<br>required: **false**<br><p>Determines the level of detail about either provisioned or on-demand throughput consumption that is returned in the response:</p> <ul>  <li>   <p><code>INDEXES</code> - The response includes the aggregate <code>ConsumedCapacity</code> for the operation, together with <code>ConsumedCapacity</code> for each table and secondary index that was accessed.</p>   <p>Note that some operations, such as <code>GetItem</code> and <code>BatchGetItem</code>, do not access any indexes at all. In these cases, specifying <code>INDEXES</code> will only return <code>ConsumedCapacity</code> information for table(s).</p></li>  <li>   <p><code>TOTAL</code> - The response includes only the aggregate <code>ConsumedCapacity</code> for the operation.</p></li>  <li>   <p><code>NONE</code> - No <code>ConsumedCapacity</code> details are included in the response.</p></li> </ul><br>
   13     13   
    ///   - [`return_item_collection_metrics(ReturnItemCollectionMetrics)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::return_item_collection_metrics) / [`set_return_item_collection_metrics(Option<ReturnItemCollectionMetrics>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::set_return_item_collection_metrics):<br>required: **false**<br><p>Determines whether item collection metrics are returned. If set to <code>SIZE</code>, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to <code>NONE</code> (the default), no statistics are returned.</p><br>
   14         -
    ///   - [`update_expression(impl Into<String>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::update_expression) / [`set_update_expression(Option<String>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::set_update_expression):<br>required: **false**<br><p>An expression that defines one or more attributes to be updated, the action to be performed on them, and new values for them.</p> <p>The following action values are available for <code>UpdateExpression</code>.</p> <ul>  <li>   <p><code>SET</code> - Adds one or more attributes and values to an item. If any of these attributes already exist, they are replaced by the new values. You can also use <code>SET</code> to add or subtract from an attribute that is of type Number. For example: <code>SET myNum = myNum + :val</code></p>   <p><code>SET</code> supports the following functions:</p>   <ul>    <li>     <p><code>if_not_exists (path, operand)</code> - if the item does not contain an attribute at the specified path, then <code>if_not_exists</code> evaluates to operand; otherwise, it evaluates to path. You can use this function to avoid overwriting an attribute that may already be present in the item.</p></li>    <li>     <p><code>list_append (operand, operand)</code> - evaluates to a list with a new element added to it. You can append the new element to the start or the end of the list by reversing the order of the operands.</p></li>   </ul>   <p>These function names are case-sensitive.</p></li>  <li>   <p><code>REMOVE</code> - Removes one or more attributes from an item.</p></li>  <li>   <p><code>ADD</code> - Adds the specified value to the item, if the attribute does not already exist. If the attribute does exist, then the behavior of <code>ADD</code> depends on the data type of the attribute:</p>   <ul>    <li>     <p>If the existing attribute is a number, and if <code>Value</code> is also a number, then <code>Value</code> is mathematically added to the existing attribute. If <code>Value</code> is a negative number, then it is subtracted from the existing attribute.</p><note>      <p>If you use <code>ADD</code> to increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses <code>0</code> as the initial value.</p>      <p>Similarly, if you use <code>ADD</code> for an existing item to increment or decrement an attribute value that doesn't exist before the update, DynamoDB uses <code>0</code> as the initial value. For example, suppose that the item you want to update doesn't have an attribute named <code>itemcount</code>, but you decide to <code>ADD</code> the number <code>3</code> to this attribute anyway. DynamoDB will create the <code>itemcount</code> attribute, set its initial value to <code>0</code>, and finally add <code>3</code> to it. The result will be a new <code>itemcount</code> attribute in the item, with a value of <code>3</code>.</p>     </note></li>    <li>     <p>If the existing data type is a set and if <code>Value</code> is also a set, then <code>Value</code> is added to the existing set. For example, if the attribute value is the set <code>\[1,2\]</code>, and the <code>ADD</code> action specified <code>\[3\]</code>, then the final attribute value is <code>\[1,2,3\]</code>. An error occurs if an <code>ADD</code> action is specified for a set attribute and the attribute type specified does not match the existing set type.</p>     <p>Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the <code>Value</code> must also be a set of strings.</p></li>   </ul><important>    <p>The <code>ADD</code> action only supports Number and set data types. In addition, <code>ADD</code> can only be used on top-level attributes, not nested attributes.</p>   </important></li>  <li>   <p><code>DELETE</code> - Deletes an element from a set.</p>   <p>If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set <code>\[a,b,c\]</code> and the <code>DELETE</code> action specifies <code>\[a,c\]</code>, then the final attribute value is <code>\[b\]</code>. Specifying an empty set is an error.</p><important>    <p>The <code>DELETE</code> action only supports set data types. In addition, <code>DELETE</code> can only be used on top-level attributes, not nested attributes.</p>   </important></li> </ul> <p>You can have many actions in a single expression, such as the following: <code>SET a=:value1, b=:value2 DELETE :value3, :value4, :value5</code></p> <p>For more information on update expressions, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html">Modifying Items and Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p><br>
          14  +
    ///   - [`update_expression(impl Into<String>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::update_expression) / [`set_update_expression(Option<String>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::set_update_expression):<br>required: **false**<br><p>An expression that defines one or more attributes to be updated, the action to be performed on them, and new values for them.</p> <p>The following action values are available for <code>UpdateExpression</code>.</p> <ul>  <li>   <p><code>SET</code> - Adds one or more attributes and values to an item. If any of these attributes already exist, they are replaced by the new values. You can also use <code>SET</code> to add or subtract from an attribute that is of type Number. For example: <code>SET myNum = myNum + :val</code></p>   <p><code>SET</code> supports the following functions:</p>   <ul>    <li>     <p><code>if_not_exists (path, operand)</code> - if the item does not contain an attribute at the specified path, then <code>if_not_exists</code> evaluates to operand; otherwise, it evaluates to path. You can use this function to avoid overwriting an attribute that may already be present in the item.</p></li>    <li>     <p><code>list_append (operand, operand)</code> - evaluates to a list with a new element added to it. You can append the new element to the start or the end of the list by reversing the order of the operands.</p></li>   </ul>   <p>These function names are case-sensitive.</p></li>  <li>   <p><code>REMOVE</code> - Removes one or more attributes from an item.</p></li>  <li>   <p><code>ADD</code> - Adds the specified value to the item, if the attribute does not already exist. If the attribute does exist, then the behavior of <code>ADD</code> depends on the data type of the attribute:</p>   <ul>    <li>     <p>If the existing attribute is a number, and if <code>Value</code> is also a number, then <code>Value</code> is mathematically added to the existing attribute. If <code>Value</code> is a negative number, then it is subtracted from the existing attribute.</p><note>      <p>If you use <code>ADD</code> to increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses <code>0</code> as the initial value.</p>      <p>Similarly, if you use <code>ADD</code> for an existing item to increment or decrement an attribute value that doesn't exist before the update, DynamoDB uses <code>0</code> as the initial value. For example, suppose that the item you want to update doesn't have an attribute named <code>itemcount</code>, but you decide to <code>ADD</code> the number <code>3</code> to this attribute anyway. DynamoDB will create the <code>itemcount</code> attribute, set its initial value to <code>0</code>, and finally add <code>3</code> to it. The result will be a new <code>itemcount</code> attribute in the item, with a value of <code>3</code>.</p>     </note></li>    <li>     <p>If the existing data type is a set and if <code>Value</code> is also a set, then <code>Value</code> is added to the existing set. For example, if the attribute value is the set <code>\[1,2\]</code>, and the <code>ADD</code> action specified <code>\[3\]</code>, then the final attribute value is <code>\[1,2,3\]</code>. An error occurs if an <code>ADD</code> action is specified for a set attribute and the attribute type specified does not match the existing set type.</p>     <p>Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the <code>Value</code> must also be a set of strings.</p></li>   </ul><important>    <p>The <code>ADD</code> action only supports Number and set data types.</p>   </important></li>  <li>   <p><code>DELETE</code> - Deletes an element from a set.</p>   <p>If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set <code>\[a,b,c\]</code> and the <code>DELETE</code> action specifies <code>\[a,c\]</code>, then the final attribute value is <code>\[b\]</code>. Specifying an empty set is an error.</p><important>    <p>The <code>DELETE</code> action only supports set data types.</p>   </important></li> </ul> <p>You can have many actions in a single expression, such as the following: <code>SET a=:value1, b=:value2 DELETE :value3, :value4, :value5</code></p> <p>For more information on update expressions, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html">Modifying Items and Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p><br>
   15     15   
    ///   - [`condition_expression(impl Into<String>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::condition_expression) / [`set_condition_expression(Option<String>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::set_condition_expression):<br>required: **false**<br><p>A condition that must be satisfied in order for a conditional update to succeed.</p> <p>An expression can contain any of the following:</p> <ul>  <li>   <p>Functions: <code>attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size</code></p>   <p>These function names are case-sensitive.</p></li>  <li>   <p>Comparison operators: <code>= | &lt;&gt; | &lt; | &gt; | &lt;= | &gt;= | BETWEEN | IN </code></p></li>  <li>   <p>Logical operators: <code>AND | OR | NOT</code></p></li> </ul> <p>For more information about condition expressions, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Specifying Conditions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p><br>
   16     16   
    ///   - [`expression_attribute_names(impl Into<String>, impl Into<String>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::expression_attribute_names) / [`set_expression_attribute_names(Option<HashMap::<String, String>>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::set_expression_attribute_names):<br>required: **false**<br><p>One or more substitution tokens for attribute names in an expression. The following are some use cases for using <code>ExpressionAttributeNames</code>:</p> <ul>  <li>   <p>To access an attribute whose name conflicts with a DynamoDB reserved word.</p></li>  <li>   <p>To create a placeholder for repeating occurrences of an attribute name in an expression.</p></li>  <li>   <p>To prevent special characters in an attribute name from being misinterpreted in an expression.</p></li> </ul> <p>Use the <b>#</b> character in an expression to dereference an attribute name. For example, consider the following attribute name:</p> <ul>  <li>   <p><code>Percentile</code></p></li> </ul> <p>The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html">Reserved Words</a> in the <i>Amazon DynamoDB Developer Guide</i>.) To work around this, you could specify the following for <code>ExpressionAttributeNames</code>:</p> <ul>  <li>   <p><code>{"#P":"Percentile"}</code></p></li> </ul> <p>You could then use this substitution in an expression, as in this example:</p> <ul>  <li>   <p><code>#P = :val</code></p></li> </ul><note>  <p>Tokens that begin with the <b>:</b> character are <i>expression attribute values</i>, which are placeholders for the actual value at runtime.</p> </note> <p>For more information about expression attribute names, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html">Specifying Item Attributes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p><br>
   17     17   
    ///   - [`expression_attribute_values(impl Into<String>, AttributeValue)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::expression_attribute_values) / [`set_expression_attribute_values(Option<HashMap::<String, AttributeValue>>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::set_expression_attribute_values):<br>required: **false**<br><p>One or more values that can be substituted in an expression.</p> <p>Use the <b>:</b> (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the <code>ProductStatus</code> attribute was one of the following:</p> <p><code>Available | Backordered | Discontinued</code></p> <p>You would first need to specify <code>ExpressionAttributeValues</code> as follows:</p> <p><code>{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }</code></p> <p>You could then use these values in an expression, such as this:</p> <p><code>ProductStatus IN (:avail, :back, :disc)</code></p> <p>For more information on expression attribute values, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html">Condition Expressions</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p><br>
   18     18   
    ///   - [`return_values_on_condition_check_failure(ReturnValuesOnConditionCheckFailure)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::return_values_on_condition_check_failure) / [`set_return_values_on_condition_check_failure(Option<ReturnValuesOnConditionCheckFailure>)`](crate::operation::update_item::builders::UpdateItemFluentBuilder::set_return_values_on_condition_check_failure):<br>required: **false**<br><p>An optional parameter that returns the item attributes for an <code>UpdateItem</code> operation that failed a condition check.</p> <p>There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.</p><br>
   19     19   
    /// - On success, responds with [`UpdateItemOutput`](crate::operation::update_item::UpdateItemOutput) with field(s):
   20     20   
    ///   - [`attributes(Option<HashMap::<String, AttributeValue>>)`](crate::operation::update_item::UpdateItemOutput::attributes): <p>A map of attribute values as they appear before or after the <code>UpdateItem</code> operation, as determined by the <code>ReturnValues</code> parameter.</p> <p>The <code>Attributes</code> map is only present if the update was successful and <code>ReturnValues</code> was specified as something other than <code>NONE</code> in the request. Each element represents one attribute.</p>
   21     21   
    ///   - [`consumed_capacity(Option<ConsumedCapacity>)`](crate::operation::update_item::UpdateItemOutput::consumed_capacity): <p>The capacity units consumed by the <code>UpdateItem</code> operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. <code>ConsumedCapacity</code> is only returned if the <code>ReturnConsumedCapacity</code> parameter was specified. For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/read-write-operations.html#write-operation-consumption">Capacity unity consumption for write operations</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p>
   22     22   
    ///   - [`item_collection_metrics(Option<ItemCollectionMetrics>)`](crate::operation::update_item::UpdateItemOutput::item_collection_metrics): <p>Information about item collections, if any, that were affected by the <code>UpdateItem</code> operation. <code>ItemCollectionMetrics</code> is only returned if the <code>ReturnItemCollectionMetrics</code> parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response.</p> <p>Each <code>ItemCollectionMetrics</code> element consists of:</p> <ul>  <li>   <p><code>ItemCollectionKey</code> - The partition key value of the item collection. This is the same as the partition key value of the item itself.</p></li>  <li>   <p><code>SizeEstimateRangeGB</code> - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit.</p>   <p>The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.</p></li> </ul>
   23     23   
    /// - On failure, responds with [`SdkError<UpdateItemError>`](crate::operation::update_item::UpdateItemError)
   24     24   
    pub fn update_item(&self) -> crate::operation::update_item::builders::UpdateItemFluentBuilder {

tmp-codegen-diff/aws-sdk/sdk/dynamodb/src/client/update_table.rs

@@ -1,1 +26,27 @@
   10     10   
    ///   - [`global_secondary_index_updates(GlobalSecondaryIndexUpdate)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::global_secondary_index_updates) / [`set_global_secondary_index_updates(Option<Vec::<GlobalSecondaryIndexUpdate>>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_global_secondary_index_updates):<br>required: **false**<br><p>An array of one or more global secondary indexes for the table. For each index in the array, you can request one action:</p> <ul>  <li>   <p><code>Create</code> - add a new global secondary index to the table.</p></li>  <li>   <p><code>Update</code> - modify the provisioned throughput settings of an existing global secondary index.</p></li>  <li>   <p><code>Delete</code> - remove a global secondary index from the table.</p></li> </ul> <p>You can create or delete only one global secondary index per <code>UpdateTable</code> operation.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.OnlineOps.html">Managing Global Secondary Indexes</a> in the <i>Amazon DynamoDB Developer Guide</i>.</p><br>
   11     11   
    ///   - [`stream_specification(StreamSpecification)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::stream_specification) / [`set_stream_specification(Option<StreamSpecification>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_stream_specification):<br>required: **false**<br><p>Represents the DynamoDB Streams configuration for the table.</p><note>  <p>You receive a <code>ValidationException</code> if you try to enable a stream on a table that already has a stream, or if you try to disable a stream on a table that doesn't have a stream.</p> </note><br>
   12     12   
    ///   - [`sse_specification(SseSpecification)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::sse_specification) / [`set_sse_specification(Option<SseSpecification>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_sse_specification):<br>required: **false**<br><p>The new server-side encryption settings for the specified table.</p><br>
   13     13   
    ///   - [`replica_updates(ReplicationGroupUpdate)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::replica_updates) / [`set_replica_updates(Option<Vec::<ReplicationGroupUpdate>>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_replica_updates):<br>required: **false**<br><p>A list of replica update actions (create, delete, or update) for the table.</p><br>
   14     14   
    ///   - [`table_class(TableClass)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::table_class) / [`set_table_class(Option<TableClass>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_table_class):<br>required: **false**<br><p>The table class of the table to be updated. Valid values are <code>STANDARD</code> and <code>STANDARD_INFREQUENT_ACCESS</code>.</p><br>
   15     15   
    ///   - [`deletion_protection_enabled(bool)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::deletion_protection_enabled) / [`set_deletion_protection_enabled(Option<bool>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_deletion_protection_enabled):<br>required: **false**<br><p>Indicates whether deletion protection is to be enabled (true) or disabled (false) on the table.</p><br>
   16     16   
    ///   - [`multi_region_consistency(MultiRegionConsistency)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::multi_region_consistency) / [`set_multi_region_consistency(Option<MultiRegionConsistency>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_multi_region_consistency):<br>required: **false**<br><p>Specifies the consistency mode for a new global table. This parameter is only valid when you create a global table by specifying one or more <a href="https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ReplicationGroupUpdate.html#DDB-Type-ReplicationGroupUpdate-Create">Create</a> actions in the <a href="https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateTable.html#DDB-UpdateTable-request-ReplicaUpdates">ReplicaUpdates</a> action list.</p> <p>You can specify one of the following consistency modes:</p> <ul>  <li>   <p><code>EVENTUAL</code>: Configures a new global table for multi-Region eventual consistency (MREC). This is the default consistency mode for global tables.</p></li>  <li>   <p><code>STRONG</code>: Configures a new global table for multi-Region strong consistency (MRSC).</p></li> </ul> <p>If you don't specify this field, the global table consistency mode defaults to <code>EVENTUAL</code>. For more information about global tables consistency modes, see <a href="https://docs.aws.amazon.com/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes"> Consistency modes</a> in DynamoDB developer guide.</p><br>
   17     17   
    ///   - [`global_table_witness_updates(GlobalTableWitnessGroupUpdate)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::global_table_witness_updates) / [`set_global_table_witness_updates(Option<Vec::<GlobalTableWitnessGroupUpdate>>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_global_table_witness_updates):<br>required: **false**<br><p>A list of witness updates for a MRSC global table. A witness provides a cost-effective alternative to a full replica in a MRSC global table by maintaining replicated change data written to global table replicas. You cannot perform read or write operations on a witness. For each witness, you can request one action:</p> <ul>  <li>   <p><code>Create</code> - add a new witness to the global table.</p></li>  <li>   <p><code>Delete</code> - remove a witness from the global table.</p></li> </ul> <p>You can create or delete only one witness per <code>UpdateTable</code> operation.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/V2globaltables_HowItWorks.html#V2globaltables_HowItWorks.consistency-modes">Multi-Region strong consistency (MRSC)</a> in the Amazon DynamoDB Developer Guide</p><br>
   18     18   
    ///   - [`on_demand_throughput(OnDemandThroughput)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::on_demand_throughput) / [`set_on_demand_throughput(Option<OnDemandThroughput>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_on_demand_throughput):<br>required: **false**<br><p>Updates the maximum number of read and write units for the specified table in on-demand capacity mode. If you use this parameter, you must specify <code>MaxReadRequestUnits</code>, <code>MaxWriteRequestUnits</code>, or both.</p><br>
   19     19   
    ///   - [`warm_throughput(WarmThroughput)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::warm_throughput) / [`set_warm_throughput(Option<WarmThroughput>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_warm_throughput):<br>required: **false**<br><p>Represents the warm throughput (in read units per second and write units per second) for updating a table.</p><br>
          20  +
    ///   - [`global_table_settings_replication_mode(GlobalTableSettingsReplicationMode)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::global_table_settings_replication_mode) / [`set_global_table_settings_replication_mode(Option<GlobalTableSettingsReplicationMode>)`](crate::operation::update_table::builders::UpdateTableFluentBuilder::set_global_table_settings_replication_mode):<br>required: **false**<br><p>Controls the settings replication mode for a global table replica. This attribute can be defined using UpdateTable operation only on a regional table with values:</p> <ul>  <li>   <p><code>ENABLED</code>: Defines settings replication on a regional table to be used as a source table for creating Multi-Account Global Table.</p></li>  <li>   <p><code>DISABLED</code>: Remove settings replication on a regional table. Settings replication needs to be defined to ENABLED again in order to create a Multi-Account Global Table using this table.</p></li> </ul><br>
   20     21   
    /// - On success, responds with [`UpdateTableOutput`](crate::operation::update_table::UpdateTableOutput) with field(s):
   21     22   
    ///   - [`table_description(Option<TableDescription>)`](crate::operation::update_table::UpdateTableOutput::table_description): <p>Represents the properties of the table.</p>
   22     23   
    /// - On failure, responds with [`SdkError<UpdateTableError>`](crate::operation::update_table::UpdateTableError)
   23     24   
    pub fn update_table(&self) -> crate::operation::update_table::builders::UpdateTableFluentBuilder {
   24     25   
        crate::operation::update_table::builders::UpdateTableFluentBuilder::new(self.handle.clone())
   25     26   
    }
   26     27   
}

tmp-codegen-diff/aws-sdk/sdk/dynamodb/src/config/endpoint.rs

@@ -358,358 +427,421 @@
  378    378   
            .use_dual_stack(false)
  379    379   
            .build()
  380    380   
            .expect("invalid params");
  381    381   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  382    382   
        let endpoint = resolver.resolve_endpoint(&params);
  383    383   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
  384    384   
        assert_eq!(
  385    385   
            endpoint,
  386    386   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  387    387   
                .url("http://localhost:8000")
  388         -
                .property(
  389         -
                    "authSchemes",
  390         -
                    vec![{
  391         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  392         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  393         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
  394         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
  395         -
                        out
  396         -
                    }
  397         -
                    .into()]
         388  +
                .auth_scheme(
         389  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
         390  +
                        .put("signingName", "dynamodb".to_string())
         391  +
                        .put("signingRegion", "us-east-1".to_string())
  398    392   
                )
  399    393   
                .build()
  400    394   
        );
  401    395   
    }
  402    396   
  403    397   
    /// For region me-south-1 with FIPS disabled and DualStack disabled
  404    398   
    #[test]
  405    399   
    fn test_19() {
  406    400   
        let params = crate::config::endpoint::Params::builder()
  407    401   
            .region("me-south-1".to_string())
@@ -2578,2572 +2889,2835 @@
 2598   2592   
            .region("local".to_string())
 2599   2593   
            .build()
 2600   2594   
            .expect("invalid params");
 2601   2595   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2602   2596   
        let endpoint = resolver.resolve_endpoint(&params);
 2603   2597   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 2604   2598   
        assert_eq!(
 2605   2599   
            endpoint,
 2606   2600   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2607   2601   
                .url("http://localhost:8000")
 2608         -
                .property(
 2609         -
                    "authSchemes",
 2610         -
                    vec![{
 2611         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2612         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 2613         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2614         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2615         -
                        out
 2616         -
                    }
 2617         -
                    .into()]
        2602  +
                .auth_scheme(
        2603  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        2604  +
                        .put("signingName", "dynamodb".to_string())
        2605  +
                        .put("signingRegion", "us-east-1".to_string())
 2618   2606   
                )
 2619   2607   
                .build()
 2620   2608   
        );
 2621   2609   
    }
 2622   2610   
 2623   2611   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=local}
 2624   2612   
    #[test]
 2625   2613   
    fn test_128() {
 2626   2614   
        let params = crate::config::endpoint::Params::builder()
 2627   2615   
            .use_fips(false)
 2628   2616   
            .use_dual_stack(false)
 2629   2617   
            .account_id("111111111111".to_string())
 2630   2618   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 2631   2619   
            .account_id_endpoint_mode("preferred".to_string())
 2632   2620   
            .region("local".to_string())
 2633   2621   
            .build()
 2634   2622   
            .expect("invalid params");
 2635   2623   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2636   2624   
        let endpoint = resolver.resolve_endpoint(&params);
 2637   2625   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 2638   2626   
        assert_eq!(
 2639   2627   
            endpoint,
 2640   2628   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2641   2629   
                .url("http://localhost:8000")
 2642         -
                .property(
 2643         -
                    "authSchemes",
 2644         -
                    vec![{
 2645         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2646         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 2647         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2648         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2649         -
                        out
 2650         -
                    }
 2651         -
                    .into()]
        2630  +
                .auth_scheme(
        2631  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        2632  +
                        .put("signingName", "dynamodb".to_string())
        2633  +
                        .put("signingRegion", "us-east-1".to_string())
 2652   2634   
                )
 2653   2635   
                .build()
 2654   2636   
        );
 2655   2637   
    }
 2656   2638   
 2657   2639   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=local}
 2658   2640   
    #[test]
 2659   2641   
    fn test_129() {
 2660   2642   
        let params = crate::config::endpoint::Params::builder()
 2661   2643   
            .use_fips(false)
 2662   2644   
            .use_dual_stack(false)
 2663   2645   
            .account_id("111111111111".to_string())
 2664   2646   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 2665   2647   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 2666   2648   
            .account_id_endpoint_mode("preferred".to_string())
 2667   2649   
            .region("local".to_string())
 2668   2650   
            .build()
 2669   2651   
            .expect("invalid params");
 2670   2652   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2671   2653   
        let endpoint = resolver.resolve_endpoint(&params);
 2672   2654   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 2673   2655   
        assert_eq!(
 2674   2656   
            endpoint,
 2675   2657   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2676   2658   
                .url("http://localhost:8000")
 2677         -
                .property(
 2678         -
                    "authSchemes",
 2679         -
                    vec![{
 2680         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2681         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 2682         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2683         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2684         -
                        out
 2685         -
                    }
 2686         -
                    .into()]
        2659  +
                .auth_scheme(
        2660  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        2661  +
                        .put("signingName", "dynamodb".to_string())
        2662  +
                        .put("signingRegion", "us-east-1".to_string())
 2687   2663   
                )
 2688   2664   
                .build()
 2689   2665   
        );
 2690   2666   
    }
 2691   2667   
 2692   2668   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=local}
 2693   2669   
    #[test]
 2694   2670   
    fn test_130() {
 2695   2671   
        let params = crate::config::endpoint::Params::builder()
 2696   2672   
            .use_fips(false)
 2697   2673   
            .use_dual_stack(false)
 2698   2674   
            .account_id("111111111111".to_string())
 2699   2675   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 2700   2676   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 2701   2677   
            .account_id_endpoint_mode("preferred".to_string())
 2702   2678   
            .region("local".to_string())
 2703   2679   
            .build()
 2704   2680   
            .expect("invalid params");
 2705   2681   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2706   2682   
        let endpoint = resolver.resolve_endpoint(&params);
 2707   2683   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 2708   2684   
        assert_eq!(
 2709   2685   
            endpoint,
 2710   2686   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2711   2687   
                .url("http://localhost:8000")
 2712         -
                .property(
 2713         -
                    "authSchemes",
 2714         -
                    vec![{
 2715         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2716         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 2717         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2718         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2719         -
                        out
 2720         -
                    }
 2721         -
                    .into()]
        2688  +
                .auth_scheme(
        2689  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        2690  +
                        .put("signingName", "dynamodb".to_string())
        2691  +
                        .put("signingRegion", "us-east-1".to_string())
 2722   2692   
                )
 2723   2693   
                .build()
 2724   2694   
        );
 2725   2695   
    }
 2726   2696   
 2727   2697   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=local}
 2728   2698   
    #[test]
 2729   2699   
    fn test_131() {
 2730   2700   
        let params = crate::config::endpoint::Params::builder()
 2731   2701   
            .use_fips(false)
 2732   2702   
            .use_dual_stack(false)
 2733   2703   
            .account_id("111111111111".to_string())
 2734   2704   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 2735   2705   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 2736   2706   
            .account_id_endpoint_mode("preferred".to_string())
 2737   2707   
            .region("local".to_string())
 2738   2708   
            .build()
 2739   2709   
            .expect("invalid params");
 2740   2710   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2741   2711   
        let endpoint = resolver.resolve_endpoint(&params);
 2742   2712   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 2743   2713   
        assert_eq!(
 2744   2714   
            endpoint,
 2745   2715   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2746   2716   
                .url("http://localhost:8000")
 2747         -
                .property(
 2748         -
                    "authSchemes",
 2749         -
                    vec![{
 2750         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2751         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 2752         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2753         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2754         -
                        out
 2755         -
                    }
 2756         -
                    .into()]
        2717  +
                .auth_scheme(
        2718  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        2719  +
                        .put("signingName", "dynamodb".to_string())
        2720  +
                        .put("signingRegion", "us-east-1".to_string())
 2757   2721   
                )
 2758   2722   
                .build()
 2759   2723   
        );
 2760   2724   
    }
 2761   2725   
 2762   2726   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-west-2:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=local}
 2763   2727   
    #[test]
 2764   2728   
    fn test_132() {
 2765   2729   
        let params = crate::config::endpoint::Params::builder()
 2766   2730   
            .use_fips(false)
 2767   2731   
            .use_dual_stack(false)
 2768   2732   
            .account_id("111111111111".to_string())
 2769   2733   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 2770   2734   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-west-2:333333333333:table/table_name".to_string().into()])
 2771   2735   
            .account_id_endpoint_mode("preferred".to_string())
 2772   2736   
            .region("local".to_string())
 2773   2737   
            .build()
 2774   2738   
            .expect("invalid params");
 2775   2739   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2776   2740   
        let endpoint = resolver.resolve_endpoint(&params);
 2777   2741   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 2778   2742   
        assert_eq!(
 2779   2743   
            endpoint,
 2780   2744   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2781   2745   
                .url("http://localhost:8000")
 2782         -
                .property(
 2783         -
                    "authSchemes",
 2784         -
                    vec![{
 2785         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2786         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 2787         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2788         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2789         -
                        out
 2790         -
                    }
 2791         -
                    .into()]
        2746  +
                .auth_scheme(
        2747  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        2748  +
                        .put("signingName", "dynamodb".to_string())
        2749  +
                        .put("signingRegion", "us-east-1".to_string())
 2792   2750   
                )
 2793   2751   
                .build()
 2794   2752   
        );
 2795   2753   
    }
 2796   2754   
 2797   2755   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:s3:us-east-1:333333333333:stream/testStream], AccountIdEndpointMode=preferred, Region=local}
 2798   2756   
    #[test]
 2799   2757   
    fn test_133() {
 2800   2758   
        let params = crate::config::endpoint::Params::builder()
 2801   2759   
            .use_fips(false)
 2802   2760   
            .use_dual_stack(false)
 2803   2761   
            .account_id("111111111111".to_string())
 2804   2762   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 2805   2763   
            .resource_arn_list(vec!["arn:aws:s3:us-east-1:333333333333:stream/testStream".to_string().into()])
 2806   2764   
            .account_id_endpoint_mode("preferred".to_string())
 2807   2765   
            .region("local".to_string())
 2808   2766   
            .build()
 2809   2767   
            .expect("invalid params");
 2810   2768   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2811   2769   
        let endpoint = resolver.resolve_endpoint(&params);
 2812   2770   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 2813   2771   
        assert_eq!(
 2814   2772   
            endpoint,
 2815   2773   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2816   2774   
                .url("http://localhost:8000")
 2817         -
                .property(
 2818         -
                    "authSchemes",
 2819         -
                    vec![{
 2820         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2821         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 2822         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2823         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2824         -
                        out
 2825         -
                    }
 2826         -
                    .into()]
        2775  +
                .auth_scheme(
        2776  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        2777  +
                        .put("signingName", "dynamodb".to_string())
        2778  +
                        .put("signingRegion", "us-east-1".to_string())
 2827   2779   
                )
 2828   2780   
                .build()
 2829   2781   
        );
 2830   2782   
    }
 2831   2783   
 2832   2784   
    /// {UseFIPS=false, UseDualStack=false, AccountId=, AccountIdEndpointMode=preferred, Region=local}
 2833   2785   
    #[test]
 2834   2786   
    fn test_134() {
 2835   2787   
        let params = crate::config::endpoint::Params::builder()
 2836   2788   
            .use_fips(false)
 2837   2789   
            .use_dual_stack(false)
 2838   2790   
            .account_id("".to_string())
 2839   2791   
            .account_id_endpoint_mode("preferred".to_string())
 2840   2792   
            .region("local".to_string())
 2841   2793   
            .build()
 2842   2794   
            .expect("invalid params");
 2843   2795   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2844   2796   
        let endpoint = resolver.resolve_endpoint(&params);
 2845   2797   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 2846   2798   
        assert_eq!(
 2847   2799   
            endpoint,
 2848   2800   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2849   2801   
                .url("http://localhost:8000")
 2850         -
                .property(
 2851         -
                    "authSchemes",
 2852         -
                    vec![{
 2853         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2854         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 2855         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2856         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2857         -
                        out
 2858         -
                    }
 2859         -
                    .into()]
        2802  +
                .auth_scheme(
        2803  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        2804  +
                        .put("signingName", "dynamodb".to_string())
        2805  +
                        .put("signingRegion", "us-east-1".to_string())
 2860   2806   
                )
 2861   2807   
                .build()
 2862   2808   
        );
 2863   2809   
    }
 2864   2810   
 2865   2811   
    /// {UseFIPS=true, UseDualStack=true, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=local}
 2866   2812   
    #[test]
 2867   2813   
    fn test_135() {
 2868   2814   
        let params = crate::config::endpoint::Params::builder()
 2869   2815   
            .use_fips(true)
@@ -2907,2853 +3075,2997 @@
 2927   2873   
            .region("local".to_string())
 2928   2874   
            .build()
 2929   2875   
            .expect("invalid params");
 2930   2876   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2931   2877   
        let endpoint = resolver.resolve_endpoint(&params);
 2932   2878   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 2933   2879   
        assert_eq!(
 2934   2880   
            endpoint,
 2935   2881   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2936   2882   
                .url("http://localhost:8000")
 2937         -
                .property(
 2938         -
                    "authSchemes",
 2939         -
                    vec![{
 2940         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2941         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 2942         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2943         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2944         -
                        out
 2945         -
                    }
 2946         -
                    .into()]
        2883  +
                .auth_scheme(
        2884  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        2885  +
                        .put("signingName", "dynamodb".to_string())
        2886  +
                        .put("signingRegion", "us-east-1".to_string())
 2947   2887   
                )
 2948   2888   
                .build()
 2949   2889   
        );
 2950   2890   
    }
 2951   2891   
 2952   2892   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=local}
 2953   2893   
    #[test]
 2954   2894   
    fn test_139() {
 2955   2895   
        let params = crate::config::endpoint::Params::builder()
 2956   2896   
            .use_fips(false)
 2957   2897   
            .use_dual_stack(false)
 2958   2898   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 2959   2899   
            .account_id_endpoint_mode("preferred".to_string())
 2960   2900   
            .region("local".to_string())
 2961   2901   
            .build()
 2962   2902   
            .expect("invalid params");
 2963   2903   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2964   2904   
        let endpoint = resolver.resolve_endpoint(&params);
 2965   2905   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 2966   2906   
        assert_eq!(
 2967   2907   
            endpoint,
 2968   2908   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2969   2909   
                .url("http://localhost:8000")
 2970         -
                .property(
 2971         -
                    "authSchemes",
 2972         -
                    vec![{
 2973         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2974         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 2975         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2976         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2977         -
                        out
 2978         -
                    }
 2979         -
                    .into()]
        2910  +
                .auth_scheme(
        2911  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        2912  +
                        .put("signingName", "dynamodb".to_string())
        2913  +
                        .put("signingRegion", "us-east-1".to_string())
 2980   2914   
                )
 2981   2915   
                .build()
 2982   2916   
        );
 2983   2917   
    }
 2984   2918   
 2985   2919   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, AccountIdEndpointMode=preferred, Region=local}
 2986   2920   
    #[test]
 2987   2921   
    fn test_140() {
 2988   2922   
        let params = crate::config::endpoint::Params::builder()
 2989   2923   
            .use_fips(false)
 2990   2924   
            .use_dual_stack(false)
 2991   2925   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 2992   2926   
            .account_id_endpoint_mode("preferred".to_string())
 2993   2927   
            .region("local".to_string())
 2994   2928   
            .build()
 2995   2929   
            .expect("invalid params");
 2996   2930   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2997   2931   
        let endpoint = resolver.resolve_endpoint(&params);
 2998   2932   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 2999   2933   
        assert_eq!(
 3000   2934   
            endpoint,
 3001   2935   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3002   2936   
                .url("http://localhost:8000")
 3003         -
                .property(
 3004         -
                    "authSchemes",
 3005         -
                    vec![{
 3006         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3007         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3008         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3009         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3010         -
                        out
 3011         -
                    }
 3012         -
                    .into()]
        2937  +
                .auth_scheme(
        2938  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        2939  +
                        .put("signingName", "dynamodb".to_string())
        2940  +
                        .put("signingRegion", "us-east-1".to_string())
 3013   2941   
                )
 3014   2942   
                .build()
 3015   2943   
        );
 3016   2944   
    }
 3017   2945   
 3018   2946   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=, AccountIdEndpointMode=preferred, Region=local}
 3019   2947   
    #[test]
 3020   2948   
    fn test_141() {
 3021   2949   
        let params = crate::config::endpoint::Params::builder()
 3022   2950   
            .use_fips(false)
 3023   2951   
            .use_dual_stack(false)
 3024   2952   
            .resource_arn("".to_string())
 3025   2953   
            .account_id_endpoint_mode("preferred".to_string())
 3026   2954   
            .region("local".to_string())
 3027   2955   
            .build()
 3028   2956   
            .expect("invalid params");
 3029   2957   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3030   2958   
        let endpoint = resolver.resolve_endpoint(&params);
 3031   2959   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3032   2960   
        assert_eq!(
 3033   2961   
            endpoint,
 3034   2962   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3035   2963   
                .url("http://localhost:8000")
 3036         -
                .property(
 3037         -
                    "authSchemes",
 3038         -
                    vec![{
 3039         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3040         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3041         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3042         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3043         -
                        out
 3044         -
                    }
 3045         -
                    .into()]
        2964  +
                .auth_scheme(
        2965  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        2966  +
                        .put("signingName", "dynamodb".to_string())
        2967  +
                        .put("signingRegion", "us-east-1".to_string())
 3046   2968   
                )
 3047   2969   
                .build()
 3048   2970   
        );
 3049   2971   
    }
 3050   2972   
 3051   2973   
    /// {UseFIPS=true, UseDualStack=true, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=local}
 3052   2974   
    #[test]
 3053   2975   
    fn test_142() {
 3054   2976   
        let params = crate::config::endpoint::Params::builder()
 3055   2977   
            .use_fips(true)
@@ -3093,3015 +3228,3132 @@
 3113   3035   
            .region("local".to_string())
 3114   3036   
            .build()
 3115   3037   
            .expect("invalid params");
 3116   3038   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3117   3039   
        let endpoint = resolver.resolve_endpoint(&params);
 3118   3040   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3119   3041   
        assert_eq!(
 3120   3042   
            endpoint,
 3121   3043   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3122   3044   
                .url("http://localhost:8000")
 3123         -
                .property(
 3124         -
                    "authSchemes",
 3125         -
                    vec![{
 3126         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3127         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3128         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3129         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3130         -
                        out
 3131         -
                    }
 3132         -
                    .into()]
        3045  +
                .auth_scheme(
        3046  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3047  +
                        .put("signingName", "dynamodb".to_string())
        3048  +
                        .put("signingRegion", "us-east-1".to_string())
 3133   3049   
                )
 3134   3050   
                .build()
 3135   3051   
        );
 3136   3052   
    }
 3137   3053   
 3138   3054   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=local}
 3139   3055   
    #[test]
 3140   3056   
    fn test_146() {
 3141   3057   
        let params = crate::config::endpoint::Params::builder()
 3142   3058   
            .use_fips(false)
 3143   3059   
            .use_dual_stack(false)
 3144   3060   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 3145   3061   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 3146   3062   
            .account_id_endpoint_mode("preferred".to_string())
 3147   3063   
            .region("local".to_string())
 3148   3064   
            .build()
 3149   3065   
            .expect("invalid params");
 3150   3066   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3151   3067   
        let endpoint = resolver.resolve_endpoint(&params);
 3152   3068   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3153   3069   
        assert_eq!(
 3154   3070   
            endpoint,
 3155   3071   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3156   3072   
                .url("http://localhost:8000")
 3157         -
                .property(
 3158         -
                    "authSchemes",
 3159         -
                    vec![{
 3160         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3161         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3162         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3163         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3164         -
                        out
 3165         -
                    }
 3166         -
                    .into()]
        3073  +
                .auth_scheme(
        3074  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3075  +
                        .put("signingName", "dynamodb".to_string())
        3076  +
                        .put("signingRegion", "us-east-1".to_string())
 3167   3077   
                )
 3168   3078   
                .build()
 3169   3079   
        );
 3170   3080   
    }
 3171   3081   
 3172   3082   
    /// {UseFIPS=false, UseDualStack=false, AccountIdEndpointMode=preferred, Region=local}
 3173   3083   
    #[test]
 3174   3084   
    fn test_147() {
 3175   3085   
        let params = crate::config::endpoint::Params::builder()
 3176   3086   
            .use_fips(false)
 3177   3087   
            .use_dual_stack(false)
 3178   3088   
            .account_id_endpoint_mode("preferred".to_string())
 3179   3089   
            .region("local".to_string())
 3180   3090   
            .build()
 3181   3091   
            .expect("invalid params");
 3182   3092   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3183   3093   
        let endpoint = resolver.resolve_endpoint(&params);
 3184   3094   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3185   3095   
        assert_eq!(
 3186   3096   
            endpoint,
 3187   3097   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3188   3098   
                .url("http://localhost:8000")
 3189         -
                .property(
 3190         -
                    "authSchemes",
 3191         -
                    vec![{
 3192         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3193         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3194         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3195         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3196         -
                        out
 3197         -
                    }
 3198         -
                    .into()]
        3099  +
                .auth_scheme(
        3100  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3101  +
                        .put("signingName", "dynamodb".to_string())
        3102  +
                        .put("signingRegion", "us-east-1".to_string())
 3199   3103   
                )
 3200   3104   
                .build()
 3201   3105   
        );
 3202   3106   
    }
 3203   3107   
 3204   3108   
    /// {UseFIPS=true, UseDualStack=true, AccountId=111111111111, AccountIdEndpointMode=disabled, Region=local}
 3205   3109   
    #[test]
 3206   3110   
    fn test_148() {
 3207   3111   
        let params = crate::config::endpoint::Params::builder()
 3208   3112   
            .use_fips(true)
@@ -3246,3150 +3557,3413 @@
 3266   3170   
            .region("local".to_string())
 3267   3171   
            .build()
 3268   3172   
            .expect("invalid params");
 3269   3173   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3270   3174   
        let endpoint = resolver.resolve_endpoint(&params);
 3271   3175   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3272   3176   
        assert_eq!(
 3273   3177   
            endpoint,
 3274   3178   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3275   3179   
                .url("http://localhost:8000")
 3276         -
                .property(
 3277         -
                    "authSchemes",
 3278         -
                    vec![{
 3279         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3280         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3281         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3282         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3283         -
                        out
 3284         -
                    }
 3285         -
                    .into()]
        3180  +
                .auth_scheme(
        3181  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3182  +
                        .put("signingName", "dynamodb".to_string())
        3183  +
                        .put("signingRegion", "us-east-1".to_string())
 3286   3184   
                )
 3287   3185   
                .build()
 3288   3186   
        );
 3289   3187   
    }
 3290   3188   
 3291   3189   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=disabled, Region=local}
 3292   3190   
    #[test]
 3293   3191   
    fn test_152() {
 3294   3192   
        let params = crate::config::endpoint::Params::builder()
 3295   3193   
            .use_fips(false)
 3296   3194   
            .use_dual_stack(false)
 3297   3195   
            .account_id("111111111111".to_string())
 3298   3196   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 3299   3197   
            .account_id_endpoint_mode("disabled".to_string())
 3300   3198   
            .region("local".to_string())
 3301   3199   
            .build()
 3302   3200   
            .expect("invalid params");
 3303   3201   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3304   3202   
        let endpoint = resolver.resolve_endpoint(&params);
 3305   3203   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3306   3204   
        assert_eq!(
 3307   3205   
            endpoint,
 3308   3206   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3309   3207   
                .url("http://localhost:8000")
 3310         -
                .property(
 3311         -
                    "authSchemes",
 3312         -
                    vec![{
 3313         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3314         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3315         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3316         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3317         -
                        out
 3318         -
                    }
 3319         -
                    .into()]
        3208  +
                .auth_scheme(
        3209  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3210  +
                        .put("signingName", "dynamodb".to_string())
        3211  +
                        .put("signingRegion", "us-east-1".to_string())
 3320   3212   
                )
 3321   3213   
                .build()
 3322   3214   
        );
 3323   3215   
    }
 3324   3216   
 3325   3217   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=disabled, Region=local}
 3326   3218   
    #[test]
 3327   3219   
    fn test_153() {
 3328   3220   
        let params = crate::config::endpoint::Params::builder()
 3329   3221   
            .use_fips(false)
 3330   3222   
            .use_dual_stack(false)
 3331   3223   
            .account_id("111111111111".to_string())
 3332   3224   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 3333   3225   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 3334   3226   
            .account_id_endpoint_mode("disabled".to_string())
 3335   3227   
            .region("local".to_string())
 3336   3228   
            .build()
 3337   3229   
            .expect("invalid params");
 3338   3230   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3339   3231   
        let endpoint = resolver.resolve_endpoint(&params);
 3340   3232   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3341   3233   
        assert_eq!(
 3342   3234   
            endpoint,
 3343   3235   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3344   3236   
                .url("http://localhost:8000")
 3345         -
                .property(
 3346         -
                    "authSchemes",
 3347         -
                    vec![{
 3348         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3349         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3350         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3351         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3352         -
                        out
 3353         -
                    }
 3354         -
                    .into()]
        3237  +
                .auth_scheme(
        3238  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3239  +
                        .put("signingName", "dynamodb".to_string())
        3240  +
                        .put("signingRegion", "us-east-1".to_string())
 3355   3241   
                )
 3356   3242   
                .build()
 3357   3243   
        );
 3358   3244   
    }
 3359   3245   
 3360   3246   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=disabled, Region=local}
 3361   3247   
    #[test]
 3362   3248   
    fn test_154() {
 3363   3249   
        let params = crate::config::endpoint::Params::builder()
 3364   3250   
            .use_fips(false)
 3365   3251   
            .use_dual_stack(false)
 3366   3252   
            .account_id("111111111111".to_string())
 3367   3253   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 3368   3254   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 3369   3255   
            .account_id_endpoint_mode("disabled".to_string())
 3370   3256   
            .region("local".to_string())
 3371   3257   
            .build()
 3372   3258   
            .expect("invalid params");
 3373   3259   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3374   3260   
        let endpoint = resolver.resolve_endpoint(&params);
 3375   3261   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3376   3262   
        assert_eq!(
 3377   3263   
            endpoint,
 3378   3264   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3379   3265   
                .url("http://localhost:8000")
 3380         -
                .property(
 3381         -
                    "authSchemes",
 3382         -
                    vec![{
 3383         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3384         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3385         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3386         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3387         -
                        out
 3388         -
                    }
 3389         -
                    .into()]
        3266  +
                .auth_scheme(
        3267  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3268  +
                        .put("signingName", "dynamodb".to_string())
        3269  +
                        .put("signingRegion", "us-east-1".to_string())
 3390   3270   
                )
 3391   3271   
                .build()
 3392   3272   
        );
 3393   3273   
    }
 3394   3274   
 3395   3275   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=disabled, Region=local}
 3396   3276   
    #[test]
 3397   3277   
    fn test_155() {
 3398   3278   
        let params = crate::config::endpoint::Params::builder()
 3399   3279   
            .use_fips(false)
 3400   3280   
            .use_dual_stack(false)
 3401   3281   
            .account_id("111111111111".to_string())
 3402   3282   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 3403   3283   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 3404   3284   
            .account_id_endpoint_mode("disabled".to_string())
 3405   3285   
            .region("local".to_string())
 3406   3286   
            .build()
 3407   3287   
            .expect("invalid params");
 3408   3288   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3409   3289   
        let endpoint = resolver.resolve_endpoint(&params);
 3410   3290   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3411   3291   
        assert_eq!(
 3412   3292   
            endpoint,
 3413   3293   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3414   3294   
                .url("http://localhost:8000")
 3415         -
                .property(
 3416         -
                    "authSchemes",
 3417         -
                    vec![{
 3418         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3419         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3420         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3421         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3422         -
                        out
 3423         -
                    }
 3424         -
                    .into()]
        3295  +
                .auth_scheme(
        3296  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3297  +
                        .put("signingName", "dynamodb".to_string())
        3298  +
                        .put("signingRegion", "us-east-1".to_string())
 3425   3299   
                )
 3426   3300   
                .build()
 3427   3301   
        );
 3428   3302   
    }
 3429   3303   
 3430   3304   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-west-2:333333333333:table/table_name], AccountIdEndpointMode=disabled, Region=local}
 3431   3305   
    #[test]
 3432   3306   
    fn test_156() {
 3433   3307   
        let params = crate::config::endpoint::Params::builder()
 3434   3308   
            .use_fips(false)
 3435   3309   
            .use_dual_stack(false)
 3436   3310   
            .account_id("111111111111".to_string())
 3437   3311   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 3438   3312   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-west-2:333333333333:table/table_name".to_string().into()])
 3439   3313   
            .account_id_endpoint_mode("disabled".to_string())
 3440   3314   
            .region("local".to_string())
 3441   3315   
            .build()
 3442   3316   
            .expect("invalid params");
 3443   3317   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3444   3318   
        let endpoint = resolver.resolve_endpoint(&params);
 3445   3319   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3446   3320   
        assert_eq!(
 3447   3321   
            endpoint,
 3448   3322   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3449   3323   
                .url("http://localhost:8000")
 3450         -
                .property(
 3451         -
                    "authSchemes",
 3452         -
                    vec![{
 3453         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3454         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3455         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3456         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3457         -
                        out
 3458         -
                    }
 3459         -
                    .into()]
        3324  +
                .auth_scheme(
        3325  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3326  +
                        .put("signingName", "dynamodb".to_string())
        3327  +
                        .put("signingRegion", "us-east-1".to_string())
 3460   3328   
                )
 3461   3329   
                .build()
 3462   3330   
        );
 3463   3331   
    }
 3464   3332   
 3465   3333   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:s3:us-east-1:333333333333:stream/testStream], AccountIdEndpointMode=disabled, Region=local}
 3466   3334   
    #[test]
 3467   3335   
    fn test_157() {
 3468   3336   
        let params = crate::config::endpoint::Params::builder()
 3469   3337   
            .use_fips(false)
 3470   3338   
            .use_dual_stack(false)
 3471   3339   
            .account_id("111111111111".to_string())
 3472   3340   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 3473   3341   
            .resource_arn_list(vec!["arn:aws:s3:us-east-1:333333333333:stream/testStream".to_string().into()])
 3474   3342   
            .account_id_endpoint_mode("disabled".to_string())
 3475   3343   
            .region("local".to_string())
 3476   3344   
            .build()
 3477   3345   
            .expect("invalid params");
 3478   3346   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3479   3347   
        let endpoint = resolver.resolve_endpoint(&params);
 3480   3348   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3481   3349   
        assert_eq!(
 3482   3350   
            endpoint,
 3483   3351   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3484   3352   
                .url("http://localhost:8000")
 3485         -
                .property(
 3486         -
                    "authSchemes",
 3487         -
                    vec![{
 3488         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3489         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3490         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3491         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3492         -
                        out
 3493         -
                    }
 3494         -
                    .into()]
        3353  +
                .auth_scheme(
        3354  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3355  +
                        .put("signingName", "dynamodb".to_string())
        3356  +
                        .put("signingRegion", "us-east-1".to_string())
 3495   3357   
                )
 3496   3358   
                .build()
 3497   3359   
        );
 3498   3360   
    }
 3499   3361   
 3500   3362   
    /// {UseFIPS=false, UseDualStack=false, AccountId=, AccountIdEndpointMode=disabled, Region=local}
 3501   3363   
    #[test]
 3502   3364   
    fn test_158() {
 3503   3365   
        let params = crate::config::endpoint::Params::builder()
 3504   3366   
            .use_fips(false)
 3505   3367   
            .use_dual_stack(false)
 3506   3368   
            .account_id("".to_string())
 3507   3369   
            .account_id_endpoint_mode("disabled".to_string())
 3508   3370   
            .region("local".to_string())
 3509   3371   
            .build()
 3510   3372   
            .expect("invalid params");
 3511   3373   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3512   3374   
        let endpoint = resolver.resolve_endpoint(&params);
 3513   3375   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3514   3376   
        assert_eq!(
 3515   3377   
            endpoint,
 3516   3378   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3517   3379   
                .url("http://localhost:8000")
 3518         -
                .property(
 3519         -
                    "authSchemes",
 3520         -
                    vec![{
 3521         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3522         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3523         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3524         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3525         -
                        out
 3526         -
                    }
 3527         -
                    .into()]
        3380  +
                .auth_scheme(
        3381  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3382  +
                        .put("signingName", "dynamodb".to_string())
        3383  +
                        .put("signingRegion", "us-east-1".to_string())
 3528   3384   
                )
 3529   3385   
                .build()
 3530   3386   
        );
 3531   3387   
    }
 3532   3388   
 3533   3389   
    /// {UseFIPS=true, UseDualStack=true, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=disabled, Region=local}
 3534   3390   
    #[test]
 3535   3391   
    fn test_159() {
 3536   3392   
        let params = crate::config::endpoint::Params::builder()
 3537   3393   
            .use_fips(true)
@@ -3575,3431 +3743,3575 @@
 3595   3451   
            .region("local".to_string())
 3596   3452   
            .build()
 3597   3453   
            .expect("invalid params");
 3598   3454   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3599   3455   
        let endpoint = resolver.resolve_endpoint(&params);
 3600   3456   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3601   3457   
        assert_eq!(
 3602   3458   
            endpoint,
 3603   3459   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3604   3460   
                .url("http://localhost:8000")
 3605         -
                .property(
 3606         -
                    "authSchemes",
 3607         -
                    vec![{
 3608         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3609         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3610         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3611         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3612         -
                        out
 3613         -
                    }
 3614         -
                    .into()]
        3461  +
                .auth_scheme(
        3462  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3463  +
                        .put("signingName", "dynamodb".to_string())
        3464  +
                        .put("signingRegion", "us-east-1".to_string())
 3615   3465   
                )
 3616   3466   
                .build()
 3617   3467   
        );
 3618   3468   
    }
 3619   3469   
 3620   3470   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, AccountIdEndpointMode=disabled, Region=local}
 3621   3471   
    #[test]
 3622   3472   
    fn test_163() {
 3623   3473   
        let params = crate::config::endpoint::Params::builder()
 3624   3474   
            .use_fips(false)
 3625   3475   
            .use_dual_stack(false)
 3626   3476   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 3627   3477   
            .account_id_endpoint_mode("disabled".to_string())
 3628   3478   
            .region("local".to_string())
 3629   3479   
            .build()
 3630   3480   
            .expect("invalid params");
 3631   3481   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3632   3482   
        let endpoint = resolver.resolve_endpoint(&params);
 3633   3483   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3634   3484   
        assert_eq!(
 3635   3485   
            endpoint,
 3636   3486   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3637   3487   
                .url("http://localhost:8000")
 3638         -
                .property(
 3639         -
                    "authSchemes",
 3640         -
                    vec![{
 3641         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3642         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3643         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3644         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3645         -
                        out
 3646         -
                    }
 3647         -
                    .into()]
        3488  +
                .auth_scheme(
        3489  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3490  +
                        .put("signingName", "dynamodb".to_string())
        3491  +
                        .put("signingRegion", "us-east-1".to_string())
 3648   3492   
                )
 3649   3493   
                .build()
 3650   3494   
        );
 3651   3495   
    }
 3652   3496   
 3653   3497   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, AccountIdEndpointMode=disabled, Region=local}
 3654   3498   
    #[test]
 3655   3499   
    fn test_164() {
 3656   3500   
        let params = crate::config::endpoint::Params::builder()
 3657   3501   
            .use_fips(false)
 3658   3502   
            .use_dual_stack(false)
 3659   3503   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 3660   3504   
            .account_id_endpoint_mode("disabled".to_string())
 3661   3505   
            .region("local".to_string())
 3662   3506   
            .build()
 3663   3507   
            .expect("invalid params");
 3664   3508   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3665   3509   
        let endpoint = resolver.resolve_endpoint(&params);
 3666   3510   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3667   3511   
        assert_eq!(
 3668   3512   
            endpoint,
 3669   3513   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3670   3514   
                .url("http://localhost:8000")
 3671         -
                .property(
 3672         -
                    "authSchemes",
 3673         -
                    vec![{
 3674         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3675         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3676         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3677         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3678         -
                        out
 3679         -
                    }
 3680         -
                    .into()]
        3515  +
                .auth_scheme(
        3516  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3517  +
                        .put("signingName", "dynamodb".to_string())
        3518  +
                        .put("signingRegion", "us-east-1".to_string())
 3681   3519   
                )
 3682   3520   
                .build()
 3683   3521   
        );
 3684   3522   
    }
 3685   3523   
 3686   3524   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=, AccountIdEndpointMode=disabled, Region=local}
 3687   3525   
    #[test]
 3688   3526   
    fn test_165() {
 3689   3527   
        let params = crate::config::endpoint::Params::builder()
 3690   3528   
            .use_fips(false)
 3691   3529   
            .use_dual_stack(false)
 3692   3530   
            .resource_arn("".to_string())
 3693   3531   
            .account_id_endpoint_mode("disabled".to_string())
 3694   3532   
            .region("local".to_string())
 3695   3533   
            .build()
 3696   3534   
            .expect("invalid params");
 3697   3535   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3698   3536   
        let endpoint = resolver.resolve_endpoint(&params);
 3699   3537   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3700   3538   
        assert_eq!(
 3701   3539   
            endpoint,
 3702   3540   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3703   3541   
                .url("http://localhost:8000")
 3704         -
                .property(
 3705         -
                    "authSchemes",
 3706         -
                    vec![{
 3707         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3708         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3709         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3710         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3711         -
                        out
 3712         -
                    }
 3713         -
                    .into()]
        3542  +
                .auth_scheme(
        3543  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3544  +
                        .put("signingName", "dynamodb".to_string())
        3545  +
                        .put("signingRegion", "us-east-1".to_string())
 3714   3546   
                )
 3715   3547   
                .build()
 3716   3548   
        );
 3717   3549   
    }
 3718   3550   
 3719   3551   
    /// {UseFIPS=true, UseDualStack=true, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=disabled, Region=local}
 3720   3552   
    #[test]
 3721   3553   
    fn test_166() {
 3722   3554   
        let params = crate::config::endpoint::Params::builder()
 3723   3555   
            .use_fips(true)
@@ -3761,3593 +3896,3710 @@
 3781   3613   
            .region("local".to_string())
 3782   3614   
            .build()
 3783   3615   
            .expect("invalid params");
 3784   3616   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3785   3617   
        let endpoint = resolver.resolve_endpoint(&params);
 3786   3618   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3787   3619   
        assert_eq!(
 3788   3620   
            endpoint,
 3789   3621   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3790   3622   
                .url("http://localhost:8000")
 3791         -
                .property(
 3792         -
                    "authSchemes",
 3793         -
                    vec![{
 3794         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3795         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3796         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3797         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3798         -
                        out
 3799         -
                    }
 3800         -
                    .into()]
        3623  +
                .auth_scheme(
        3624  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3625  +
                        .put("signingName", "dynamodb".to_string())
        3626  +
                        .put("signingRegion", "us-east-1".to_string())
 3801   3627   
                )
 3802   3628   
                .build()
 3803   3629   
        );
 3804   3630   
    }
 3805   3631   
 3806   3632   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=disabled, Region=local}
 3807   3633   
    #[test]
 3808   3634   
    fn test_170() {
 3809   3635   
        let params = crate::config::endpoint::Params::builder()
 3810   3636   
            .use_fips(false)
 3811   3637   
            .use_dual_stack(false)
 3812   3638   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 3813   3639   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 3814   3640   
            .account_id_endpoint_mode("disabled".to_string())
 3815   3641   
            .region("local".to_string())
 3816   3642   
            .build()
 3817   3643   
            .expect("invalid params");
 3818   3644   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3819   3645   
        let endpoint = resolver.resolve_endpoint(&params);
 3820   3646   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3821   3647   
        assert_eq!(
 3822   3648   
            endpoint,
 3823   3649   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3824   3650   
                .url("http://localhost:8000")
 3825         -
                .property(
 3826         -
                    "authSchemes",
 3827         -
                    vec![{
 3828         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3829         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3830         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3831         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3832         -
                        out
 3833         -
                    }
 3834         -
                    .into()]
        3651  +
                .auth_scheme(
        3652  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3653  +
                        .put("signingName", "dynamodb".to_string())
        3654  +
                        .put("signingRegion", "us-east-1".to_string())
 3835   3655   
                )
 3836   3656   
                .build()
 3837   3657   
        );
 3838   3658   
    }
 3839   3659   
 3840   3660   
    /// {UseFIPS=false, UseDualStack=false, AccountIdEndpointMode=disabled, Region=local}
 3841   3661   
    #[test]
 3842   3662   
    fn test_171() {
 3843   3663   
        let params = crate::config::endpoint::Params::builder()
 3844   3664   
            .use_fips(false)
 3845   3665   
            .use_dual_stack(false)
 3846   3666   
            .account_id_endpoint_mode("disabled".to_string())
 3847   3667   
            .region("local".to_string())
 3848   3668   
            .build()
 3849   3669   
            .expect("invalid params");
 3850   3670   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3851   3671   
        let endpoint = resolver.resolve_endpoint(&params);
 3852   3672   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3853   3673   
        assert_eq!(
 3854   3674   
            endpoint,
 3855   3675   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3856   3676   
                .url("http://localhost:8000")
 3857         -
                .property(
 3858         -
                    "authSchemes",
 3859         -
                    vec![{
 3860         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3861         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3862         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3863         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3864         -
                        out
 3865         -
                    }
 3866         -
                    .into()]
        3677  +
                .auth_scheme(
        3678  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3679  +
                        .put("signingName", "dynamodb".to_string())
        3680  +
                        .put("signingRegion", "us-east-1".to_string())
 3867   3681   
                )
 3868   3682   
                .build()
 3869   3683   
        );
 3870   3684   
    }
 3871   3685   
 3872   3686   
    /// {UseFIPS=true, UseDualStack=true, AccountId=111111111111, AccountIdEndpointMode=required, Region=local}
 3873   3687   
    #[test]
 3874   3688   
    fn test_172() {
 3875   3689   
        let params = crate::config::endpoint::Params::builder()
 3876   3690   
            .use_fips(true)
@@ -3914,3728 +4225,3991 @@
 3934   3748   
            .region("local".to_string())
 3935   3749   
            .build()
 3936   3750   
            .expect("invalid params");
 3937   3751   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3938   3752   
        let endpoint = resolver.resolve_endpoint(&params);
 3939   3753   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3940   3754   
        assert_eq!(
 3941   3755   
            endpoint,
 3942   3756   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3943   3757   
                .url("http://localhost:8000")
 3944         -
                .property(
 3945         -
                    "authSchemes",
 3946         -
                    vec![{
 3947         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3948         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3949         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3950         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3951         -
                        out
 3952         -
                    }
 3953         -
                    .into()]
        3758  +
                .auth_scheme(
        3759  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3760  +
                        .put("signingName", "dynamodb".to_string())
        3761  +
                        .put("signingRegion", "us-east-1".to_string())
 3954   3762   
                )
 3955   3763   
                .build()
 3956   3764   
        );
 3957   3765   
    }
 3958   3766   
 3959   3767   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=local}
 3960   3768   
    #[test]
 3961   3769   
    fn test_176() {
 3962   3770   
        let params = crate::config::endpoint::Params::builder()
 3963   3771   
            .use_fips(false)
 3964   3772   
            .use_dual_stack(false)
 3965   3773   
            .account_id("111111111111".to_string())
 3966   3774   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 3967   3775   
            .account_id_endpoint_mode("required".to_string())
 3968   3776   
            .region("local".to_string())
 3969   3777   
            .build()
 3970   3778   
            .expect("invalid params");
 3971   3779   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3972   3780   
        let endpoint = resolver.resolve_endpoint(&params);
 3973   3781   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 3974   3782   
        assert_eq!(
 3975   3783   
            endpoint,
 3976   3784   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3977   3785   
                .url("http://localhost:8000")
 3978         -
                .property(
 3979         -
                    "authSchemes",
 3980         -
                    vec![{
 3981         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3982         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 3983         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3984         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3985         -
                        out
 3986         -
                    }
 3987         -
                    .into()]
        3786  +
                .auth_scheme(
        3787  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3788  +
                        .put("signingName", "dynamodb".to_string())
        3789  +
                        .put("signingRegion", "us-east-1".to_string())
 3988   3790   
                )
 3989   3791   
                .build()
 3990   3792   
        );
 3991   3793   
    }
 3992   3794   
 3993   3795   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=local}
 3994   3796   
    #[test]
 3995   3797   
    fn test_177() {
 3996   3798   
        let params = crate::config::endpoint::Params::builder()
 3997   3799   
            .use_fips(false)
 3998   3800   
            .use_dual_stack(false)
 3999   3801   
            .account_id("111111111111".to_string())
 4000   3802   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 4001   3803   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 4002   3804   
            .account_id_endpoint_mode("required".to_string())
 4003   3805   
            .region("local".to_string())
 4004   3806   
            .build()
 4005   3807   
            .expect("invalid params");
 4006   3808   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4007   3809   
        let endpoint = resolver.resolve_endpoint(&params);
 4008   3810   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 4009   3811   
        assert_eq!(
 4010   3812   
            endpoint,
 4011   3813   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4012   3814   
                .url("http://localhost:8000")
 4013         -
                .property(
 4014         -
                    "authSchemes",
 4015         -
                    vec![{
 4016         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4017         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 4018         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4019         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 4020         -
                        out
 4021         -
                    }
 4022         -
                    .into()]
        3815  +
                .auth_scheme(
        3816  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3817  +
                        .put("signingName", "dynamodb".to_string())
        3818  +
                        .put("signingRegion", "us-east-1".to_string())
 4023   3819   
                )
 4024   3820   
                .build()
 4025   3821   
        );
 4026   3822   
    }
 4027   3823   
 4028   3824   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=local}
 4029   3825   
    #[test]
 4030   3826   
    fn test_178() {
 4031   3827   
        let params = crate::config::endpoint::Params::builder()
 4032   3828   
            .use_fips(false)
 4033   3829   
            .use_dual_stack(false)
 4034   3830   
            .account_id("111111111111".to_string())
 4035   3831   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 4036   3832   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 4037   3833   
            .account_id_endpoint_mode("required".to_string())
 4038   3834   
            .region("local".to_string())
 4039   3835   
            .build()
 4040   3836   
            .expect("invalid params");
 4041   3837   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4042   3838   
        let endpoint = resolver.resolve_endpoint(&params);
 4043   3839   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 4044   3840   
        assert_eq!(
 4045   3841   
            endpoint,
 4046   3842   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4047   3843   
                .url("http://localhost:8000")
 4048         -
                .property(
 4049         -
                    "authSchemes",
 4050         -
                    vec![{
 4051         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4052         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 4053         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4054         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 4055         -
                        out
 4056         -
                    }
 4057         -
                    .into()]
        3844  +
                .auth_scheme(
        3845  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3846  +
                        .put("signingName", "dynamodb".to_string())
        3847  +
                        .put("signingRegion", "us-east-1".to_string())
 4058   3848   
                )
 4059   3849   
                .build()
 4060   3850   
        );
 4061   3851   
    }
 4062   3852   
 4063   3853   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=local}
 4064   3854   
    #[test]
 4065   3855   
    fn test_179() {
 4066   3856   
        let params = crate::config::endpoint::Params::builder()
 4067   3857   
            .use_fips(false)
 4068   3858   
            .use_dual_stack(false)
 4069   3859   
            .account_id("111111111111".to_string())
 4070   3860   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 4071   3861   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 4072   3862   
            .account_id_endpoint_mode("required".to_string())
 4073   3863   
            .region("local".to_string())
 4074   3864   
            .build()
 4075   3865   
            .expect("invalid params");
 4076   3866   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4077   3867   
        let endpoint = resolver.resolve_endpoint(&params);
 4078   3868   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 4079   3869   
        assert_eq!(
 4080   3870   
            endpoint,
 4081   3871   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4082   3872   
                .url("http://localhost:8000")
 4083         -
                .property(
 4084         -
                    "authSchemes",
 4085         -
                    vec![{
 4086         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4087         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 4088         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4089         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 4090         -
                        out
 4091         -
                    }
 4092         -
                    .into()]
        3873  +
                .auth_scheme(
        3874  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3875  +
                        .put("signingName", "dynamodb".to_string())
        3876  +
                        .put("signingRegion", "us-east-1".to_string())
 4093   3877   
                )
 4094   3878   
                .build()
 4095   3879   
        );
 4096   3880   
    }
 4097   3881   
 4098   3882   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-west-2:333333333333:table/table_name], AccountIdEndpointMode=required, Region=local}
 4099   3883   
    #[test]
 4100   3884   
    fn test_180() {
 4101   3885   
        let params = crate::config::endpoint::Params::builder()
 4102   3886   
            .use_fips(false)
 4103   3887   
            .use_dual_stack(false)
 4104   3888   
            .account_id("111111111111".to_string())
 4105   3889   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 4106   3890   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-west-2:333333333333:table/table_name".to_string().into()])
 4107   3891   
            .account_id_endpoint_mode("required".to_string())
 4108   3892   
            .region("local".to_string())
 4109   3893   
            .build()
 4110   3894   
            .expect("invalid params");
 4111   3895   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4112   3896   
        let endpoint = resolver.resolve_endpoint(&params);
 4113   3897   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 4114   3898   
        assert_eq!(
 4115   3899   
            endpoint,
 4116   3900   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4117   3901   
                .url("http://localhost:8000")
 4118         -
                .property(
 4119         -
                    "authSchemes",
 4120         -
                    vec![{
 4121         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4122         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 4123         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4124         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 4125         -
                        out
 4126         -
                    }
 4127         -
                    .into()]
        3902  +
                .auth_scheme(
        3903  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3904  +
                        .put("signingName", "dynamodb".to_string())
        3905  +
                        .put("signingRegion", "us-east-1".to_string())
 4128   3906   
                )
 4129   3907   
                .build()
 4130   3908   
        );
 4131   3909   
    }
 4132   3910   
 4133   3911   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:s3:us-east-1:333333333333:stream/testStream], AccountIdEndpointMode=required, Region=local}
 4134   3912   
    #[test]
 4135   3913   
    fn test_181() {
 4136   3914   
        let params = crate::config::endpoint::Params::builder()
 4137   3915   
            .use_fips(false)
 4138   3916   
            .use_dual_stack(false)
 4139   3917   
            .account_id("111111111111".to_string())
 4140   3918   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 4141   3919   
            .resource_arn_list(vec!["arn:aws:s3:us-east-1:333333333333:stream/testStream".to_string().into()])
 4142   3920   
            .account_id_endpoint_mode("required".to_string())
 4143   3921   
            .region("local".to_string())
 4144   3922   
            .build()
 4145   3923   
            .expect("invalid params");
 4146   3924   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4147   3925   
        let endpoint = resolver.resolve_endpoint(&params);
 4148   3926   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 4149   3927   
        assert_eq!(
 4150   3928   
            endpoint,
 4151   3929   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4152   3930   
                .url("http://localhost:8000")
 4153         -
                .property(
 4154         -
                    "authSchemes",
 4155         -
                    vec![{
 4156         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4157         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 4158         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4159         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 4160         -
                        out
 4161         -
                    }
 4162         -
                    .into()]
        3931  +
                .auth_scheme(
        3932  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3933  +
                        .put("signingName", "dynamodb".to_string())
        3934  +
                        .put("signingRegion", "us-east-1".to_string())
 4163   3935   
                )
 4164   3936   
                .build()
 4165   3937   
        );
 4166   3938   
    }
 4167   3939   
 4168   3940   
    /// {UseFIPS=false, UseDualStack=false, AccountId=, AccountIdEndpointMode=required, Region=local}
 4169   3941   
    #[test]
 4170   3942   
    fn test_182() {
 4171   3943   
        let params = crate::config::endpoint::Params::builder()
 4172   3944   
            .use_fips(false)
 4173   3945   
            .use_dual_stack(false)
 4174   3946   
            .account_id("".to_string())
 4175   3947   
            .account_id_endpoint_mode("required".to_string())
 4176   3948   
            .region("local".to_string())
 4177   3949   
            .build()
 4178   3950   
            .expect("invalid params");
 4179   3951   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4180   3952   
        let endpoint = resolver.resolve_endpoint(&params);
 4181   3953   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 4182   3954   
        assert_eq!(
 4183   3955   
            endpoint,
 4184   3956   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4185   3957   
                .url("http://localhost:8000")
 4186         -
                .property(
 4187         -
                    "authSchemes",
 4188         -
                    vec![{
 4189         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4190         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 4191         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4192         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 4193         -
                        out
 4194         -
                    }
 4195         -
                    .into()]
        3958  +
                .auth_scheme(
        3959  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        3960  +
                        .put("signingName", "dynamodb".to_string())
        3961  +
                        .put("signingRegion", "us-east-1".to_string())
 4196   3962   
                )
 4197   3963   
                .build()
 4198   3964   
        );
 4199   3965   
    }
 4200   3966   
 4201   3967   
    /// {UseFIPS=true, UseDualStack=true, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=required, Region=local}
 4202   3968   
    #[test]
 4203   3969   
    fn test_183() {
 4204   3970   
        let params = crate::config::endpoint::Params::builder()
 4205   3971   
            .use_fips(true)
@@ -4243,4009 +4411,4153 @@
 4263   4029   
            .region("local".to_string())
 4264   4030   
            .build()
 4265   4031   
            .expect("invalid params");
 4266   4032   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4267   4033   
        let endpoint = resolver.resolve_endpoint(&params);
 4268   4034   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 4269   4035   
        assert_eq!(
 4270   4036   
            endpoint,
 4271   4037   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4272   4038   
                .url("http://localhost:8000")
 4273         -
                .property(
 4274         -
                    "authSchemes",
 4275         -
                    vec![{
 4276         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4277         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 4278         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4279         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 4280         -
                        out
 4281         -
                    }
 4282         -
                    .into()]
        4039  +
                .auth_scheme(
        4040  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        4041  +
                        .put("signingName", "dynamodb".to_string())
        4042  +
                        .put("signingRegion", "us-east-1".to_string())
 4283   4043   
                )
 4284   4044   
                .build()
 4285   4045   
        );
 4286   4046   
    }
 4287   4047   
 4288   4048   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, AccountIdEndpointMode=required, Region=local}
 4289   4049   
    #[test]
 4290   4050   
    fn test_187() {
 4291   4051   
        let params = crate::config::endpoint::Params::builder()
 4292   4052   
            .use_fips(false)
 4293   4053   
            .use_dual_stack(false)
 4294   4054   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 4295   4055   
            .account_id_endpoint_mode("required".to_string())
 4296   4056   
            .region("local".to_string())
 4297   4057   
            .build()
 4298   4058   
            .expect("invalid params");
 4299   4059   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4300   4060   
        let endpoint = resolver.resolve_endpoint(&params);
 4301   4061   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 4302   4062   
        assert_eq!(
 4303   4063   
            endpoint,
 4304   4064   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4305   4065   
                .url("http://localhost:8000")
 4306         -
                .property(
 4307         -
                    "authSchemes",
 4308         -
                    vec![{
 4309         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4310         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 4311         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4312         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 4313         -
                        out
 4314         -
                    }
 4315         -
                    .into()]
        4066  +
                .auth_scheme(
        4067  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        4068  +
                        .put("signingName", "dynamodb".to_string())
        4069  +
                        .put("signingRegion", "us-east-1".to_string())
 4316   4070   
                )
 4317   4071   
                .build()
 4318   4072   
        );
 4319   4073   
    }
 4320   4074   
 4321   4075   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, AccountIdEndpointMode=required, Region=local}
 4322   4076   
    #[test]
 4323   4077   
    fn test_188() {
 4324   4078   
        let params = crate::config::endpoint::Params::builder()
 4325   4079   
            .use_fips(false)
 4326   4080   
            .use_dual_stack(false)
 4327   4081   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 4328   4082   
            .account_id_endpoint_mode("required".to_string())
 4329   4083   
            .region("local".to_string())
 4330   4084   
            .build()
 4331   4085   
            .expect("invalid params");
 4332   4086   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4333   4087   
        let endpoint = resolver.resolve_endpoint(&params);
 4334   4088   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 4335   4089   
        assert_eq!(
 4336   4090   
            endpoint,
 4337   4091   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4338   4092   
                .url("http://localhost:8000")
 4339         -
                .property(
 4340         -
                    "authSchemes",
 4341         -
                    vec![{
 4342         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4343         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 4344         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4345         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 4346         -
                        out
 4347         -
                    }
 4348         -
                    .into()]
        4093  +
                .auth_scheme(
        4094  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        4095  +
                        .put("signingName", "dynamodb".to_string())
        4096  +
                        .put("signingRegion", "us-east-1".to_string())
 4349   4097   
                )
 4350   4098   
                .build()
 4351   4099   
        );
 4352   4100   
    }
 4353   4101   
 4354   4102   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=, AccountIdEndpointMode=required, Region=local}
 4355   4103   
    #[test]
 4356   4104   
    fn test_189() {
 4357   4105   
        let params = crate::config::endpoint::Params::builder()
 4358   4106   
            .use_fips(false)
 4359   4107   
            .use_dual_stack(false)
 4360   4108   
            .resource_arn("".to_string())
 4361   4109   
            .account_id_endpoint_mode("required".to_string())
 4362   4110   
            .region("local".to_string())
 4363   4111   
            .build()
 4364   4112   
            .expect("invalid params");
 4365   4113   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4366   4114   
        let endpoint = resolver.resolve_endpoint(&params);
 4367   4115   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 4368   4116   
        assert_eq!(
 4369   4117   
            endpoint,
 4370   4118   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4371   4119   
                .url("http://localhost:8000")
 4372         -
                .property(
 4373         -
                    "authSchemes",
 4374         -
                    vec![{
 4375         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4376         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 4377         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4378         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 4379         -
                        out
 4380         -
                    }
 4381         -
                    .into()]
        4120  +
                .auth_scheme(
        4121  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        4122  +
                        .put("signingName", "dynamodb".to_string())
        4123  +
                        .put("signingRegion", "us-east-1".to_string())
 4382   4124   
                )
 4383   4125   
                .build()
 4384   4126   
        );
 4385   4127   
    }
 4386   4128   
 4387   4129   
    /// {UseFIPS=true, UseDualStack=true, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=local}
 4388   4130   
    #[test]
 4389   4131   
    fn test_190() {
 4390   4132   
        let params = crate::config::endpoint::Params::builder()
 4391   4133   
            .use_fips(true)
@@ -4429,4171 +4564,4288 @@
 4449   4191   
            .region("local".to_string())
 4450   4192   
            .build()
 4451   4193   
            .expect("invalid params");
 4452   4194   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4453   4195   
        let endpoint = resolver.resolve_endpoint(&params);
 4454   4196   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 4455   4197   
        assert_eq!(
 4456   4198   
            endpoint,
 4457   4199   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4458   4200   
                .url("http://localhost:8000")
 4459         -
                .property(
 4460         -
                    "authSchemes",
 4461         -
                    vec![{
 4462         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4463         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 4464         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4465         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 4466         -
                        out
 4467         -
                    }
 4468         -
                    .into()]
        4201  +
                .auth_scheme(
        4202  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        4203  +
                        .put("signingName", "dynamodb".to_string())
        4204  +
                        .put("signingRegion", "us-east-1".to_string())
 4469   4205   
                )
 4470   4206   
                .build()
 4471   4207   
        );
 4472   4208   
    }
 4473   4209   
 4474   4210   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=local}
 4475   4211   
    #[test]
 4476   4212   
    fn test_194() {
 4477   4213   
        let params = crate::config::endpoint::Params::builder()
 4478   4214   
            .use_fips(false)
 4479   4215   
            .use_dual_stack(false)
 4480   4216   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 4481   4217   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 4482   4218   
            .account_id_endpoint_mode("required".to_string())
 4483   4219   
            .region("local".to_string())
 4484   4220   
            .build()
 4485   4221   
            .expect("invalid params");
 4486   4222   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4487   4223   
        let endpoint = resolver.resolve_endpoint(&params);
 4488   4224   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 4489   4225   
        assert_eq!(
 4490   4226   
            endpoint,
 4491   4227   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4492   4228   
                .url("http://localhost:8000")
 4493         -
                .property(
 4494         -
                    "authSchemes",
 4495         -
                    vec![{
 4496         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4497         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 4498         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4499         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 4500         -
                        out
 4501         -
                    }
 4502         -
                    .into()]
        4229  +
                .auth_scheme(
        4230  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        4231  +
                        .put("signingName", "dynamodb".to_string())
        4232  +
                        .put("signingRegion", "us-east-1".to_string())
 4503   4233   
                )
 4504   4234   
                .build()
 4505   4235   
        );
 4506   4236   
    }
 4507   4237   
 4508   4238   
    /// {UseFIPS=false, UseDualStack=false, AccountIdEndpointMode=required, Region=local}
 4509   4239   
    #[test]
 4510   4240   
    fn test_195() {
 4511   4241   
        let params = crate::config::endpoint::Params::builder()
 4512   4242   
            .use_fips(false)
 4513   4243   
            .use_dual_stack(false)
 4514   4244   
            .account_id_endpoint_mode("required".to_string())
 4515   4245   
            .region("local".to_string())
 4516   4246   
            .build()
 4517   4247   
            .expect("invalid params");
 4518   4248   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4519   4249   
        let endpoint = resolver.resolve_endpoint(&params);
 4520   4250   
        let endpoint = endpoint.expect("Expected valid endpoint: http://localhost:8000");
 4521   4251   
        assert_eq!(
 4522   4252   
            endpoint,
 4523   4253   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4524   4254   
                .url("http://localhost:8000")
 4525         -
                .property(
 4526         -
                    "authSchemes",
 4527         -
                    vec![{
 4528         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4529         -
                        out.insert("signingName".to_string(), "dynamodb".to_string().into());
 4530         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4531         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 4532         -
                        out
 4533         -
                    }
 4534         -
                    .into()]
        4255  +
                .auth_scheme(
        4256  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 2)
        4257  +
                        .put("signingName", "dynamodb".to_string())
        4258  +
                        .put("signingRegion", "us-east-1".to_string())
 4535   4259   
                )
 4536   4260   
                .build()
 4537   4261   
        );
 4538   4262   
    }
 4539   4263   
 4540   4264   
    /// {UseFIPS=true, UseDualStack=true, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-east-1}
 4541   4265   
    #[test]
 4542   4266   
    fn test_196() {
 4543   4267   
        let params = crate::config::endpoint::Params::builder()
 4544   4268   
            .use_fips(true)
@@ -4567,4291 +4796,4528 @@
 4587   4311   
        let params = crate::config::endpoint::Params::builder()
 4588   4312   
            .use_fips(false)
 4589   4313   
            .use_dual_stack(true)
 4590   4314   
            .account_id("111111111111".to_string())
 4591   4315   
            .account_id_endpoint_mode("preferred".to_string())
 4592   4316   
            .region("us-east-1".to_string())
 4593   4317   
            .build()
 4594   4318   
            .expect("invalid params");
 4595   4319   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4596   4320   
        let endpoint = resolver.resolve_endpoint(&params);
 4597         -
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-east-1.api.aws");
        4321  +
        let endpoint = endpoint.expect("Expected valid endpoint: https://111111111111.ddb.us-east-1.api.aws");
 4598   4322   
        assert_eq!(
 4599   4323   
            endpoint,
 4600   4324   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4601         -
                .url("https://dynamodb.us-east-1.api.aws")
        4325  +
                .url("https://111111111111.ddb.us-east-1.api.aws")
        4326  +
                .property("metricValues", vec!["O".to_string().into()])
 4602   4327   
                .build()
 4603   4328   
        );
 4604   4329   
    }
 4605   4330   
 4606   4331   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-east-1}
 4607   4332   
    #[test]
 4608   4333   
    fn test_199() {
 4609   4334   
        let params = crate::config::endpoint::Params::builder()
 4610   4335   
            .use_fips(false)
 4611   4336   
            .use_dual_stack(false)
 4612   4337   
            .account_id("111111111111".to_string())
 4613   4338   
            .account_id_endpoint_mode("preferred".to_string())
 4614   4339   
            .region("us-east-1".to_string())
 4615   4340   
            .build()
 4616   4341   
            .expect("invalid params");
 4617   4342   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4618   4343   
        let endpoint = resolver.resolve_endpoint(&params);
 4619   4344   
        let endpoint = endpoint.expect("Expected valid endpoint: https://111111111111.ddb.us-east-1.amazonaws.com");
 4620   4345   
        assert_eq!(
 4621   4346   
            endpoint,
 4622   4347   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4623   4348   
                .url("https://111111111111.ddb.us-east-1.amazonaws.com")
        4349  +
                .property("metricValues", vec!["O".to_string().into()])
 4624   4350   
                .build()
 4625   4351   
        );
 4626   4352   
    }
 4627   4353   
 4628   4354   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}
 4629   4355   
    #[test]
 4630   4356   
    fn test_200() {
 4631   4357   
        let params = crate::config::endpoint::Params::builder()
 4632   4358   
            .use_fips(false)
 4633   4359   
            .use_dual_stack(false)
 4634   4360   
            .account_id("111111111111".to_string())
 4635   4361   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 4636   4362   
            .account_id_endpoint_mode("preferred".to_string())
 4637   4363   
            .region("us-east-1".to_string())
 4638   4364   
            .build()
 4639   4365   
            .expect("invalid params");
 4640   4366   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4641   4367   
        let endpoint = resolver.resolve_endpoint(&params);
 4642   4368   
        let endpoint = endpoint.expect("Expected valid endpoint: https://333333333333.ddb.us-east-1.amazonaws.com");
 4643   4369   
        assert_eq!(
 4644   4370   
            endpoint,
 4645   4371   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4646   4372   
                .url("https://333333333333.ddb.us-east-1.amazonaws.com")
        4373  +
                .property("metricValues", vec!["O".to_string().into()])
 4647   4374   
                .build()
 4648   4375   
        );
 4649   4376   
    }
 4650   4377   
 4651   4378   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}
 4652   4379   
    #[test]
 4653   4380   
    fn test_201() {
 4654   4381   
        let params = crate::config::endpoint::Params::builder()
 4655   4382   
            .use_fips(false)
 4656   4383   
            .use_dual_stack(false)
 4657   4384   
            .account_id("111111111111".to_string())
 4658   4385   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 4659   4386   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 4660   4387   
            .account_id_endpoint_mode("preferred".to_string())
 4661   4388   
            .region("us-east-1".to_string())
 4662   4389   
            .build()
 4663   4390   
            .expect("invalid params");
 4664   4391   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4665   4392   
        let endpoint = resolver.resolve_endpoint(&params);
 4666   4393   
        let endpoint = endpoint.expect("Expected valid endpoint: https://222222222222.ddb.us-east-1.amazonaws.com");
 4667   4394   
        assert_eq!(
 4668   4395   
            endpoint,
 4669   4396   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4670   4397   
                .url("https://222222222222.ddb.us-east-1.amazonaws.com")
        4398  +
                .property("metricValues", vec!["O".to_string().into()])
 4671   4399   
                .build()
 4672   4400   
        );
 4673   4401   
    }
 4674   4402   
 4675   4403   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}
 4676   4404   
    #[test]
 4677   4405   
    fn test_202() {
 4678   4406   
        let params = crate::config::endpoint::Params::builder()
 4679   4407   
            .use_fips(false)
 4680   4408   
            .use_dual_stack(false)
 4681   4409   
            .account_id("111111111111".to_string())
 4682   4410   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 4683   4411   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 4684   4412   
            .account_id_endpoint_mode("preferred".to_string())
 4685   4413   
            .region("us-east-1".to_string())
 4686   4414   
            .build()
 4687   4415   
            .expect("invalid params");
 4688   4416   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4689   4417   
        let endpoint = resolver.resolve_endpoint(&params);
 4690   4418   
        let endpoint = endpoint.expect("Expected valid endpoint: https://333333333333.ddb.us-east-1.amazonaws.com");
 4691   4419   
        assert_eq!(
 4692   4420   
            endpoint,
 4693   4421   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4694   4422   
                .url("https://333333333333.ddb.us-east-1.amazonaws.com")
        4423  +
                .property("metricValues", vec!["O".to_string().into()])
 4695   4424   
                .build()
 4696   4425   
        );
 4697   4426   
    }
 4698   4427   
 4699   4428   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}
 4700   4429   
    #[test]
 4701   4430   
    fn test_203() {
 4702   4431   
        let params = crate::config::endpoint::Params::builder()
 4703   4432   
            .use_fips(false)
 4704   4433   
            .use_dual_stack(false)
 4705   4434   
            .account_id("111111111111".to_string())
 4706   4435   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 4707   4436   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 4708   4437   
            .account_id_endpoint_mode("preferred".to_string())
 4709   4438   
            .region("us-east-1".to_string())
 4710   4439   
            .build()
 4711   4440   
            .expect("invalid params");
 4712   4441   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4713   4442   
        let endpoint = resolver.resolve_endpoint(&params);
 4714   4443   
        let endpoint = endpoint.expect("Expected valid endpoint: https://333333333333.ddb.us-east-1.amazonaws.com");
 4715   4444   
        assert_eq!(
 4716   4445   
            endpoint,
 4717   4446   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4718   4447   
                .url("https://333333333333.ddb.us-east-1.amazonaws.com")
        4448  +
                .property("metricValues", vec!["O".to_string().into()])
 4719   4449   
                .build()
 4720   4450   
        );
 4721   4451   
    }
 4722   4452   
 4723   4453   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-west-2:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}
 4724   4454   
    #[test]
 4725   4455   
    fn test_204() {
 4726   4456   
        let params = crate::config::endpoint::Params::builder()
 4727   4457   
            .use_fips(false)
 4728   4458   
            .use_dual_stack(false)
 4729   4459   
            .account_id("111111111111".to_string())
 4730   4460   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 4731   4461   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-west-2:333333333333:table/table_name".to_string().into()])
 4732   4462   
            .account_id_endpoint_mode("preferred".to_string())
 4733   4463   
            .region("us-east-1".to_string())
 4734   4464   
            .build()
 4735   4465   
            .expect("invalid params");
 4736   4466   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4737   4467   
        let endpoint = resolver.resolve_endpoint(&params);
 4738   4468   
        let endpoint = endpoint.expect("Expected valid endpoint: https://111111111111.ddb.us-east-1.amazonaws.com");
 4739   4469   
        assert_eq!(
 4740   4470   
            endpoint,
 4741   4471   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4742   4472   
                .url("https://111111111111.ddb.us-east-1.amazonaws.com")
        4473  +
                .property("metricValues", vec!["O".to_string().into()])
 4743   4474   
                .build()
 4744   4475   
        );
 4745   4476   
    }
 4746   4477   
 4747   4478   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:s3:us-east-1:333333333333:stream/testStream], AccountIdEndpointMode=preferred, Region=us-east-1}
 4748   4479   
    #[test]
 4749   4480   
    fn test_205() {
 4750   4481   
        let params = crate::config::endpoint::Params::builder()
 4751   4482   
            .use_fips(false)
 4752   4483   
            .use_dual_stack(false)
 4753   4484   
            .account_id("111111111111".to_string())
 4754   4485   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 4755   4486   
            .resource_arn_list(vec!["arn:aws:s3:us-east-1:333333333333:stream/testStream".to_string().into()])
 4756   4487   
            .account_id_endpoint_mode("preferred".to_string())
 4757   4488   
            .region("us-east-1".to_string())
 4758   4489   
            .build()
 4759   4490   
            .expect("invalid params");
 4760   4491   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4761   4492   
        let endpoint = resolver.resolve_endpoint(&params);
 4762   4493   
        let endpoint = endpoint.expect("Expected valid endpoint: https://111111111111.ddb.us-east-1.amazonaws.com");
 4763   4494   
        assert_eq!(
 4764   4495   
            endpoint,
 4765   4496   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4766   4497   
                .url("https://111111111111.ddb.us-east-1.amazonaws.com")
        4498  +
                .property("metricValues", vec!["O".to_string().into()])
 4767   4499   
                .build()
 4768   4500   
        );
 4769   4501   
    }
 4770   4502   
 4771   4503   
    /// {UseFIPS=false, UseDualStack=false, AccountId=, AccountIdEndpointMode=preferred, Region=us-east-1}
 4772   4504   
    #[test]
 4773   4505   
    fn test_206() {
 4774   4506   
        let params = crate::config::endpoint::Params::builder()
 4775   4507   
            .use_fips(false)
 4776   4508   
            .use_dual_stack(false)
@@ -4815,4547 +4901,4635 @@
 4835   4567   
        let params = crate::config::endpoint::Params::builder()
 4836   4568   
            .use_fips(false)
 4837   4569   
            .use_dual_stack(true)
 4838   4570   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 4839   4571   
            .account_id_endpoint_mode("preferred".to_string())
 4840   4572   
            .region("us-east-1".to_string())
 4841   4573   
            .build()
 4842   4574   
            .expect("invalid params");
 4843   4575   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4844   4576   
        let endpoint = resolver.resolve_endpoint(&params);
 4845         -
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-east-1.api.aws");
        4577  +
        let endpoint = endpoint.expect("Expected valid endpoint: https://222222222222.ddb.us-east-1.api.aws");
 4846   4578   
        assert_eq!(
 4847   4579   
            endpoint,
 4848   4580   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4849         -
                .url("https://dynamodb.us-east-1.api.aws")
        4581  +
                .url("https://222222222222.ddb.us-east-1.api.aws")
        4582  +
                .property("metricValues", vec!["O".to_string().into()])
 4850   4583   
                .build()
 4851   4584   
        );
 4852   4585   
    }
 4853   4586   
 4854   4587   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-east-1}
 4855   4588   
    #[test]
 4856   4589   
    fn test_210() {
 4857   4590   
        let params = crate::config::endpoint::Params::builder()
 4858   4591   
            .use_fips(false)
 4859   4592   
            .use_dual_stack(false)
 4860   4593   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 4861   4594   
            .account_id_endpoint_mode("preferred".to_string())
 4862   4595   
            .region("us-east-1".to_string())
 4863   4596   
            .build()
 4864   4597   
            .expect("invalid params");
 4865   4598   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4866   4599   
        let endpoint = resolver.resolve_endpoint(&params);
 4867   4600   
        let endpoint = endpoint.expect("Expected valid endpoint: https://222222222222.ddb.us-east-1.amazonaws.com");
 4868   4601   
        assert_eq!(
 4869   4602   
            endpoint,
 4870   4603   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4871   4604   
                .url("https://222222222222.ddb.us-east-1.amazonaws.com")
        4605  +
                .property("metricValues", vec!["O".to_string().into()])
 4872   4606   
                .build()
 4873   4607   
        );
 4874   4608   
    }
 4875   4609   
 4876   4610   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-east-1}
 4877   4611   
    #[test]
 4878   4612   
    fn test_211() {
 4879   4613   
        let params = crate::config::endpoint::Params::builder()
 4880   4614   
            .use_fips(false)
 4881   4615   
            .use_dual_stack(false)
@@ -4969,4703 +5078,4815 @@
 4989   4723   
        let params = crate::config::endpoint::Params::builder()
 4990   4724   
            .use_fips(false)
 4991   4725   
            .use_dual_stack(true)
 4992   4726   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 4993   4727   
            .account_id_endpoint_mode("preferred".to_string())
 4994   4728   
            .region("us-east-1".to_string())
 4995   4729   
            .build()
 4996   4730   
            .expect("invalid params");
 4997   4731   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4998   4732   
        let endpoint = resolver.resolve_endpoint(&params);
 4999         -
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-east-1.api.aws");
        4733  +
        let endpoint = endpoint.expect("Expected valid endpoint: https://333333333333.ddb.us-east-1.api.aws");
 5000   4734   
        assert_eq!(
 5001   4735   
            endpoint,
 5002   4736   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5003         -
                .url("https://dynamodb.us-east-1.api.aws")
        4737  +
                .url("https://333333333333.ddb.us-east-1.api.aws")
        4738  +
                .property("metricValues", vec!["O".to_string().into()])
 5004   4739   
                .build()
 5005   4740   
        );
 5006   4741   
    }
 5007   4742   
 5008   4743   
    /// {UseFIPS=false, UseDualStack=false, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}
 5009   4744   
    #[test]
 5010   4745   
    fn test_217() {
 5011   4746   
        let params = crate::config::endpoint::Params::builder()
 5012   4747   
            .use_fips(false)
 5013   4748   
            .use_dual_stack(false)
 5014   4749   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 5015   4750   
            .account_id_endpoint_mode("preferred".to_string())
 5016   4751   
            .region("us-east-1".to_string())
 5017   4752   
            .build()
 5018   4753   
            .expect("invalid params");
 5019   4754   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5020   4755   
        let endpoint = resolver.resolve_endpoint(&params);
 5021   4756   
        let endpoint = endpoint.expect("Expected valid endpoint: https://333333333333.ddb.us-east-1.amazonaws.com");
 5022   4757   
        assert_eq!(
 5023   4758   
            endpoint,
 5024   4759   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5025   4760   
                .url("https://333333333333.ddb.us-east-1.amazonaws.com")
        4761  +
                .property("metricValues", vec!["O".to_string().into()])
 5026   4762   
                .build()
 5027   4763   
        );
 5028   4764   
    }
 5029   4765   
 5030   4766   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}
 5031   4767   
    #[test]
 5032   4768   
    fn test_218() {
 5033   4769   
        let params = crate::config::endpoint::Params::builder()
 5034   4770   
            .use_fips(false)
 5035   4771   
            .use_dual_stack(false)
 5036   4772   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 5037   4773   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 5038   4774   
            .account_id_endpoint_mode("preferred".to_string())
 5039   4775   
            .region("us-east-1".to_string())
 5040   4776   
            .build()
 5041   4777   
            .expect("invalid params");
 5042   4778   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5043   4779   
        let endpoint = resolver.resolve_endpoint(&params);
 5044   4780   
        let endpoint = endpoint.expect("Expected valid endpoint: https://222222222222.ddb.us-east-1.amazonaws.com");
 5045   4781   
        assert_eq!(
 5046   4782   
            endpoint,
 5047   4783   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5048   4784   
                .url("https://222222222222.ddb.us-east-1.amazonaws.com")
        4785  +
                .property("metricValues", vec!["O".to_string().into()])
 5049   4786   
                .build()
 5050   4787   
        );
 5051   4788   
    }
 5052   4789   
 5053   4790   
    /// {UseFIPS=false, UseDualStack=false, AccountIdEndpointMode=preferred, Region=us-east-1}
 5054   4791   
    #[test]
 5055   4792   
    fn test_219() {
 5056   4793   
        let params = crate::config::endpoint::Params::builder()
 5057   4794   
            .use_fips(false)
 5058   4795   
            .use_dual_stack(false)
@@ -5097,4834 +5324,5071 @@
 5117   4854   
        let params = crate::config::endpoint::Params::builder()
 5118   4855   
            .use_fips(false)
 5119   4856   
            .use_dual_stack(true)
 5120   4857   
            .account_id("111111111111".to_string())
 5121   4858   
            .account_id_endpoint_mode("required".to_string())
 5122   4859   
            .region("us-east-1".to_string())
 5123   4860   
            .build()
 5124   4861   
            .expect("invalid params");
 5125   4862   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5126   4863   
        let endpoint = resolver.resolve_endpoint(&params);
 5127         -
        let error = endpoint.expect_err("expected error: Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported [{UseFIPS=false, UseDualStack=true, AccountId=111111111111, AccountIdEndpointMode=required, Region=us-east-1}]");
        4864  +
        let endpoint = endpoint.expect("Expected valid endpoint: https://111111111111.ddb.us-east-1.api.aws");
 5128   4865   
        assert_eq!(
 5129         -
            format!("{}", error),
 5130         -
            "Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported"
 5131         -
        )
        4866  +
            endpoint,
        4867  +
            ::aws_smithy_types::endpoint::Endpoint::builder()
        4868  +
                .url("https://111111111111.ddb.us-east-1.api.aws")
        4869  +
                .property("metricValues", vec!["O".to_string().into()])
        4870  +
                .build()
        4871  +
        );
 5132   4872   
    }
 5133   4873   
 5134   4874   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, AccountIdEndpointMode=required, Region=us-east-1}
 5135   4875   
    #[test]
 5136   4876   
    fn test_223() {
 5137   4877   
        let params = crate::config::endpoint::Params::builder()
 5138   4878   
            .use_fips(false)
 5139   4879   
            .use_dual_stack(false)
 5140   4880   
            .account_id("111111111111".to_string())
 5141   4881   
            .account_id_endpoint_mode("required".to_string())
 5142   4882   
            .region("us-east-1".to_string())
 5143   4883   
            .build()
 5144   4884   
            .expect("invalid params");
 5145   4885   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5146   4886   
        let endpoint = resolver.resolve_endpoint(&params);
 5147   4887   
        let endpoint = endpoint.expect("Expected valid endpoint: https://111111111111.ddb.us-east-1.amazonaws.com");
 5148   4888   
        assert_eq!(
 5149   4889   
            endpoint,
 5150   4890   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5151   4891   
                .url("https://111111111111.ddb.us-east-1.amazonaws.com")
        4892  +
                .property("metricValues", vec!["O".to_string().into()])
 5152   4893   
                .build()
 5153   4894   
        );
 5154   4895   
    }
 5155   4896   
 5156   4897   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}
 5157   4898   
    #[test]
 5158   4899   
    fn test_224() {
 5159   4900   
        let params = crate::config::endpoint::Params::builder()
 5160   4901   
            .use_fips(false)
 5161   4902   
            .use_dual_stack(false)
 5162   4903   
            .account_id("111111111111".to_string())
 5163   4904   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 5164   4905   
            .account_id_endpoint_mode("required".to_string())
 5165   4906   
            .region("us-east-1".to_string())
 5166   4907   
            .build()
 5167   4908   
            .expect("invalid params");
 5168   4909   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5169   4910   
        let endpoint = resolver.resolve_endpoint(&params);
 5170   4911   
        let endpoint = endpoint.expect("Expected valid endpoint: https://333333333333.ddb.us-east-1.amazonaws.com");
 5171   4912   
        assert_eq!(
 5172   4913   
            endpoint,
 5173   4914   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5174   4915   
                .url("https://333333333333.ddb.us-east-1.amazonaws.com")
        4916  +
                .property("metricValues", vec!["O".to_string().into()])
 5175   4917   
                .build()
 5176   4918   
        );
 5177   4919   
    }
 5178   4920   
 5179   4921   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}
 5180   4922   
    #[test]
 5181   4923   
    fn test_225() {
 5182   4924   
        let params = crate::config::endpoint::Params::builder()
 5183   4925   
            .use_fips(false)
 5184   4926   
            .use_dual_stack(false)
 5185   4927   
            .account_id("111111111111".to_string())
 5186   4928   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 5187   4929   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 5188   4930   
            .account_id_endpoint_mode("required".to_string())
 5189   4931   
            .region("us-east-1".to_string())
 5190   4932   
            .build()
 5191   4933   
            .expect("invalid params");
 5192   4934   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5193   4935   
        let endpoint = resolver.resolve_endpoint(&params);
 5194   4936   
        let endpoint = endpoint.expect("Expected valid endpoint: https://222222222222.ddb.us-east-1.amazonaws.com");
 5195   4937   
        assert_eq!(
 5196   4938   
            endpoint,
 5197   4939   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5198   4940   
                .url("https://222222222222.ddb.us-east-1.amazonaws.com")
        4941  +
                .property("metricValues", vec!["O".to_string().into()])
 5199   4942   
                .build()
 5200   4943   
        );
 5201   4944   
    }
 5202   4945   
 5203   4946   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}
 5204   4947   
    #[test]
 5205   4948   
    fn test_226() {
 5206   4949   
        let params = crate::config::endpoint::Params::builder()
 5207   4950   
            .use_fips(false)
 5208   4951   
            .use_dual_stack(false)
 5209   4952   
            .account_id("111111111111".to_string())
 5210   4953   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 5211   4954   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 5212   4955   
            .account_id_endpoint_mode("required".to_string())
 5213   4956   
            .region("us-east-1".to_string())
 5214   4957   
            .build()
 5215   4958   
            .expect("invalid params");
 5216   4959   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5217   4960   
        let endpoint = resolver.resolve_endpoint(&params);
 5218   4961   
        let endpoint = endpoint.expect("Expected valid endpoint: https://333333333333.ddb.us-east-1.amazonaws.com");
 5219   4962   
        assert_eq!(
 5220   4963   
            endpoint,
 5221   4964   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5222   4965   
                .url("https://333333333333.ddb.us-east-1.amazonaws.com")
        4966  +
                .property("metricValues", vec!["O".to_string().into()])
 5223   4967   
                .build()
 5224   4968   
        );
 5225   4969   
    }
 5226   4970   
 5227   4971   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}
 5228   4972   
    #[test]
 5229   4973   
    fn test_227() {
 5230   4974   
        let params = crate::config::endpoint::Params::builder()
 5231   4975   
            .use_fips(false)
 5232   4976   
            .use_dual_stack(false)
 5233   4977   
            .account_id("111111111111".to_string())
 5234   4978   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 5235   4979   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 5236   4980   
            .account_id_endpoint_mode("required".to_string())
 5237   4981   
            .region("us-east-1".to_string())
 5238   4982   
            .build()
 5239   4983   
            .expect("invalid params");
 5240   4984   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5241   4985   
        let endpoint = resolver.resolve_endpoint(&params);
 5242   4986   
        let endpoint = endpoint.expect("Expected valid endpoint: https://333333333333.ddb.us-east-1.amazonaws.com");
 5243   4987   
        assert_eq!(
 5244   4988   
            endpoint,
 5245   4989   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5246   4990   
                .url("https://333333333333.ddb.us-east-1.amazonaws.com")
        4991  +
                .property("metricValues", vec!["O".to_string().into()])
 5247   4992   
                .build()
 5248   4993   
        );
 5249   4994   
    }
 5250   4995   
 5251   4996   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-west-2:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}
 5252   4997   
    #[test]
 5253   4998   
    fn test_228() {
 5254   4999   
        let params = crate::config::endpoint::Params::builder()
 5255   5000   
            .use_fips(false)
 5256   5001   
            .use_dual_stack(false)
 5257   5002   
            .account_id("111111111111".to_string())
 5258   5003   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 5259   5004   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-west-2:333333333333:table/table_name".to_string().into()])
 5260   5005   
            .account_id_endpoint_mode("required".to_string())
 5261   5006   
            .region("us-east-1".to_string())
 5262   5007   
            .build()
 5263   5008   
            .expect("invalid params");
 5264   5009   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5265   5010   
        let endpoint = resolver.resolve_endpoint(&params);
 5266   5011   
        let endpoint = endpoint.expect("Expected valid endpoint: https://111111111111.ddb.us-east-1.amazonaws.com");
 5267   5012   
        assert_eq!(
 5268   5013   
            endpoint,
 5269   5014   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5270   5015   
                .url("https://111111111111.ddb.us-east-1.amazonaws.com")
        5016  +
                .property("metricValues", vec!["O".to_string().into()])
 5271   5017   
                .build()
 5272   5018   
        );
 5273   5019   
    }
 5274   5020   
 5275   5021   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:s3:us-east-1:333333333333:stream/testStream], AccountIdEndpointMode=required, Region=us-east-1}
 5276   5022   
    #[test]
 5277   5023   
    fn test_229() {
 5278   5024   
        let params = crate::config::endpoint::Params::builder()
 5279   5025   
            .use_fips(false)
 5280   5026   
            .use_dual_stack(false)
 5281   5027   
            .account_id("111111111111".to_string())
 5282   5028   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 5283   5029   
            .resource_arn_list(vec!["arn:aws:s3:us-east-1:333333333333:stream/testStream".to_string().into()])
 5284   5030   
            .account_id_endpoint_mode("required".to_string())
 5285   5031   
            .region("us-east-1".to_string())
 5286   5032   
            .build()
 5287   5033   
            .expect("invalid params");
 5288   5034   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5289   5035   
        let endpoint = resolver.resolve_endpoint(&params);
 5290   5036   
        let endpoint = endpoint.expect("Expected valid endpoint: https://111111111111.ddb.us-east-1.amazonaws.com");
 5291   5037   
        assert_eq!(
 5292   5038   
            endpoint,
 5293   5039   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5294   5040   
                .url("https://111111111111.ddb.us-east-1.amazonaws.com")
        5041  +
                .property("metricValues", vec!["O".to_string().into()])
 5295   5042   
                .build()
 5296   5043   
        );
 5297   5044   
    }
 5298   5045   
 5299   5046   
    /// {UseFIPS=false, UseDualStack=false, AccountId=, AccountIdEndpointMode=required, Region=us-east-1}
 5300   5047   
    #[test]
 5301   5048   
    fn test_230() {
 5302   5049   
        let params = crate::config::endpoint::Params::builder()
 5303   5050   
            .use_fips(false)
 5304   5051   
            .use_dual_stack(false)
@@ -5339,5086 +5423,5174 @@
 5359   5106   
        let params = crate::config::endpoint::Params::builder()
 5360   5107   
            .use_fips(false)
 5361   5108   
            .use_dual_stack(true)
 5362   5109   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 5363   5110   
            .account_id_endpoint_mode("required".to_string())
 5364   5111   
            .region("us-east-1".to_string())
 5365   5112   
            .build()
 5366   5113   
            .expect("invalid params");
 5367   5114   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5368   5115   
        let endpoint = resolver.resolve_endpoint(&params);
 5369         -
        let error = endpoint.expect_err("expected error: Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported [{UseFIPS=false, UseDualStack=true, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=required, Region=us-east-1}]");
        5116  +
        let endpoint = endpoint.expect("Expected valid endpoint: https://222222222222.ddb.us-east-1.api.aws");
 5370   5117   
        assert_eq!(
 5371         -
            format!("{}", error),
 5372         -
            "Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported"
 5373         -
        )
        5118  +
            endpoint,
        5119  +
            ::aws_smithy_types::endpoint::Endpoint::builder()
        5120  +
                .url("https://222222222222.ddb.us-east-1.api.aws")
        5121  +
                .property("metricValues", vec!["O".to_string().into()])
        5122  +
                .build()
        5123  +
        );
 5374   5124   
    }
 5375   5125   
 5376   5126   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=required, Region=us-east-1}
 5377   5127   
    #[test]
 5378   5128   
    fn test_234() {
 5379   5129   
        let params = crate::config::endpoint::Params::builder()
 5380   5130   
            .use_fips(false)
 5381   5131   
            .use_dual_stack(false)
 5382   5132   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 5383   5133   
            .account_id_endpoint_mode("required".to_string())
 5384   5134   
            .region("us-east-1".to_string())
 5385   5135   
            .build()
 5386   5136   
            .expect("invalid params");
 5387   5137   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5388   5138   
        let endpoint = resolver.resolve_endpoint(&params);
 5389   5139   
        let endpoint = endpoint.expect("Expected valid endpoint: https://222222222222.ddb.us-east-1.amazonaws.com");
 5390   5140   
        assert_eq!(
 5391   5141   
            endpoint,
 5392   5142   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5393   5143   
                .url("https://222222222222.ddb.us-east-1.amazonaws.com")
        5144  +
                .property("metricValues", vec!["O".to_string().into()])
 5394   5145   
                .build()
 5395   5146   
        );
 5396   5147   
    }
 5397   5148   
 5398   5149   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, AccountIdEndpointMode=required, Region=us-east-1}
 5399   5150   
    #[test]
 5400   5151   
    fn test_235() {
 5401   5152   
        let params = crate::config::endpoint::Params::builder()
 5402   5153   
            .use_fips(false)
 5403   5154   
            .use_dual_stack(false)
@@ -5481,5232 +5588,5344 @@
 5501   5252   
        let params = crate::config::endpoint::Params::builder()
 5502   5253   
            .use_fips(false)
 5503   5254   
            .use_dual_stack(true)
 5504   5255   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 5505   5256   
            .account_id_endpoint_mode("required".to_string())
 5506   5257   
            .region("us-east-1".to_string())
 5507   5258   
            .build()
 5508   5259   
            .expect("invalid params");
 5509   5260   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5510   5261   
        let endpoint = resolver.resolve_endpoint(&params);
 5511         -
        let error = endpoint.expect_err("expected error: Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported [{UseFIPS=false, UseDualStack=true, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}]");
        5262  +
        let endpoint = endpoint.expect("Expected valid endpoint: https://333333333333.ddb.us-east-1.api.aws");
 5512   5263   
        assert_eq!(
 5513         -
            format!("{}", error),
 5514         -
            "Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported"
 5515         -
        )
        5264  +
            endpoint,
        5265  +
            ::aws_smithy_types::endpoint::Endpoint::builder()
        5266  +
                .url("https://333333333333.ddb.us-east-1.api.aws")
        5267  +
                .property("metricValues", vec!["O".to_string().into()])
        5268  +
                .build()
        5269  +
        );
 5516   5270   
    }
 5517   5271   
 5518   5272   
    /// {UseFIPS=false, UseDualStack=false, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}
 5519   5273   
    #[test]
 5520   5274   
    fn test_241() {
 5521   5275   
        let params = crate::config::endpoint::Params::builder()
 5522   5276   
            .use_fips(false)
 5523   5277   
            .use_dual_stack(false)
 5524   5278   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 5525   5279   
            .account_id_endpoint_mode("required".to_string())
 5526   5280   
            .region("us-east-1".to_string())
 5527   5281   
            .build()
 5528   5282   
            .expect("invalid params");
 5529   5283   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5530   5284   
        let endpoint = resolver.resolve_endpoint(&params);
 5531   5285   
        let endpoint = endpoint.expect("Expected valid endpoint: https://333333333333.ddb.us-east-1.amazonaws.com");
 5532   5286   
        assert_eq!(
 5533   5287   
            endpoint,
 5534   5288   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5535   5289   
                .url("https://333333333333.ddb.us-east-1.amazonaws.com")
        5290  +
                .property("metricValues", vec!["O".to_string().into()])
 5536   5291   
                .build()
 5537   5292   
        );
 5538   5293   
    }
 5539   5294   
 5540   5295   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}
 5541   5296   
    #[test]
 5542   5297   
    fn test_242() {
 5543   5298   
        let params = crate::config::endpoint::Params::builder()
 5544   5299   
            .use_fips(false)
 5545   5300   
            .use_dual_stack(false)
 5546   5301   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 5547   5302   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 5548   5303   
            .account_id_endpoint_mode("required".to_string())
 5549   5304   
            .region("us-east-1".to_string())
 5550   5305   
            .build()
 5551   5306   
            .expect("invalid params");
 5552   5307   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5553   5308   
        let endpoint = resolver.resolve_endpoint(&params);
 5554   5309   
        let endpoint = endpoint.expect("Expected valid endpoint: https://222222222222.ddb.us-east-1.amazonaws.com");
 5555   5310   
        assert_eq!(
 5556   5311   
            endpoint,
 5557   5312   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5558   5313   
                .url("https://222222222222.ddb.us-east-1.amazonaws.com")
        5314  +
                .property("metricValues", vec!["O".to_string().into()])
 5559   5315   
                .build()
 5560   5316   
        );
 5561   5317   
    }
 5562   5318   
 5563   5319   
    /// {UseFIPS=false, UseDualStack=false, AccountIdEndpointMode=required, Region=us-east-1}
 5564   5320   
    #[test]
 5565   5321   
    fn test_243() {
 5566   5322   
        let params = crate::config::endpoint::Params::builder()
 5567   5323   
            .use_fips(false)
 5568   5324   
            .use_dual_stack(false)
@@ -5605,5361 +5668,5424 @@
 5625   5381   
        let params = crate::config::endpoint::Params::builder()
 5626   5382   
            .use_fips(false)
 5627   5383   
            .use_dual_stack(true)
 5628   5384   
            .account_id("111111111111".to_string())
 5629   5385   
            .account_id_endpoint_mode("required".to_string())
 5630   5386   
            .region("cn-north-1".to_string())
 5631   5387   
            .build()
 5632   5388   
            .expect("invalid params");
 5633   5389   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5634   5390   
        let endpoint = resolver.resolve_endpoint(&params);
 5635         -
        let error = endpoint.expect_err("expected error: Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported [{UseFIPS=false, UseDualStack=true, AccountId=111111111111, AccountIdEndpointMode=required, Region=cn-north-1}]");
        5391  +
        let error = endpoint.expect_err("expected error: Invalid Configuration: AccountIdEndpointMode is required but account endpoints are not supported in this partition [{UseFIPS=false, UseDualStack=true, AccountId=111111111111, AccountIdEndpointMode=required, Region=cn-north-1}]");
 5636   5392   
        assert_eq!(
 5637   5393   
            format!("{}", error),
 5638         -
            "Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported"
        5394  +
            "Invalid Configuration: AccountIdEndpointMode is required but account endpoints are not supported in this partition"
 5639   5395   
        )
 5640   5396   
    }
 5641   5397   
 5642   5398   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, AccountIdEndpointMode=required, Region=cn-north-1}
 5643   5399   
    #[test]
 5644   5400   
    fn test_247() {
 5645   5401   
        let params = crate::config::endpoint::Params::builder()
 5646   5402   
            .use_fips(false)
 5647   5403   
            .use_dual_stack(false)
 5648   5404   
            .account_id("111111111111".to_string())
@@ -5836,5592 +5899,5655 @@
 5856   5612   
        let params = crate::config::endpoint::Params::builder()
 5857   5613   
            .use_fips(false)
 5858   5614   
            .use_dual_stack(true)
 5859   5615   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 5860   5616   
            .account_id_endpoint_mode("required".to_string())
 5861   5617   
            .region("cn-north-1".to_string())
 5862   5618   
            .build()
 5863   5619   
            .expect("invalid params");
 5864   5620   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5865   5621   
        let endpoint = resolver.resolve_endpoint(&params);
 5866         -
        let error = endpoint.expect_err("expected error: Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported [{UseFIPS=false, UseDualStack=true, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=required, Region=cn-north-1}]");
        5622  +
        let error = endpoint.expect_err("expected error: Invalid Configuration: AccountIdEndpointMode is required but account endpoints are not supported in this partition [{UseFIPS=false, UseDualStack=true, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=required, Region=cn-north-1}]");
 5867   5623   
        assert_eq!(
 5868   5624   
            format!("{}", error),
 5869         -
            "Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported"
        5625  +
            "Invalid Configuration: AccountIdEndpointMode is required but account endpoints are not supported in this partition"
 5870   5626   
        )
 5871   5627   
    }
 5872   5628   
 5873   5629   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=required, Region=cn-north-1}
 5874   5630   
    #[test]
 5875   5631   
    fn test_258() {
 5876   5632   
        let params = crate::config::endpoint::Params::builder()
 5877   5633   
            .use_fips(false)
 5878   5634   
            .use_dual_stack(false)
 5879   5635   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
@@ -5976,5732 +6039,5795 @@
 5996   5752   
        let params = crate::config::endpoint::Params::builder()
 5997   5753   
            .use_fips(false)
 5998   5754   
            .use_dual_stack(true)
 5999   5755   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 6000   5756   
            .account_id_endpoint_mode("required".to_string())
 6001   5757   
            .region("cn-north-1".to_string())
 6002   5758   
            .build()
 6003   5759   
            .expect("invalid params");
 6004   5760   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6005   5761   
        let endpoint = resolver.resolve_endpoint(&params);
 6006         -
        let error = endpoint.expect_err("expected error: Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported [{UseFIPS=false, UseDualStack=true, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=cn-north-1}]");
        5762  +
        let error = endpoint.expect_err("expected error: Invalid Configuration: AccountIdEndpointMode is required but account endpoints are not supported in this partition [{UseFIPS=false, UseDualStack=true, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=cn-north-1}]");
 6007   5763   
        assert_eq!(
 6008   5764   
            format!("{}", error),
 6009         -
            "Invalid Configuration: AccountIdEndpointMode is required and DualStack is enabled, but DualStack account endpoints are not supported"
        5765  +
            "Invalid Configuration: AccountIdEndpointMode is required but account endpoints are not supported in this partition"
 6010   5766   
        )
 6011   5767   
    }
 6012   5768   
 6013   5769   
    /// {UseFIPS=false, UseDualStack=false, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=cn-north-1}
 6014   5770   
    #[test]
 6015   5771   
    fn test_265() {
 6016   5772   
        let params = crate::config::endpoint::Params::builder()
 6017   5773   
            .use_fips(false)
 6018   5774   
            .use_dual_stack(false)
 6019   5775   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
@@ -7121,6877 +8125,8121 @@
 7141   6897   
        let endpoint = resolver.resolve_endpoint(&params);
 7142   6898   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.cn-north-1.amazonaws.com.cn");
 7143   6899   
        assert_eq!(
 7144   6900   
            endpoint,
 7145   6901   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7146   6902   
                .url("https://dynamodb.cn-north-1.amazonaws.com.cn")
 7147   6903   
                .build()
 7148   6904   
        );
 7149   6905   
    }
 7150   6906   
 7151         -
    /// {UseFIPS=true, UseDualStack=false, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-iso-east-1}
        6907  +
    /// {UseFIPS=true, UseDualStack=true, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-iso-east-1}
 7152   6908   
    #[test]
 7153   6909   
    fn test_316() {
        6910  +
        let params = crate::config::endpoint::Params::builder()
        6911  +
            .use_fips(true)
        6912  +
            .use_dual_stack(true)
        6913  +
            .account_id("111111111111".to_string())
        6914  +
            .account_id_endpoint_mode("preferred".to_string())
        6915  +
            .region("us-iso-east-1".to_string())
        6916  +
            .build()
        6917  +
            .expect("invalid params");
        6918  +
        let resolver = crate::config::endpoint::DefaultResolver::new();
        6919  +
        let endpoint = resolver.resolve_endpoint(&params);
        6920  +
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb-fips.us-iso-east-1.api.aws.ic.gov");
        6921  +
        assert_eq!(
        6922  +
            endpoint,
        6923  +
            ::aws_smithy_types::endpoint::Endpoint::builder()
        6924  +
                .url("https://dynamodb-fips.us-iso-east-1.api.aws.ic.gov")
        6925  +
                .build()
        6926  +
        );
        6927  +
    }
        6928  +
        6929  +
    /// {UseFIPS=true, UseDualStack=false, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-iso-east-1}
        6930  +
    #[test]
        6931  +
    fn test_317() {
 7154   6932   
        let params = crate::config::endpoint::Params::builder()
 7155   6933   
            .use_fips(true)
 7156   6934   
            .use_dual_stack(false)
 7157   6935   
            .account_id("111111111111".to_string())
 7158   6936   
            .account_id_endpoint_mode("preferred".to_string())
 7159   6937   
            .region("us-iso-east-1".to_string())
 7160   6938   
            .build()
 7161   6939   
            .expect("invalid params");
 7162   6940   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7163   6941   
        let endpoint = resolver.resolve_endpoint(&params);
 7164   6942   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb-fips.us-iso-east-1.c2s.ic.gov");
 7165   6943   
        assert_eq!(
 7166   6944   
            endpoint,
 7167   6945   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7168   6946   
                .url("https://dynamodb-fips.us-iso-east-1.c2s.ic.gov")
 7169   6947   
                .build()
 7170   6948   
        );
 7171   6949   
    }
 7172   6950   
        6951  +
    /// {UseFIPS=false, UseDualStack=true, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-iso-east-1}
        6952  +
    #[test]
        6953  +
    fn test_318() {
        6954  +
        let params = crate::config::endpoint::Params::builder()
        6955  +
            .use_fips(false)
        6956  +
            .use_dual_stack(true)
        6957  +
            .account_id("111111111111".to_string())
        6958  +
            .account_id_endpoint_mode("preferred".to_string())
        6959  +
            .region("us-iso-east-1".to_string())
        6960  +
            .build()
        6961  +
            .expect("invalid params");
        6962  +
        let resolver = crate::config::endpoint::DefaultResolver::new();
        6963  +
        let endpoint = resolver.resolve_endpoint(&params);
        6964  +
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-iso-east-1.api.aws.ic.gov");
        6965  +
        assert_eq!(
        6966  +
            endpoint,
        6967  +
            ::aws_smithy_types::endpoint::Endpoint::builder()
        6968  +
                .url("https://dynamodb.us-iso-east-1.api.aws.ic.gov")
        6969  +
                .build()
        6970  +
        );
        6971  +
    }
        6972  +
 7173   6973   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-iso-east-1}
 7174   6974   
    #[test]
 7175         -
    fn test_317() {
        6975  +
    fn test_319() {
 7176   6976   
        let params = crate::config::endpoint::Params::builder()
 7177   6977   
            .use_fips(false)
 7178   6978   
            .use_dual_stack(false)
 7179   6979   
            .account_id("111111111111".to_string())
 7180   6980   
            .account_id_endpoint_mode("preferred".to_string())
 7181   6981   
            .region("us-iso-east-1".to_string())
 7182   6982   
            .build()
 7183   6983   
            .expect("invalid params");
 7184   6984   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7185   6985   
        let endpoint = resolver.resolve_endpoint(&params);
 7186   6986   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-iso-east-1.c2s.ic.gov");
 7187   6987   
        assert_eq!(
 7188   6988   
            endpoint,
 7189   6989   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7190   6990   
                .url("https://dynamodb.us-iso-east-1.c2s.ic.gov")
 7191   6991   
                .build()
 7192   6992   
        );
 7193   6993   
    }
 7194   6994   
 7195   6995   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-iso-east-1}
 7196   6996   
    #[test]
 7197         -
    fn test_318() {
        6997  +
    fn test_320() {
 7198   6998   
        let params = crate::config::endpoint::Params::builder()
 7199   6999   
            .use_fips(false)
 7200   7000   
            .use_dual_stack(false)
 7201   7001   
            .account_id("111111111111".to_string())
 7202   7002   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 7203   7003   
            .account_id_endpoint_mode("preferred".to_string())
 7204   7004   
            .region("us-iso-east-1".to_string())
 7205   7005   
            .build()
 7206   7006   
            .expect("invalid params");
 7207   7007   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7208   7008   
        let endpoint = resolver.resolve_endpoint(&params);
 7209   7009   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-iso-east-1.c2s.ic.gov");
 7210   7010   
        assert_eq!(
 7211   7011   
            endpoint,
 7212   7012   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7213   7013   
                .url("https://dynamodb.us-iso-east-1.c2s.ic.gov")
 7214   7014   
                .build()
 7215   7015   
        );
 7216   7016   
    }
 7217   7017   
 7218   7018   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-iso-east-1}
 7219   7019   
    #[test]
 7220         -
    fn test_319() {
        7020  +
    fn test_321() {
 7221   7021   
        let params = crate::config::endpoint::Params::builder()
 7222   7022   
            .use_fips(false)
 7223   7023   
            .use_dual_stack(false)
 7224   7024   
            .account_id("111111111111".to_string())
 7225   7025   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 7226   7026   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 7227   7027   
            .account_id_endpoint_mode("preferred".to_string())
 7228   7028   
            .region("us-iso-east-1".to_string())
 7229   7029   
            .build()
 7230   7030   
            .expect("invalid params");
 7231   7031   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7232   7032   
        let endpoint = resolver.resolve_endpoint(&params);
 7233   7033   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-iso-east-1.c2s.ic.gov");
 7234   7034   
        assert_eq!(
 7235   7035   
            endpoint,
 7236   7036   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7237   7037   
                .url("https://dynamodb.us-iso-east-1.c2s.ic.gov")
 7238   7038   
                .build()
 7239   7039   
        );
 7240   7040   
    }
 7241   7041   
 7242   7042   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-iso-east-1}
 7243   7043   
    #[test]
 7244         -
    fn test_320() {
        7044  +
    fn test_322() {
 7245   7045   
        let params = crate::config::endpoint::Params::builder()
 7246   7046   
            .use_fips(false)
 7247   7047   
            .use_dual_stack(false)
 7248   7048   
            .account_id("111111111111".to_string())
 7249   7049   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 7250   7050   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 7251   7051   
            .account_id_endpoint_mode("preferred".to_string())
 7252   7052   
            .region("us-iso-east-1".to_string())
 7253   7053   
            .build()
 7254   7054   
            .expect("invalid params");
 7255   7055   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7256   7056   
        let endpoint = resolver.resolve_endpoint(&params);
 7257   7057   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-iso-east-1.c2s.ic.gov");
 7258   7058   
        assert_eq!(
 7259   7059   
            endpoint,
 7260   7060   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7261   7061   
                .url("https://dynamodb.us-iso-east-1.c2s.ic.gov")
 7262   7062   
                .build()
 7263   7063   
        );
 7264   7064   
    }
 7265   7065   
 7266   7066   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-iso-east-1}
 7267   7067   
    #[test]
 7268         -
    fn test_321() {
        7068  +
    fn test_323() {
 7269   7069   
        let params = crate::config::endpoint::Params::builder()
 7270   7070   
            .use_fips(false)
 7271   7071   
            .use_dual_stack(false)
 7272   7072   
            .account_id("111111111111".to_string())
 7273   7073   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 7274   7074   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 7275   7075   
            .account_id_endpoint_mode("preferred".to_string())
 7276   7076   
            .region("us-iso-east-1".to_string())
 7277   7077   
            .build()
 7278   7078   
            .expect("invalid params");
 7279   7079   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7280   7080   
        let endpoint = resolver.resolve_endpoint(&params);
 7281   7081   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-iso-east-1.c2s.ic.gov");
 7282   7082   
        assert_eq!(
 7283   7083   
            endpoint,
 7284   7084   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7285   7085   
                .url("https://dynamodb.us-iso-east-1.c2s.ic.gov")
 7286   7086   
                .build()
 7287   7087   
        );
 7288   7088   
    }
 7289   7089   
 7290   7090   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-west-2:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-iso-east-1}
 7291   7091   
    #[test]
 7292         -
    fn test_322() {
        7092  +
    fn test_324() {
 7293   7093   
        let params = crate::config::endpoint::Params::builder()
 7294   7094   
            .use_fips(false)
 7295   7095   
            .use_dual_stack(false)
 7296   7096   
            .account_id("111111111111".to_string())
 7297   7097   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 7298   7098   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-west-2:333333333333:table/table_name".to_string().into()])
 7299   7099   
            .account_id_endpoint_mode("preferred".to_string())
 7300   7100   
            .region("us-iso-east-1".to_string())
 7301   7101   
            .build()
 7302   7102   
            .expect("invalid params");
 7303   7103   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7304   7104   
        let endpoint = resolver.resolve_endpoint(&params);
 7305   7105   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-iso-east-1.c2s.ic.gov");
 7306   7106   
        assert_eq!(
 7307   7107   
            endpoint,
 7308   7108   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7309   7109   
                .url("https://dynamodb.us-iso-east-1.c2s.ic.gov")
 7310   7110   
                .build()
 7311   7111   
        );
 7312   7112   
    }
 7313   7113   
 7314   7114   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:s3:us-east-1:333333333333:stream/testStream], AccountIdEndpointMode=preferred, Region=us-iso-east-1}
 7315   7115   
    #[test]
 7316         -
    fn test_323() {
        7116  +
    fn test_325() {
 7317   7117   
        let params = crate::config::endpoint::Params::builder()
 7318   7118   
            .use_fips(false)
 7319   7119   
            .use_dual_stack(false)
 7320   7120   
            .account_id("111111111111".to_string())
 7321   7121   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 7322   7122   
            .resource_arn_list(vec!["arn:aws:s3:us-east-1:333333333333:stream/testStream".to_string().into()])
 7323   7123   
            .account_id_endpoint_mode("preferred".to_string())
 7324   7124   
            .region("us-iso-east-1".to_string())
 7325   7125   
            .build()
 7326   7126   
            .expect("invalid params");
 7327   7127   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7328   7128   
        let endpoint = resolver.resolve_endpoint(&params);
 7329   7129   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-iso-east-1.c2s.ic.gov");
 7330   7130   
        assert_eq!(
 7331   7131   
            endpoint,
 7332   7132   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7333   7133   
                .url("https://dynamodb.us-iso-east-1.c2s.ic.gov")
 7334   7134   
                .build()
 7335   7135   
        );
 7336   7136   
    }
 7337   7137   
 7338   7138   
    /// {UseFIPS=false, UseDualStack=false, AccountId=, AccountIdEndpointMode=preferred, Region=us-iso-east-1}
 7339   7139   
    #[test]
 7340         -
    fn test_324() {
        7140  +
    fn test_326() {
 7341   7141   
        let params = crate::config::endpoint::Params::builder()
 7342   7142   
            .use_fips(false)
 7343   7143   
            .use_dual_stack(false)
 7344   7144   
            .account_id("".to_string())
 7345   7145   
            .account_id_endpoint_mode("preferred".to_string())
 7346   7146   
            .region("us-iso-east-1".to_string())
 7347   7147   
            .build()
 7348   7148   
            .expect("invalid params");
 7349   7149   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7350   7150   
        let endpoint = resolver.resolve_endpoint(&params);
 7351   7151   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-iso-east-1.c2s.ic.gov");
 7352   7152   
        assert_eq!(
 7353   7153   
            endpoint,
 7354   7154   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7355   7155   
                .url("https://dynamodb.us-iso-east-1.c2s.ic.gov")
 7356   7156   
                .build()
 7357   7157   
        );
 7358   7158   
    }
 7359   7159   
        7160  +
    /// {UseFIPS=true, UseDualStack=true, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-iso-east-1}
        7161  +
    #[test]
        7162  +
    fn test_327() {
        7163  +
        let params = crate::config::endpoint::Params::builder()
        7164  +
            .use_fips(true)
        7165  +
            .use_dual_stack(true)
        7166  +
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
        7167  +
            .account_id_endpoint_mode("preferred".to_string())
        7168  +
            .region("us-iso-east-1".to_string())
        7169  +
            .build()
        7170  +
            .expect("invalid params");
        7171  +
        let resolver = crate::config::endpoint::DefaultResolver::new();
        7172  +
        let endpoint = resolver.resolve_endpoint(&params);
        7173  +
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb-fips.us-iso-east-1.api.aws.ic.gov");
        7174  +
        assert_eq!(
        7175  +
            endpoint,
        7176  +
            ::aws_smithy_types::endpoint::Endpoint::builder()
        7177  +
                .url("https://dynamodb-fips.us-iso-east-1.api.aws.ic.gov")
        7178  +
                .build()
        7179  +
        );
        7180  +
    }
        7181  +
 7360   7182   
    /// {UseFIPS=true, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-iso-east-1}
 7361   7183   
    #[test]
 7362         -
    fn test_325() {
        7184  +
    fn test_328() {
 7363   7185   
        let params = crate::config::endpoint::Params::builder()
 7364   7186   
            .use_fips(true)
 7365   7187   
            .use_dual_stack(false)
 7366   7188   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 7367   7189   
            .account_id_endpoint_mode("preferred".to_string())
 7368   7190   
            .region("us-iso-east-1".to_string())
 7369   7191   
            .build()
 7370   7192   
            .expect("invalid params");
 7371   7193   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7372   7194   
        let endpoint = resolver.resolve_endpoint(&params);
 7373   7195   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb-fips.us-iso-east-1.c2s.ic.gov");
 7374   7196   
        assert_eq!(
 7375   7197   
            endpoint,
 7376   7198   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7377   7199   
                .url("https://dynamodb-fips.us-iso-east-1.c2s.ic.gov")
 7378   7200   
                .build()
 7379   7201   
        );
 7380   7202   
    }
 7381   7203   
        7204  +
    /// {UseFIPS=false, UseDualStack=true, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-iso-east-1}
        7205  +
    #[test]
        7206  +
    fn test_329() {
        7207  +
        let params = crate::config::endpoint::Params::builder()
        7208  +
            .use_fips(false)
        7209  +
            .use_dual_stack(true)
        7210  +
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
        7211  +
            .account_id_endpoint_mode("preferred".to_string())
        7212  +
            .region("us-iso-east-1".to_string())
        7213  +
            .build()
        7214  +
            .expect("invalid params");
        7215  +
        let resolver = crate::config::endpoint::DefaultResolver::new();
        7216  +
        let endpoint = resolver.resolve_endpoint(&params);
        7217  +
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-iso-east-1.api.aws.ic.gov");
        7218  +
        assert_eq!(
        7219  +
            endpoint,
        7220  +
            ::aws_smithy_types::endpoint::Endpoint::builder()
        7221  +
                .url("https://dynamodb.us-iso-east-1.api.aws.ic.gov")
        7222  +
                .build()
        7223  +
        );
        7224  +
    }
        7225  +
 7382   7226   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-iso-east-1}
 7383   7227   
    #[test]
 7384         -
    fn test_326() {
        7228  +
    fn test_330() {
 7385   7229   
        let params = crate::config::endpoint::Params::builder()
 7386   7230   
            .use_fips(false)
 7387   7231   
            .use_dual_stack(false)
 7388   7232   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 7389   7233   
            .account_id_endpoint_mode("preferred".to_string())
 7390   7234   
            .region("us-iso-east-1".to_string())
 7391   7235   
            .build()
 7392   7236   
            .expect("invalid params");
 7393   7237   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7394   7238   
        let endpoint = resolver.resolve_endpoint(&params);
 7395   7239   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-iso-east-1.c2s.ic.gov");
 7396   7240   
        assert_eq!(
 7397   7241   
            endpoint,
 7398   7242   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7399   7243   
                .url("https://dynamodb.us-iso-east-1.c2s.ic.gov")
 7400   7244   
                .build()
 7401   7245   
        );
 7402   7246   
    }
 7403   7247   
 7404   7248   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-iso-east-1}
 7405   7249   
    #[test]
 7406         -
    fn test_327() {
        7250  +
    fn test_331() {
 7407   7251   
        let params = crate::config::endpoint::Params::builder()
 7408   7252   
            .use_fips(false)
 7409   7253   
            .use_dual_stack(false)
 7410   7254   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 7411   7255   
            .account_id_endpoint_mode("preferred".to_string())
 7412   7256   
            .region("us-iso-east-1".to_string())
 7413   7257   
            .build()
 7414   7258   
            .expect("invalid params");
 7415   7259   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7416   7260   
        let endpoint = resolver.resolve_endpoint(&params);
 7417   7261   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-iso-east-1.c2s.ic.gov");
 7418   7262   
        assert_eq!(
 7419   7263   
            endpoint,
 7420   7264   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7421   7265   
                .url("https://dynamodb.us-iso-east-1.c2s.ic.gov")
 7422   7266   
                .build()
 7423   7267   
        );
 7424   7268   
    }
 7425   7269   
 7426   7270   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, AccountIdEndpointMode=preferred, Region=us-iso-east-1}
 7427   7271   
    #[test]
 7428         -
    fn test_328() {
        7272  +
    fn test_332() {
 7429   7273   
        let params = crate::config::endpoint::Params::builder()
 7430   7274   
            .use_fips(false)
 7431   7275   
            .use_dual_stack(false)
 7432   7276   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 7433   7277   
            .account_id_endpoint_mode("preferred".to_string())
 7434   7278   
            .region("us-iso-east-1".to_string())
 7435   7279   
            .build()
 7436   7280   
            .expect("invalid params");
 7437   7281   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7438   7282   
        let endpoint = resolver.resolve_endpoint(&params);
 7439   7283   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-iso-east-1.c2s.ic.gov");
 7440   7284   
        assert_eq!(
 7441   7285   
            endpoint,
 7442   7286   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7443   7287   
                .url("https://dynamodb.us-iso-east-1.c2s.ic.gov")
 7444   7288   
                .build()
 7445   7289   
        );
 7446   7290   
    }
 7447   7291   
 7448   7292   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=, AccountIdEndpointMode=preferred, Region=us-iso-east-1}
 7449   7293   
    #[test]
 7450         -
    fn test_329() {
        7294  +
    fn test_333() {
 7451   7295   
        let params = crate::config::endpoint::Params::builder()
 7452   7296   
            .use_fips(false)
 7453   7297   
            .use_dual_stack(false)
 7454   7298   
            .resource_arn("".to_string())
 7455   7299   
            .account_id_endpoint_mode("preferred".to_string())
 7456   7300   
            .region("us-iso-east-1".to_string())
 7457   7301   
            .build()
 7458   7302   
            .expect("invalid params");
 7459   7303   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7460   7304   
        let endpoint = resolver.resolve_endpoint(&params);
 7461   7305   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-iso-east-1.c2s.ic.gov");
 7462   7306   
        assert_eq!(
 7463   7307   
            endpoint,
 7464   7308   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7465   7309   
                .url("https://dynamodb.us-iso-east-1.c2s.ic.gov")
 7466   7310   
                .build()
 7467   7311   
        );
 7468   7312   
    }
 7469   7313   
        7314  +
    /// {UseFIPS=true, UseDualStack=true, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-iso-east-1}
        7315  +
    #[test]
        7316  +
    fn test_334() {
        7317  +
        let params = crate::config::endpoint::Params::builder()
        7318  +
            .use_fips(true)
        7319  +
            .use_dual_stack(true)
        7320  +
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
        7321  +
            .account_id_endpoint_mode("preferred".to_string())
        7322  +
            .region("us-iso-east-1".to_string())
        7323  +
            .build()
        7324  +
            .expect("invalid params");
        7325  +
        let resolver = crate::config::endpoint::DefaultResolver::new();
        7326  +
        let endpoint = resolver.resolve_endpoint(&params);
        7327  +
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb-fips.us-iso-east-1.api.aws.ic.gov");
        7328  +
        assert_eq!(
        7329  +
            endpoint,
        7330  +
            ::aws_smithy_types::endpoint::Endpoint::builder()
        7331  +
                .url("https://dynamodb-fips.us-iso-east-1.api.aws.ic.gov")
        7332  +
                .build()
        7333  +
        );
        7334  +
    }
        7335  +
 7470   7336   
    /// {UseFIPS=true, UseDualStack=false, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-iso-east-1}
 7471   7337   
    #[test]
 7472         -
    fn test_330() {
        7338  +
    fn test_335() {
 7473   7339   
        let params = crate::config::endpoint::Params::builder()
 7474   7340   
            .use_fips(true)
 7475   7341   
            .use_dual_stack(false)
 7476   7342   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 7477   7343   
            .account_id_endpoint_mode("preferred".to_string())
 7478   7344   
            .region("us-iso-east-1".to_string())
 7479   7345   
            .build()
 7480   7346   
            .expect("invalid params");
 7481   7347   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7482   7348   
        let endpoint = resolver.resolve_endpoint(&params);
 7483   7349   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb-fips.us-iso-east-1.c2s.ic.gov");
 7484   7350   
        assert_eq!(
 7485   7351   
            endpoint,
 7486   7352   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7487   7353   
                .url("https://dynamodb-fips.us-iso-east-1.c2s.ic.gov")
 7488   7354   
                .build()
 7489   7355   
        );
 7490   7356   
    }
 7491   7357   
        7358  +
    /// {UseFIPS=false, UseDualStack=true, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-iso-east-1}
        7359  +
    #[test]
        7360  +
    fn test_336() {
        7361  +
        let params = crate::config::endpoint::Params::builder()
        7362  +
            .use_fips(false)
        7363  +
            .use_dual_stack(true)
        7364  +
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
        7365  +
            .account_id_endpoint_mode("preferred".to_string())
        7366  +
            .region("us-iso-east-1".to_string())
        7367  +
            .build()
        7368  +
            .expect("invalid params");
        7369  +
        let resolver = crate::config::endpoint::DefaultResolver::new();
        7370  +
        let endpoint = resolver.resolve_endpoint(&params);
        7371  +
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-iso-east-1.api.aws.ic.gov");
        7372  +
        assert_eq!(
        7373  +
            endpoint,
        7374  +
            ::aws_smithy_types::endpoint::Endpoint::builder()
        7375  +
                .url("https://dynamodb.us-iso-east-1.api.aws.ic.gov")
        7376  +
                .build()
        7377  +
        );
        7378  +
    }
        7379  +
 7492   7380   
    /// {UseFIPS=false, UseDualStack=false, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-iso-east-1}
 7493   7381   
    #[test]
 7494         -
    fn test_331() {
        7382  +
    fn test_337() {
 7495   7383   
        let params = crate::config::endpoint::Params::builder()
 7496   7384   
            .use_fips(false)
 7497   7385   
            .use_dual_stack(false)
 7498   7386   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 7499   7387   
            .account_id_endpoint_mode("preferred".to_string())
 7500   7388   
            .region("us-iso-east-1".to_string())
 7501   7389   
            .build()
 7502   7390   
            .expect("invalid params");
 7503   7391   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7504   7392   
        let endpoint = resolver.resolve_endpoint(&params);
 7505   7393   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-iso-east-1.c2s.ic.gov");
 7506   7394   
        assert_eq!(
 7507   7395   
            endpoint,
 7508   7396   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7509   7397   
                .url("https://dynamodb.us-iso-east-1.c2s.ic.gov")
 7510   7398   
                .build()
 7511   7399   
        );
 7512   7400   
    }
 7513   7401   
 7514   7402   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-iso-east-1}
 7515   7403   
    #[test]
 7516         -
    fn test_332() {
        7404  +
    fn test_338() {
 7517   7405   
        let params = crate::config::endpoint::Params::builder()
 7518   7406   
            .use_fips(false)
 7519   7407   
            .use_dual_stack(false)
 7520   7408   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 7521   7409   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 7522   7410   
            .account_id_endpoint_mode("preferred".to_string())
 7523   7411   
            .region("us-iso-east-1".to_string())
 7524   7412   
            .build()
 7525   7413   
            .expect("invalid params");
 7526   7414   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7527   7415   
        let endpoint = resolver.resolve_endpoint(&params);
 7528   7416   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-iso-east-1.c2s.ic.gov");
 7529   7417   
        assert_eq!(
 7530   7418   
            endpoint,
 7531   7419   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7532   7420   
                .url("https://dynamodb.us-iso-east-1.c2s.ic.gov")
 7533   7421   
                .build()
 7534   7422   
        );
 7535   7423   
    }
 7536   7424   
 7537   7425   
    /// {UseFIPS=false, UseDualStack=false, AccountIdEndpointMode=preferred, Region=us-iso-east-1}
 7538   7426   
    #[test]
 7539         -
    fn test_333() {
        7427  +
    fn test_339() {
 7540   7428   
        let params = crate::config::endpoint::Params::builder()
 7541   7429   
            .use_fips(false)
 7542   7430   
            .use_dual_stack(false)
 7543   7431   
            .account_id_endpoint_mode("preferred".to_string())
 7544   7432   
            .region("us-iso-east-1".to_string())
 7545   7433   
            .build()
 7546   7434   
            .expect("invalid params");
 7547   7435   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7548   7436   
        let endpoint = resolver.resolve_endpoint(&params);
 7549   7437   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-iso-east-1.c2s.ic.gov");
 7550   7438   
        assert_eq!(
 7551   7439   
            endpoint,
 7552   7440   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7553   7441   
                .url("https://dynamodb.us-iso-east-1.c2s.ic.gov")
 7554   7442   
                .build()
 7555   7443   
        );
 7556   7444   
    }
 7557   7445   
 7558   7446   
    /// {UseFIPS=true, UseDualStack=true, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7559   7447   
    #[test]
 7560         -
    fn test_334() {
        7448  +
    fn test_340() {
 7561   7449   
        let params = crate::config::endpoint::Params::builder()
 7562   7450   
            .use_fips(true)
 7563   7451   
            .use_dual_stack(true)
 7564   7452   
            .account_id("111111111111".to_string())
 7565   7453   
            .account_id_endpoint_mode("preferred".to_string())
 7566   7454   
            .region("us-gov-east-1".to_string())
 7567   7455   
            .build()
 7568   7456   
            .expect("invalid params");
 7569   7457   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7570   7458   
        let endpoint = resolver.resolve_endpoint(&params);
 7571   7459   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb-fips.us-gov-east-1.api.aws");
 7572   7460   
        assert_eq!(
 7573   7461   
            endpoint,
 7574   7462   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7575   7463   
                .url("https://dynamodb-fips.us-gov-east-1.api.aws")
 7576   7464   
                .build()
 7577   7465   
        );
 7578   7466   
    }
 7579   7467   
 7580   7468   
    /// {UseFIPS=true, UseDualStack=false, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7581   7469   
    #[test]
 7582         -
    fn test_335() {
        7470  +
    fn test_341() {
 7583   7471   
        let params = crate::config::endpoint::Params::builder()
 7584   7472   
            .use_fips(true)
 7585   7473   
            .use_dual_stack(false)
 7586   7474   
            .account_id("111111111111".to_string())
 7587   7475   
            .account_id_endpoint_mode("preferred".to_string())
 7588   7476   
            .region("us-gov-east-1".to_string())
 7589   7477   
            .build()
 7590   7478   
            .expect("invalid params");
 7591   7479   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7592   7480   
        let endpoint = resolver.resolve_endpoint(&params);
 7593   7481   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.amazonaws.com");
 7594   7482   
        assert_eq!(
 7595   7483   
            endpoint,
 7596   7484   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7597   7485   
                .url("https://dynamodb.us-gov-east-1.amazonaws.com")
 7598   7486   
                .build()
 7599   7487   
        );
 7600   7488   
    }
 7601   7489   
 7602   7490   
    /// {UseFIPS=false, UseDualStack=true, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7603   7491   
    #[test]
 7604         -
    fn test_336() {
        7492  +
    fn test_342() {
 7605   7493   
        let params = crate::config::endpoint::Params::builder()
 7606   7494   
            .use_fips(false)
 7607   7495   
            .use_dual_stack(true)
 7608   7496   
            .account_id("111111111111".to_string())
 7609   7497   
            .account_id_endpoint_mode("preferred".to_string())
 7610   7498   
            .region("us-gov-east-1".to_string())
 7611   7499   
            .build()
 7612   7500   
            .expect("invalid params");
 7613   7501   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7614   7502   
        let endpoint = resolver.resolve_endpoint(&params);
 7615   7503   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.api.aws");
 7616   7504   
        assert_eq!(
 7617   7505   
            endpoint,
 7618   7506   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7619   7507   
                .url("https://dynamodb.us-gov-east-1.api.aws")
 7620   7508   
                .build()
 7621   7509   
        );
 7622   7510   
    }
 7623   7511   
 7624   7512   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7625   7513   
    #[test]
 7626         -
    fn test_337() {
        7514  +
    fn test_343() {
 7627   7515   
        let params = crate::config::endpoint::Params::builder()
 7628   7516   
            .use_fips(false)
 7629   7517   
            .use_dual_stack(false)
 7630   7518   
            .account_id("111111111111".to_string())
 7631   7519   
            .account_id_endpoint_mode("preferred".to_string())
 7632   7520   
            .region("us-gov-east-1".to_string())
 7633   7521   
            .build()
 7634   7522   
            .expect("invalid params");
 7635   7523   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7636   7524   
        let endpoint = resolver.resolve_endpoint(&params);
 7637   7525   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.amazonaws.com");
 7638   7526   
        assert_eq!(
 7639   7527   
            endpoint,
 7640   7528   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7641   7529   
                .url("https://dynamodb.us-gov-east-1.amazonaws.com")
 7642   7530   
                .build()
 7643   7531   
        );
 7644   7532   
    }
 7645   7533   
 7646   7534   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7647   7535   
    #[test]
 7648         -
    fn test_338() {
        7536  +
    fn test_344() {
 7649   7537   
        let params = crate::config::endpoint::Params::builder()
 7650   7538   
            .use_fips(false)
 7651   7539   
            .use_dual_stack(false)
 7652   7540   
            .account_id("111111111111".to_string())
 7653   7541   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 7654   7542   
            .account_id_endpoint_mode("preferred".to_string())
 7655   7543   
            .region("us-gov-east-1".to_string())
 7656   7544   
            .build()
 7657   7545   
            .expect("invalid params");
 7658   7546   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7659   7547   
        let endpoint = resolver.resolve_endpoint(&params);
 7660   7548   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.amazonaws.com");
 7661   7549   
        assert_eq!(
 7662   7550   
            endpoint,
 7663   7551   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7664   7552   
                .url("https://dynamodb.us-gov-east-1.amazonaws.com")
 7665   7553   
                .build()
 7666   7554   
        );
 7667   7555   
    }
 7668   7556   
 7669   7557   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7670   7558   
    #[test]
 7671         -
    fn test_339() {
        7559  +
    fn test_345() {
 7672   7560   
        let params = crate::config::endpoint::Params::builder()
 7673   7561   
            .use_fips(false)
 7674   7562   
            .use_dual_stack(false)
 7675   7563   
            .account_id("111111111111".to_string())
 7676   7564   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 7677   7565   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 7678   7566   
            .account_id_endpoint_mode("preferred".to_string())
 7679   7567   
            .region("us-gov-east-1".to_string())
 7680   7568   
            .build()
 7681   7569   
            .expect("invalid params");
 7682   7570   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7683   7571   
        let endpoint = resolver.resolve_endpoint(&params);
 7684   7572   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.amazonaws.com");
 7685   7573   
        assert_eq!(
 7686   7574   
            endpoint,
 7687   7575   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7688   7576   
                .url("https://dynamodb.us-gov-east-1.amazonaws.com")
 7689   7577   
                .build()
 7690   7578   
        );
 7691   7579   
    }
 7692   7580   
 7693   7581   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7694   7582   
    #[test]
 7695         -
    fn test_340() {
        7583  +
    fn test_346() {
 7696   7584   
        let params = crate::config::endpoint::Params::builder()
 7697   7585   
            .use_fips(false)
 7698   7586   
            .use_dual_stack(false)
 7699   7587   
            .account_id("111111111111".to_string())
 7700   7588   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 7701   7589   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 7702   7590   
            .account_id_endpoint_mode("preferred".to_string())
 7703   7591   
            .region("us-gov-east-1".to_string())
 7704   7592   
            .build()
 7705   7593   
            .expect("invalid params");
 7706   7594   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7707   7595   
        let endpoint = resolver.resolve_endpoint(&params);
 7708   7596   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.amazonaws.com");
 7709   7597   
        assert_eq!(
 7710   7598   
            endpoint,
 7711   7599   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7712   7600   
                .url("https://dynamodb.us-gov-east-1.amazonaws.com")
 7713   7601   
                .build()
 7714   7602   
        );
 7715   7603   
    }
 7716   7604   
 7717   7605   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7718   7606   
    #[test]
 7719         -
    fn test_341() {
        7607  +
    fn test_347() {
 7720   7608   
        let params = crate::config::endpoint::Params::builder()
 7721   7609   
            .use_fips(false)
 7722   7610   
            .use_dual_stack(false)
 7723   7611   
            .account_id("111111111111".to_string())
 7724   7612   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 7725   7613   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 7726   7614   
            .account_id_endpoint_mode("preferred".to_string())
 7727   7615   
            .region("us-gov-east-1".to_string())
 7728   7616   
            .build()
 7729   7617   
            .expect("invalid params");
 7730   7618   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7731   7619   
        let endpoint = resolver.resolve_endpoint(&params);
 7732   7620   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.amazonaws.com");
 7733   7621   
        assert_eq!(
 7734   7622   
            endpoint,
 7735   7623   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7736   7624   
                .url("https://dynamodb.us-gov-east-1.amazonaws.com")
 7737   7625   
                .build()
 7738   7626   
        );
 7739   7627   
    }
 7740   7628   
 7741   7629   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-west-2:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7742   7630   
    #[test]
 7743         -
    fn test_342() {
        7631  +
    fn test_348() {
 7744   7632   
        let params = crate::config::endpoint::Params::builder()
 7745   7633   
            .use_fips(false)
 7746   7634   
            .use_dual_stack(false)
 7747   7635   
            .account_id("111111111111".to_string())
 7748   7636   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 7749   7637   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-west-2:333333333333:table/table_name".to_string().into()])
 7750   7638   
            .account_id_endpoint_mode("preferred".to_string())
 7751   7639   
            .region("us-gov-east-1".to_string())
 7752   7640   
            .build()
 7753   7641   
            .expect("invalid params");
 7754   7642   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7755   7643   
        let endpoint = resolver.resolve_endpoint(&params);
 7756   7644   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.amazonaws.com");
 7757   7645   
        assert_eq!(
 7758   7646   
            endpoint,
 7759   7647   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7760   7648   
                .url("https://dynamodb.us-gov-east-1.amazonaws.com")
 7761   7649   
                .build()
 7762   7650   
        );
 7763   7651   
    }
 7764   7652   
 7765   7653   
    /// {UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:s3:us-east-1:333333333333:stream/testStream], AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7766   7654   
    #[test]
 7767         -
    fn test_343() {
        7655  +
    fn test_349() {
 7768   7656   
        let params = crate::config::endpoint::Params::builder()
 7769   7657   
            .use_fips(false)
 7770   7658   
            .use_dual_stack(false)
 7771   7659   
            .account_id("111111111111".to_string())
 7772   7660   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 7773   7661   
            .resource_arn_list(vec!["arn:aws:s3:us-east-1:333333333333:stream/testStream".to_string().into()])
 7774   7662   
            .account_id_endpoint_mode("preferred".to_string())
 7775   7663   
            .region("us-gov-east-1".to_string())
 7776   7664   
            .build()
 7777   7665   
            .expect("invalid params");
 7778   7666   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7779   7667   
        let endpoint = resolver.resolve_endpoint(&params);
 7780   7668   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.amazonaws.com");
 7781   7669   
        assert_eq!(
 7782   7670   
            endpoint,
 7783   7671   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7784   7672   
                .url("https://dynamodb.us-gov-east-1.amazonaws.com")
 7785   7673   
                .build()
 7786   7674   
        );
 7787   7675   
    }
 7788   7676   
 7789   7677   
    /// {UseFIPS=false, UseDualStack=false, AccountId=, AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7790   7678   
    #[test]
 7791         -
    fn test_344() {
        7679  +
    fn test_350() {
 7792   7680   
        let params = crate::config::endpoint::Params::builder()
 7793   7681   
            .use_fips(false)
 7794   7682   
            .use_dual_stack(false)
 7795   7683   
            .account_id("".to_string())
 7796   7684   
            .account_id_endpoint_mode("preferred".to_string())
 7797   7685   
            .region("us-gov-east-1".to_string())
 7798   7686   
            .build()
 7799   7687   
            .expect("invalid params");
 7800   7688   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7801   7689   
        let endpoint = resolver.resolve_endpoint(&params);
 7802   7690   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.amazonaws.com");
 7803   7691   
        assert_eq!(
 7804   7692   
            endpoint,
 7805   7693   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7806   7694   
                .url("https://dynamodb.us-gov-east-1.amazonaws.com")
 7807   7695   
                .build()
 7808   7696   
        );
 7809   7697   
    }
 7810   7698   
 7811   7699   
    /// {UseFIPS=true, UseDualStack=true, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7812   7700   
    #[test]
 7813         -
    fn test_345() {
        7701  +
    fn test_351() {
 7814   7702   
        let params = crate::config::endpoint::Params::builder()
 7815   7703   
            .use_fips(true)
 7816   7704   
            .use_dual_stack(true)
 7817   7705   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 7818   7706   
            .account_id_endpoint_mode("preferred".to_string())
 7819   7707   
            .region("us-gov-east-1".to_string())
 7820   7708   
            .build()
 7821   7709   
            .expect("invalid params");
 7822   7710   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7823   7711   
        let endpoint = resolver.resolve_endpoint(&params);
 7824   7712   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb-fips.us-gov-east-1.api.aws");
 7825   7713   
        assert_eq!(
 7826   7714   
            endpoint,
 7827   7715   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7828   7716   
                .url("https://dynamodb-fips.us-gov-east-1.api.aws")
 7829   7717   
                .build()
 7830   7718   
        );
 7831   7719   
    }
 7832   7720   
 7833   7721   
    /// {UseFIPS=true, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7834   7722   
    #[test]
 7835         -
    fn test_346() {
        7723  +
    fn test_352() {
 7836   7724   
        let params = crate::config::endpoint::Params::builder()
 7837   7725   
            .use_fips(true)
 7838   7726   
            .use_dual_stack(false)
 7839   7727   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 7840   7728   
            .account_id_endpoint_mode("preferred".to_string())
 7841   7729   
            .region("us-gov-east-1".to_string())
 7842   7730   
            .build()
 7843   7731   
            .expect("invalid params");
 7844   7732   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7845   7733   
        let endpoint = resolver.resolve_endpoint(&params);
 7846   7734   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.amazonaws.com");
 7847   7735   
        assert_eq!(
 7848   7736   
            endpoint,
 7849   7737   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7850   7738   
                .url("https://dynamodb.us-gov-east-1.amazonaws.com")
 7851   7739   
                .build()
 7852   7740   
        );
 7853   7741   
    }
 7854   7742   
 7855   7743   
    /// {UseFIPS=false, UseDualStack=true, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7856   7744   
    #[test]
 7857         -
    fn test_347() {
        7745  +
    fn test_353() {
 7858   7746   
        let params = crate::config::endpoint::Params::builder()
 7859   7747   
            .use_fips(false)
 7860   7748   
            .use_dual_stack(true)
 7861   7749   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 7862   7750   
            .account_id_endpoint_mode("preferred".to_string())
 7863   7751   
            .region("us-gov-east-1".to_string())
 7864   7752   
            .build()
 7865   7753   
            .expect("invalid params");
 7866   7754   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7867   7755   
        let endpoint = resolver.resolve_endpoint(&params);
 7868   7756   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.api.aws");
 7869   7757   
        assert_eq!(
 7870   7758   
            endpoint,
 7871   7759   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7872   7760   
                .url("https://dynamodb.us-gov-east-1.api.aws")
 7873   7761   
                .build()
 7874   7762   
        );
 7875   7763   
    }
 7876   7764   
 7877   7765   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7878   7766   
    #[test]
 7879         -
    fn test_348() {
        7767  +
    fn test_354() {
 7880   7768   
        let params = crate::config::endpoint::Params::builder()
 7881   7769   
            .use_fips(false)
 7882   7770   
            .use_dual_stack(false)
 7883   7771   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 7884   7772   
            .account_id_endpoint_mode("preferred".to_string())
 7885   7773   
            .region("us-gov-east-1".to_string())
 7886   7774   
            .build()
 7887   7775   
            .expect("invalid params");
 7888   7776   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7889   7777   
        let endpoint = resolver.resolve_endpoint(&params);
 7890   7778   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.amazonaws.com");
 7891   7779   
        assert_eq!(
 7892   7780   
            endpoint,
 7893   7781   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7894   7782   
                .url("https://dynamodb.us-gov-east-1.amazonaws.com")
 7895   7783   
                .build()
 7896   7784   
        );
 7897   7785   
    }
 7898   7786   
 7899   7787   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7900   7788   
    #[test]
 7901         -
    fn test_349() {
        7789  +
    fn test_355() {
 7902   7790   
        let params = crate::config::endpoint::Params::builder()
 7903   7791   
            .use_fips(false)
 7904   7792   
            .use_dual_stack(false)
 7905   7793   
            .resource_arn("arn:aws:dynamodb:us-west-2:222222222222:table/table_name".to_string())
 7906   7794   
            .account_id_endpoint_mode("preferred".to_string())
 7907   7795   
            .region("us-gov-east-1".to_string())
 7908   7796   
            .build()
 7909   7797   
            .expect("invalid params");
 7910   7798   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7911   7799   
        let endpoint = resolver.resolve_endpoint(&params);
 7912   7800   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.amazonaws.com");
 7913   7801   
        assert_eq!(
 7914   7802   
            endpoint,
 7915   7803   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7916   7804   
                .url("https://dynamodb.us-gov-east-1.amazonaws.com")
 7917   7805   
                .build()
 7918   7806   
        );
 7919   7807   
    }
 7920   7808   
 7921   7809   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7922   7810   
    #[test]
 7923         -
    fn test_350() {
        7811  +
    fn test_356() {
 7924   7812   
        let params = crate::config::endpoint::Params::builder()
 7925   7813   
            .use_fips(false)
 7926   7814   
            .use_dual_stack(false)
 7927   7815   
            .resource_arn("arn:aws:s3:us-west-2:222222222222:stream/testStream".to_string())
 7928   7816   
            .account_id_endpoint_mode("preferred".to_string())
 7929   7817   
            .region("us-gov-east-1".to_string())
 7930   7818   
            .build()
 7931   7819   
            .expect("invalid params");
 7932   7820   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7933   7821   
        let endpoint = resolver.resolve_endpoint(&params);
 7934   7822   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.amazonaws.com");
 7935   7823   
        assert_eq!(
 7936   7824   
            endpoint,
 7937   7825   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7938   7826   
                .url("https://dynamodb.us-gov-east-1.amazonaws.com")
 7939   7827   
                .build()
 7940   7828   
        );
 7941   7829   
    }
 7942   7830   
 7943   7831   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=, AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7944   7832   
    #[test]
 7945         -
    fn test_351() {
        7833  +
    fn test_357() {
 7946   7834   
        let params = crate::config::endpoint::Params::builder()
 7947   7835   
            .use_fips(false)
 7948   7836   
            .use_dual_stack(false)
 7949   7837   
            .resource_arn("".to_string())
 7950   7838   
            .account_id_endpoint_mode("preferred".to_string())
 7951   7839   
            .region("us-gov-east-1".to_string())
 7952   7840   
            .build()
 7953   7841   
            .expect("invalid params");
 7954   7842   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7955   7843   
        let endpoint = resolver.resolve_endpoint(&params);
 7956   7844   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.amazonaws.com");
 7957   7845   
        assert_eq!(
 7958   7846   
            endpoint,
 7959   7847   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7960   7848   
                .url("https://dynamodb.us-gov-east-1.amazonaws.com")
 7961   7849   
                .build()
 7962   7850   
        );
 7963   7851   
    }
 7964   7852   
 7965   7853   
    /// {UseFIPS=true, UseDualStack=true, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7966   7854   
    #[test]
 7967         -
    fn test_352() {
        7855  +
    fn test_358() {
 7968   7856   
        let params = crate::config::endpoint::Params::builder()
 7969   7857   
            .use_fips(true)
 7970   7858   
            .use_dual_stack(true)
 7971   7859   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 7972   7860   
            .account_id_endpoint_mode("preferred".to_string())
 7973   7861   
            .region("us-gov-east-1".to_string())
 7974   7862   
            .build()
 7975   7863   
            .expect("invalid params");
 7976   7864   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7977   7865   
        let endpoint = resolver.resolve_endpoint(&params);
 7978   7866   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb-fips.us-gov-east-1.api.aws");
 7979   7867   
        assert_eq!(
 7980   7868   
            endpoint,
 7981   7869   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7982   7870   
                .url("https://dynamodb-fips.us-gov-east-1.api.aws")
 7983   7871   
                .build()
 7984   7872   
        );
 7985   7873   
    }
 7986   7874   
 7987   7875   
    /// {UseFIPS=true, UseDualStack=false, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 7988   7876   
    #[test]
 7989         -
    fn test_353() {
        7877  +
    fn test_359() {
 7990   7878   
        let params = crate::config::endpoint::Params::builder()
 7991   7879   
            .use_fips(true)
 7992   7880   
            .use_dual_stack(false)
 7993   7881   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 7994   7882   
            .account_id_endpoint_mode("preferred".to_string())
 7995   7883   
            .region("us-gov-east-1".to_string())
 7996   7884   
            .build()
 7997   7885   
            .expect("invalid params");
 7998   7886   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7999   7887   
        let endpoint = resolver.resolve_endpoint(&params);
 8000   7888   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.amazonaws.com");
 8001   7889   
        assert_eq!(
 8002   7890   
            endpoint,
 8003   7891   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8004   7892   
                .url("https://dynamodb.us-gov-east-1.amazonaws.com")
 8005   7893   
                .build()
 8006   7894   
        );
 8007   7895   
    }
 8008   7896   
 8009   7897   
    /// {UseFIPS=false, UseDualStack=true, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 8010   7898   
    #[test]
 8011         -
    fn test_354() {
        7899  +
    fn test_360() {
 8012   7900   
        let params = crate::config::endpoint::Params::builder()
 8013   7901   
            .use_fips(false)
 8014   7902   
            .use_dual_stack(true)
 8015   7903   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 8016   7904   
            .account_id_endpoint_mode("preferred".to_string())
 8017   7905   
            .region("us-gov-east-1".to_string())
 8018   7906   
            .build()
 8019   7907   
            .expect("invalid params");
 8020   7908   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8021   7909   
        let endpoint = resolver.resolve_endpoint(&params);
 8022   7910   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.api.aws");
 8023   7911   
        assert_eq!(
 8024   7912   
            endpoint,
 8025   7913   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8026   7914   
                .url("https://dynamodb.us-gov-east-1.api.aws")
 8027   7915   
                .build()
 8028   7916   
        );
 8029   7917   
    }
 8030   7918   
 8031   7919   
    /// {UseFIPS=false, UseDualStack=false, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 8032   7920   
    #[test]
 8033         -
    fn test_355() {
        7921  +
    fn test_361() {
 8034   7922   
        let params = crate::config::endpoint::Params::builder()
 8035   7923   
            .use_fips(false)
 8036   7924   
            .use_dual_stack(false)
 8037   7925   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 8038   7926   
            .account_id_endpoint_mode("preferred".to_string())
 8039   7927   
            .region("us-gov-east-1".to_string())
 8040   7928   
            .build()
 8041   7929   
            .expect("invalid params");
 8042   7930   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8043   7931   
        let endpoint = resolver.resolve_endpoint(&params);
 8044   7932   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.amazonaws.com");
 8045   7933   
        assert_eq!(
 8046   7934   
            endpoint,
 8047   7935   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8048   7936   
                .url("https://dynamodb.us-gov-east-1.amazonaws.com")
 8049   7937   
                .build()
 8050   7938   
        );
 8051   7939   
    }
 8052   7940   
 8053   7941   
    /// {UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 8054   7942   
    #[test]
 8055         -
    fn test_356() {
        7943  +
    fn test_362() {
 8056   7944   
        let params = crate::config::endpoint::Params::builder()
 8057   7945   
            .use_fips(false)
 8058   7946   
            .use_dual_stack(false)
 8059   7947   
            .resource_arn("arn:aws:dynamodb:us-east-1:222222222222:table/table_name".to_string())
 8060   7948   
            .resource_arn_list(vec!["arn:aws:dynamodb:us-east-1:333333333333:table/table_name".to_string().into()])
 8061   7949   
            .account_id_endpoint_mode("preferred".to_string())
 8062   7950   
            .region("us-gov-east-1".to_string())
 8063   7951   
            .build()
 8064   7952   
            .expect("invalid params");
 8065   7953   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8066   7954   
        let endpoint = resolver.resolve_endpoint(&params);
 8067   7955   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.amazonaws.com");
 8068   7956   
        assert_eq!(
 8069   7957   
            endpoint,
 8070   7958   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8071   7959   
                .url("https://dynamodb.us-gov-east-1.amazonaws.com")
 8072   7960   
                .build()
 8073   7961   
        );
 8074   7962   
    }
 8075   7963   
 8076   7964   
    /// {UseFIPS=false, UseDualStack=false, AccountIdEndpointMode=preferred, Region=us-gov-east-1}
 8077   7965   
    #[test]
 8078         -
    fn test_357() {
        7966  +
    fn test_363() {
 8079   7967   
        let params = crate::config::endpoint::Params::builder()
 8080   7968   
            .use_fips(false)
 8081   7969   
            .use_dual_stack(false)
 8082   7970   
            .account_id_endpoint_mode("preferred".to_string())
 8083   7971   
            .region("us-gov-east-1".to_string())
 8084   7972   
            .build()
 8085   7973   
            .expect("invalid params");
 8086   7974   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8087   7975   
        let endpoint = resolver.resolve_endpoint(&params);
 8088   7976   
        let endpoint = endpoint.expect("Expected valid endpoint: https://dynamodb.us-gov-east-1.amazonaws.com");
 8089   7977   
        assert_eq!(
 8090   7978   
            endpoint,
 8091   7979   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8092   7980   
                .url("https://dynamodb.us-gov-east-1.amazonaws.com")
 8093   7981   
                .build()
 8094   7982   
        );
 8095   7983   
    }
        7984  +
        7985  +
    /// {Endpoint=https://dynamodb.cn-north-1.api.amazonwebservices.com.cn, Region=cn-north-1}
        7986  +
    #[test]
        7987  +
    fn test_364() {
        7988  +
        let params = crate::config::endpoint::Params::builder()
        7989  +
            .endpoint("https://dynamodb.cn-north-1.api.amazonwebservices.com.cn".to_string())
        7990  +
            .region("cn-north-1".to_string())
        7991  +
            .build()
        7992  +
            .expect("invalid params");
        7993  +
        let resolver = crate::config::endpoint::DefaultResolver::new();
        7994  +
        let endpoint = resolver.resolve_endpoint(&params);
        7995  +
        let error = endpoint.expect_err("expected error: Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html [{Endpoint=https://dynamodb.cn-north-1.api.amazonwebservices.com.cn, Region=cn-north-1}]");
        7996  +
        assert_eq!(format!("{}", error), "Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html")
        7997  +
    }
        7998  +
        7999  +
    /// {Endpoint=https://dynamodb.us-gov-east-1.api.aws, Region=us-gov-east-1}
        8000  +
    #[test]
        8001  +
    fn test_365() {
        8002  +
        let params = crate::config::endpoint::Params::builder()
        8003  +
            .endpoint("https://dynamodb.us-gov-east-1.api.aws".to_string())
        8004  +
            .region("us-gov-east-1".to_string())
        8005  +
            .build()
        8006  +
            .expect("invalid params");
        8007  +
        let resolver = crate::config::endpoint::DefaultResolver::new();
        8008  +
        let endpoint = resolver.resolve_endpoint(&params);
        8009  +
        let error = endpoint.expect_err("expected error: Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html [{Endpoint=https://dynamodb.us-gov-east-1.api.aws, Region=us-gov-east-1}]");
        8010  +
        assert_eq!(format!("{}", error), "Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html")
        8011  +
    }
        8012  +
        8013  +
    /// {Endpoint=https://dynamodb.us-east-1.api.aws, Region=us-east-1}
        8014  +
    #[test]
        8015  +
    fn test_366() {
        8016  +
        let params = crate::config::endpoint::Params::builder()
        8017  +
            .endpoint("https://dynamodb.us-east-1.api.aws".to_string())
        8018  +
            .region("us-east-1".to_string())
        8019  +
            .build()
        8020  +
            .expect("invalid params");
        8021  +
        let resolver = crate::config::endpoint::DefaultResolver::new();
        8022  +
        let endpoint = resolver.resolve_endpoint(&params);
        8023  +
        let error = endpoint.expect_err("expected error: Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html [{Endpoint=https://dynamodb.us-east-1.api.aws, Region=us-east-1}]");
        8024  +
        assert_eq!(format!("{}", error), "Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html")
        8025  +
    }
        8026  +
        8027  +
    /// {Endpoint=https://111111111111.ddb.us-east-1.api.aws, Region=us-east-1}
        8028  +
    #[test]
        8029  +
    fn test_367() {
        8030  +
        let params = crate::config::endpoint::Params::builder()
        8031  +
            .endpoint("https://111111111111.ddb.us-east-1.api.aws".to_string())
        8032  +
            .region("us-east-1".to_string())
        8033  +
            .build()
        8034  +
            .expect("invalid params");
        8035  +
        let resolver = crate::config::endpoint::DefaultResolver::new();
        8036  +
        let endpoint = resolver.resolve_endpoint(&params);
        8037  +
        let endpoint = endpoint.expect("Expected valid endpoint: https://111111111111.ddb.us-east-1.api.aws");
        8038  +
        assert_eq!(
        8039  +
            endpoint,
        8040  +
            ::aws_smithy_types::endpoint::Endpoint::builder()
        8041  +
                .url("https://111111111111.ddb.us-east-1.api.aws")
        8042  +
                .build()
        8043  +
        );
        8044  +
    }
        8045  +
        8046  +
    /// {Endpoint=https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.api.aws, Region=us-east-1}
        8047  +
    #[test]
        8048  +
    fn test_368() {
        8049  +
        let params = crate::config::endpoint::Params::builder()
        8050  +
            .endpoint("https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.api.aws".to_string())
        8051  +
            .region("us-east-1".to_string())
        8052  +
            .build()
        8053  +
            .expect("invalid params");
        8054  +
        let resolver = crate::config::endpoint::DefaultResolver::new();
        8055  +
        let endpoint = resolver.resolve_endpoint(&params);
        8056  +
        let endpoint = endpoint.expect("Expected valid endpoint: https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.api.aws");
        8057  +
        assert_eq!(
        8058  +
            endpoint,
        8059  +
            ::aws_smithy_types::endpoint::Endpoint::builder()
        8060  +
                .url("https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.api.aws")
        8061  +
                .build()
        8062  +
        );
        8063  +
    }
        8064  +
        8065  +
    /// {Endpoint=https://dynamodb.eu-west-1.api.aws, Region=eu-west-1}
        8066  +
    #[test]
        8067  +
    fn test_369() {
        8068  +
        let params = crate::config::endpoint::Params::builder()
        8069  +
            .endpoint("https://dynamodb.eu-west-1.api.aws".to_string())
        8070  +
            .region("eu-west-1".to_string())
        8071  +
            .build()
        8072  +
            .expect("invalid params");
        8073  +
        let resolver = crate::config::endpoint::DefaultResolver::new();
        8074  +
        let endpoint = resolver.resolve_endpoint(&params);
        8075  +
        let error = endpoint.expect_err("expected error: Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html [{Endpoint=https://dynamodb.eu-west-1.api.aws, Region=eu-west-1}]");
        8076  +
        assert_eq!(format!("{}", error), "Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html")
        8077  +
    }
        8078  +
        8079  +
    /// {Endpoint=https://dynamodb.us-west-2.api.aws, Region=us-west-2}
        8080  +
    #[test]
        8081  +
    fn test_370() {
        8082  +
        let params = crate::config::endpoint::Params::builder()
        8083  +
            .endpoint("https://dynamodb.us-west-2.api.aws".to_string())
        8084  +
            .region("us-west-2".to_string())
        8085  +
            .build()
        8086  +
            .expect("invalid params");
        8087  +
        let resolver = crate::config::endpoint::DefaultResolver::new();
        8088  +
        let endpoint = resolver.resolve_endpoint(&params);
        8089  +
        let error = endpoint.expect_err("expected error: Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html [{Endpoint=https://dynamodb.us-west-2.api.aws, Region=us-west-2}]");
        8090  +
        assert_eq!(format!("{}", error), "Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html")
        8091  +
    }
 8096   8092   
}
 8097   8093   
 8098   8094   
/// Endpoint resolver trait specific to Amazon DynamoDB
 8099   8095   
pub trait ResolveEndpoint: ::std::marker::Send + ::std::marker::Sync + ::std::fmt::Debug {
 8100   8096   
    /// Resolve an endpoint with the given parameters
 8101   8097   
    fn resolve_endpoint<'a>(&'a self, params: &'a crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a>;
 8102   8098   
 8103   8099   
    /// Convert this service-specific resolver into a `SharedEndpointResolver`
 8104   8100   
    ///
 8105   8101   
    /// The resulting resolver will downcast `EndpointResolverParams` into `crate::config::endpoint::Params`.
@@ -8136,8132 +8226,9110 @@
 8156   8152   
                // No account ID; nothing to do.
 8157   8153   
            }
 8158   8154   
            (::std::option::Option::None, _) => {
 8159   8155   
                return ::std::result::Result::Err("service-specific endpoint params was not present".into());
 8160   8156   
            }
 8161   8157   
        }
 8162   8158   
        ::std::result::Result::Ok(())
 8163   8159   
    }
 8164   8160   
}
 8165   8161   
 8166         -
/// The default endpoint resolver
 8167         -
#[derive(Debug, Default)]
        8162  +
#[derive(Debug)]
        8163  +
/// The default endpoint resolver.
 8168   8164   
pub struct DefaultResolver {
 8169         -
    partition_resolver: crate::endpoint_lib::partition::PartitionResolver,
        8165  +
    partition_resolver: &'static crate::endpoint_lib::partition::PartitionResolver,
        8166  +
    endpoint_cache: ::arc_swap::ArcSwap<::std::option::Option<(Params, ::aws_smithy_types::endpoint::Endpoint)>>,
        8167  +
}
        8168  +
        8169  +
impl Default for DefaultResolver {
        8170  +
    fn default() -> Self {
        8171  +
        Self::new()
        8172  +
    }
 8170   8173   
}
 8171   8174   
 8172   8175   
impl DefaultResolver {
 8173         -
    /// Create a new endpoint resolver with default settings
        8176  +
    /// Create a new DefaultResolver
 8174   8177   
    pub fn new() -> Self {
 8175   8178   
        Self {
 8176         -
            partition_resolver: crate::endpoint_lib::DEFAULT_PARTITION_RESOLVER.clone(),
        8179  +
            partition_resolver: &crate::endpoint_lib::DEFAULT_PARTITION_RESOLVER,
        8180  +
            endpoint_cache: ::arc_swap::ArcSwap::from_pointee(None),
 8177   8181   
        }
 8178   8182   
    }
 8179   8183   
 8180         -
    fn resolve_endpoint(
 8181         -
        &self,
 8182         -
        params: &crate::config::endpoint::Params,
        8184  +
    #[allow(
        8185  +
        unused_variables,
        8186  +
        unused_parens,
        8187  +
        clippy::double_parens,
        8188  +
        clippy::useless_conversion,
        8189  +
        clippy::bool_comparison,
        8190  +
        clippy::comparison_to_empty,
        8191  +
        clippy::needless_borrow,
        8192  +
        clippy::useless_asref,
        8193  +
        clippy::redundant_closure_call,
        8194  +
        clippy::clone_on_copy
        8195  +
    )]
        8196  +
    fn resolve_endpoint<'a>(
        8197  +
        &'a self,
        8198  +
        params: &'a crate::config::endpoint::Params,
 8183   8199   
    ) -> ::std::result::Result<::aws_smithy_types::endpoint::Endpoint, ::aws_smithy_runtime_api::box_error::BoxError> {
 8184         -
        let mut diagnostic_collector = crate::endpoint_lib::diagnostic::DiagnosticCollector::new();
 8185         -
        Ok(
 8186         -
            crate::config::endpoint::internals::resolve_endpoint(params, &mut diagnostic_collector, &self.partition_resolver)
 8187         -
                .map_err(|err| err.with_source(diagnostic_collector.take_last_error()))?,
 8188         -
        )
        8200  +
        let mut _diagnostic_collector = crate::endpoint_lib::diagnostic::DiagnosticCollector::new();
        8201  +
        #[allow(unused_mut)]
        8202  +
        let mut context = ConditionContext::default();
        8203  +
        8204  +
        // Param bindings
        8205  +
        let region = &params.region;
        8206  +
        let use_dual_stack = &params.use_dual_stack;
        8207  +
        let use_fips = &params.use_fips;
        8208  +
        let endpoint = &params.endpoint;
        8209  +
        let account_id = &params.account_id;
        8210  +
        let account_id_endpoint_mode = &params.account_id_endpoint_mode;
        8211  +
        let resource_arn = &params.resource_arn;
        8212  +
        let resource_arn_list = &params.resource_arn_list;
        8213  +
        8214  +
        let mut current_ref: i32 = 67;
        8215  +
        loop {
        8216  +
            match current_ref {
        8217  +
                ref_val if ref_val >= 100_000_000 => {
        8218  +
                    return match (ref_val - 100_000_000) as usize {
        8219  +
                                        0 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message("No endpoint rule matched")) as ::aws_smithy_runtime_api::box_error::BoxError),
        8220  +
1 => {
        8221  +
        8222  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message("Invalid Configuration: FIPS and custom endpoint are not supported"
        8223  +
.to_string())) as ::aws_smithy_runtime_api::box_error::BoxError)
        8224  +
                        },
        8225  +
2 => {
        8226  +
        8227  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message("Invalid Configuration: Dualstack and custom endpoint are not supported"
        8228  +
.to_string())) as ::aws_smithy_runtime_api::box_error::BoxError)
        8229  +
                        },
        8230  +
3 => {
        8231  +
        8232  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message("Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html"
        8233  +
.to_string())) as ::aws_smithy_runtime_api::box_error::BoxError)
        8234  +
                        },
        8235  +
4 => {
        8236  +
                            let endpoint = params.endpoint.as_deref().unwrap_or_default();
        8237  +
                            ::std::result::Result::Ok(::aws_smithy_types::endpoint::Endpoint::builder().url(endpoint.to_owned())
        8238  +
.build())
        8239  +
                        },
        8240  +
5 => {
        8241  +
        8242  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message("Invalid Configuration: FIPS and local endpoint are not supported"
        8243  +
.to_string())) as ::aws_smithy_runtime_api::box_error::BoxError)
        8244  +
                        },
        8245  +
6 => {
        8246  +
        8247  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message("Invalid Configuration: Dualstack and local endpoint are not supported"
        8248  +
.to_string())) as ::aws_smithy_runtime_api::box_error::BoxError)
        8249  +
                        },
        8250  +
7 => {
        8251  +
        8252  +
                            ::std::result::Result::Ok(::aws_smithy_types::endpoint::Endpoint::builder().url("http://localhost:8000"
        8253  +
.to_string())
        8254  +
.auth_scheme(::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4"
        8255  +
.to_string(), 2)
        8256  +
.put("signingName", "dynamodb")
        8257  +
.put("signingRegion", "us-east-1")
        8258  +
)
        8259  +
.build())
        8260  +
                        },
        8261  +
8 => {
        8262  +
        8263  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message("Invalid Configuration: AccountIdEndpointMode is required and FIPS is enabled, but FIPS account endpoints are not supported"
        8264  +
.to_string())) as ::aws_smithy_runtime_api::box_error::BoxError)
        8265  +
                        },
        8266  +
9 => {
        8267  +
                            let region = params.region.as_deref().unwrap_or_default();
        8268  +
let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
        8269  +
                            ::std::result::Result::Ok(::aws_smithy_types::endpoint::Endpoint::builder().url({ let mut out = String::new();
        8270  +
out.push_str("https://dynamodb-fips.");
        8271  +
#[allow(clippy::needless_borrow)]
        8272  +
out.push_str(&region.as_ref());
        8273  +
out.push('.');
        8274  +
#[allow(clippy::needless_borrow)]
        8275  +
out.push_str(&partition_result.dual_stack_dns_suffix());
        8276  +
out })
        8277  +
.build())
        8278  +
                        },
        8279  +
10 => {
        8280  +
        8281  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message("FIPS and DualStack are enabled, but this partition does not support one or both"
        8282  +
.to_string())) as ::aws_smithy_runtime_api::box_error::BoxError)
        8283  +
                        },
        8284  +
11 => {
        8285  +
                            let region = params.region.as_deref().unwrap_or_default();
        8286  +
let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
        8287  +
                            ::std::result::Result::Ok(::aws_smithy_types::endpoint::Endpoint::builder().url({ let mut out = String::new();
        8288  +
out.push_str("https://dynamodb.");
        8289  +
#[allow(clippy::needless_borrow)]
        8290  +
out.push_str(&region.as_ref());
        8291  +
out.push('.');
        8292  +
#[allow(clippy::needless_borrow)]
        8293  +
out.push_str(&partition_result.dns_suffix());
        8294  +
out })
        8295  +
.build())
        8296  +
                        },
        8297  +
12 => {
        8298  +
                            let region = params.region.as_deref().unwrap_or_default();
        8299  +
let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
        8300  +
                            ::std::result::Result::Ok(::aws_smithy_types::endpoint::Endpoint::builder().url({ let mut out = String::new();
        8301  +
out.push_str("https://dynamodb-fips.");
        8302  +
#[allow(clippy::needless_borrow)]
        8303  +
out.push_str(&region.as_ref());
        8304  +
out.push('.');
        8305  +
#[allow(clippy::needless_borrow)]
        8306  +
out.push_str(&partition_result.dns_suffix());
        8307  +
out })
        8308  +
.build())
        8309  +
                        },
        8310  +
13 => {
        8311  +
        8312  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message("FIPS is enabled but this partition does not support FIPS"
        8313  +
.to_string())) as ::aws_smithy_runtime_api::box_error::BoxError)
        8314  +
                        },
        8315  +
14 => {
        8316  +
                            let region = params.region.as_deref().unwrap_or_default();
        8317  +
let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
        8318  +
let parsed_arn_ssa_2 = context.parsed_arn_ssa_2.as_ref().expect("Guaranteed to have a value by earlier checks.");
        8319  +
                            ::std::result::Result::Ok(::aws_smithy_types::endpoint::Endpoint::builder().url({ let mut out = String::new();
        8320  +
out.push_str("https://");
        8321  +
#[allow(clippy::needless_borrow)]
        8322  +
out.push_str(&parsed_arn_ssa_2.account_id());
        8323  +
out.push_str(".ddb.");
        8324  +
#[allow(clippy::needless_borrow)]
        8325  +
out.push_str(&region.as_ref());
        8326  +
out.push('.');
        8327  +
#[allow(clippy::needless_borrow)]
        8328  +
out.push_str(&partition_result.dual_stack_dns_suffix());
        8329  +
out })
        8330  +
.property("metricValues", vec![::aws_smithy_types::Document::from("O"
        8331  +
.to_string()),])
        8332  +
.build())
        8333  +
                        },
        8334  +
15 => {
        8335  +
                            let region = params.region.as_deref().unwrap_or_default();
        8336  +
let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
        8337  +
let parsed_arn_ssa_1 = context.parsed_arn_ssa_1.as_ref().expect("Guaranteed to have a value by earlier checks.");
        8338  +
                            ::std::result::Result::Ok(::aws_smithy_types::endpoint::Endpoint::builder().url({ let mut out = String::new();
        8339  +
out.push_str("https://");
        8340  +
#[allow(clippy::needless_borrow)]
        8341  +
out.push_str(&parsed_arn_ssa_1.account_id());
        8342  +
out.push_str(".ddb.");
        8343  +
#[allow(clippy::needless_borrow)]
        8344  +
out.push_str(&region.as_ref());
        8345  +
out.push('.');
        8346  +
#[allow(clippy::needless_borrow)]
        8347  +
out.push_str(&partition_result.dual_stack_dns_suffix());
        8348  +
out })
        8349  +
.property("metricValues", vec![::aws_smithy_types::Document::from("O"
        8350  +
.to_string()),])
        8351  +
.build())
        8352  +
                        },
        8353  +
16 => {
        8354  +
                            let region = params.region.as_deref().unwrap_or_default();
        8355  +
let account_id = params.account_id.as_deref().unwrap_or_default();
        8356  +
let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
        8357  +
                            ::std::result::Result::Ok(::aws_smithy_types::endpoint::Endpoint::builder().url({ let mut out = String::new();
        8358  +
out.push_str("https://");
        8359  +
#[allow(clippy::needless_borrow)]
        8360  +
out.push_str(&account_id.as_ref());
        8361  +
out.push_str(".ddb.");
        8362  +
#[allow(clippy::needless_borrow)]
        8363  +
out.push_str(&region.as_ref());
        8364  +
out.push('.');
        8365  +
#[allow(clippy::needless_borrow)]
        8366  +
out.push_str(&partition_result.dual_stack_dns_suffix());
        8367  +
out })
        8368  +
.property("metricValues", vec![::aws_smithy_types::Document::from("O"
        8369  +
.to_string()),])
        8370  +
.build())
        8371  +
                        },
        8372  +
17 => {
        8373  +
        8374  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message("Credentials-sourced account ID parameter is invalid"
        8375  +
.to_string())) as ::aws_smithy_runtime_api::box_error::BoxError)
        8376  +
                        },
        8377  +
18 => {
        8378  +
        8379  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message("AccountIdEndpointMode is required but no AccountID was provided or able to be loaded"
        8380  +
.to_string())) as ::aws_smithy_runtime_api::box_error::BoxError)
        8381  +
                        },
        8382  +
19 => {
        8383  +
        8384  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message("Invalid Configuration: AccountIdEndpointMode is required but account endpoints are not supported in this partition"
        8385  +
.to_string())) as ::aws_smithy_runtime_api::box_error::BoxError)
        8386  +
                        },
        8387  +
20 => {
        8388  +
                            let region = params.region.as_deref().unwrap_or_default();
        8389  +
let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
        8390  +
                            ::std::result::Result::Ok(::aws_smithy_types::endpoint::Endpoint::builder().url({ let mut out = String::new();
        8391  +
out.push_str("https://dynamodb.");
        8392  +
#[allow(clippy::needless_borrow)]
        8393  +
out.push_str(&region.as_ref());
        8394  +
out.push('.');
        8395  +
#[allow(clippy::needless_borrow)]
        8396  +
out.push_str(&partition_result.dual_stack_dns_suffix());
        8397  +
out })
        8398  +
.build())
        8399  +
                        },
        8400  +
21 => {
        8401  +
        8402  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message("DualStack is enabled but this partition does not support DualStack"
        8403  +
.to_string())) as ::aws_smithy_runtime_api::box_error::BoxError)
        8404  +
                        },
        8405  +
22 => {
        8406  +
                            let region = params.region.as_deref().unwrap_or_default();
        8407  +
let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
        8408  +
let parsed_arn_ssa_2 = context.parsed_arn_ssa_2.as_ref().expect("Guaranteed to have a value by earlier checks.");
        8409  +
                            ::std::result::Result::Ok(::aws_smithy_types::endpoint::Endpoint::builder().url({ let mut out = String::new();
        8410  +
out.push_str("https://");
        8411  +
#[allow(clippy::needless_borrow)]
        8412  +
out.push_str(&parsed_arn_ssa_2.account_id());
        8413  +
out.push_str(".ddb.");
        8414  +
#[allow(clippy::needless_borrow)]
        8415  +
out.push_str(&region.as_ref());
        8416  +
out.push('.');
        8417  +
#[allow(clippy::needless_borrow)]
        8418  +
out.push_str(&partition_result.dns_suffix());
        8419  +
out })
        8420  +
.property("metricValues", vec![::aws_smithy_types::Document::from("O"
        8421  +
.to_string()),])
        8422  +
.build())
        8423  +
                        },
        8424  +
23 => {
        8425  +
                            let region = params.region.as_deref().unwrap_or_default();
        8426  +
let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
        8427  +
let parsed_arn_ssa_1 = context.parsed_arn_ssa_1.as_ref().expect("Guaranteed to have a value by earlier checks.");
        8428  +
                            ::std::result::Result::Ok(::aws_smithy_types::endpoint::Endpoint::builder().url({ let mut out = String::new();
        8429  +
out.push_str("https://");
        8430  +
#[allow(clippy::needless_borrow)]
        8431  +
out.push_str(&parsed_arn_ssa_1.account_id());
        8432  +
out.push_str(".ddb.");
        8433  +
#[allow(clippy::needless_borrow)]
        8434  +
out.push_str(&region.as_ref());
        8435  +
out.push('.');
        8436  +
#[allow(clippy::needless_borrow)]
        8437  +
out.push_str(&partition_result.dns_suffix());
        8438  +
out })
        8439  +
.property("metricValues", vec![::aws_smithy_types::Document::from("O"
        8440  +
.to_string()),])
        8441  +
.build())
        8442  +
                        },
        8443  +
24 => {
        8444  +
                            let region = params.region.as_deref().unwrap_or_default();
        8445  +
let account_id = params.account_id.as_deref().unwrap_or_default();
        8446  +
let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
        8447  +
                            ::std::result::Result::Ok(::aws_smithy_types::endpoint::Endpoint::builder().url({ let mut out = String::new();
        8448  +
out.push_str("https://");
        8449  +
#[allow(clippy::needless_borrow)]
        8450  +
out.push_str(&account_id.as_ref());
        8451  +
out.push_str(".ddb.");
        8452  +
#[allow(clippy::needless_borrow)]
        8453  +
out.push_str(&region.as_ref());
        8454  +
out.push('.');
        8455  +
#[allow(clippy::needless_borrow)]
        8456  +
out.push_str(&partition_result.dns_suffix());
        8457  +
out })
        8458  +
.property("metricValues", vec![::aws_smithy_types::Document::from("O"
        8459  +
.to_string()),])
        8460  +
.build())
        8461  +
                        },
        8462  +
25 => {
        8463  +
        8464  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message("Invalid Configuration: Missing Region"
        8465  +
.to_string())) as ::aws_smithy_runtime_api::box_error::BoxError)
        8466  +
                        },
        8467  +
                                        _ => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message("No endpoint rule matched")) as ::aws_smithy_runtime_api::box_error::BoxError),
        8468  +
                                    };
        8469  +
                }
        8470  +
                1 | -1 => {
        8471  +
                    return ::std::result::Result::Err(
        8472  +
                        Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message("No endpoint rule matched"))
        8473  +
                            as ::aws_smithy_runtime_api::box_error::BoxError,
        8474  +
                    )
        8475  +
                }
        8476  +
                ref_val => {
        8477  +
                    let is_complement = ref_val < 0;
        8478  +
                    let node = &NODES[(ref_val.unsigned_abs() as usize) - 1];
        8479  +
                    let condition_result = match node.condition_index {
        8480  +
                        0 => region.is_some(),
        8481  +
                        1 => endpoint.is_some(),
        8482  +
                        2 => (use_fips) == (&true),
        8483  +
                        3 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8484  +
                            let partition_result = &mut context.partition_result;
        8485  +
                            let partition_resolver = &self.partition_resolver;
        8486  +
                            {
        8487  +
                                *partition_result = partition_resolver
        8488  +
                                    .resolve_partition(if let Some(param) = region { param } else { return false }, _diagnostic_collector)
        8489  +
                                    .map(|inner| inner.into());
        8490  +
                                partition_result.is_some()
        8491  +
                            }
        8492  +
                        })(&mut _diagnostic_collector),
        8493  +
                        4 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8494  +
                            let partition_resolver = &self.partition_resolver;
        8495  +
                            (region) == &mut Some(("local".to_string().into()))
        8496  +
                        })(&mut _diagnostic_collector),
        8497  +
                        5 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8498  +
                            let partition_result = &context.partition_result;
        8499  +
                            let partition_resolver = &self.partition_resolver;
        8500  +
                            (if let Some(inner) = partition_result {
        8501  +
                                inner.supports_fips()
        8502  +
                            } else {
        8503  +
                                return false;
        8504  +
                            }) == (true)
        8505  +
                        })(&mut _diagnostic_collector),
        8506  +
                        6 => (use_dual_stack) == (&true),
        8507  +
                        7 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8508  +
                            let partition_result = &context.partition_result;
        8509  +
                            let partition_resolver = &self.partition_resolver;
        8510  +
                            (if let Some(inner) = partition_result {
        8511  +
                                inner.supports_dual_stack()
        8512  +
                            } else {
        8513  +
                                return false;
        8514  +
                            }) == (true)
        8515  +
                        })(&mut _diagnostic_collector),
        8516  +
                        8 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8517  +
                            let partition_result = &context.partition_result;
        8518  +
                            let partition_resolver = &self.partition_resolver;
        8519  +
                            &mut Some(
        8520  +
                                ({
        8521  +
                                    let mut out = String::new();
        8522  +
                                    out.push_str("https://dynamodb.");
        8523  +
                                    #[allow(clippy::needless_borrow)]
        8524  +
                                    out.push_str(&region.as_deref().unwrap_or_default());
        8525  +
                                    out.push('.');
        8526  +
                                    #[allow(clippy::needless_borrow)]
        8527  +
                                    out.push_str(&if let Some(inner) = partition_result {
        8528  +
                                        inner.dual_stack_dns_suffix()
        8529  +
                                    } else {
        8530  +
                                        return false;
        8531  +
                                    });
        8532  +
                                    out
        8533  +
                                }
        8534  +
                                .into()),
        8535  +
                            ) == (endpoint)
        8536  +
                        })(&mut _diagnostic_collector),
        8537  +
                        9 => account_id_endpoint_mode.is_some(),
        8538  +
                        10 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8539  +
                            let partition_result = &context.partition_result;
        8540  +
                            let partition_resolver = &self.partition_resolver;
        8541  +
                            (if let Some(inner) = partition_result {
        8542  +
                                inner.name()
        8543  +
                            } else {
        8544  +
                                return false;
        8545  +
                            }) == ("aws")
        8546  +
                        })(&mut _diagnostic_collector),
        8547  +
                        11 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8548  +
                            let partition_resolver = &self.partition_resolver;
        8549  +
                            (account_id_endpoint_mode) == &mut Some(("disabled".to_string().into()))
        8550  +
                        })(&mut _diagnostic_collector),
        8551  +
                        12 => resource_arn.is_some(),
        8552  +
                        13 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8553  +
                            let parsed_arn_ssa_2 = &mut context.parsed_arn_ssa_2;
        8554  +
                            let partition_resolver = &self.partition_resolver;
        8555  +
                            {
        8556  +
                                *parsed_arn_ssa_2 = crate::endpoint_lib::arn::parse_arn(
        8557  +
                                    if let Some(param) = resource_arn { param } else { return false },
        8558  +
                                    _diagnostic_collector,
        8559  +
                                )
        8560  +
                                .map(|inner| inner.into());
        8561  +
                                parsed_arn_ssa_2.is_some()
        8562  +
                            }
        8563  +
                        })(&mut _diagnostic_collector),
        8564  +
                        14 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8565  +
                            let parsed_arn_ssa_2 = &context.parsed_arn_ssa_2;
        8566  +
                            let partition_resolver = &self.partition_resolver;
        8567  +
                            &mut Some(
        8568  +
                                (if let Some(inner) = parsed_arn_ssa_2 {
        8569  +
                                    inner.region()
        8570  +
                                } else {
        8571  +
                                    return false;
        8572  +
                                }
        8573  +
                                .into()),
        8574  +
                            ) == (region)
        8575  +
                        })(&mut _diagnostic_collector),
        8576  +
                        15 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8577  +
                            let parsed_arn_ssa_2 = &context.parsed_arn_ssa_2;
        8578  +
                            let partition_resolver = &self.partition_resolver;
        8579  +
                            (if let Some(inner) = parsed_arn_ssa_2 {
        8580  +
                                inner.service()
        8581  +
                            } else {
        8582  +
                                return false;
        8583  +
                            }) == ("dynamodb")
        8584  +
                        })(&mut _diagnostic_collector),
        8585  +
                        16 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8586  +
                            let parsed_arn_ssa_2 = &context.parsed_arn_ssa_2;
        8587  +
                            let partition_resolver = &self.partition_resolver;
        8588  +
                            crate::endpoint_lib::host::is_valid_host_label(
        8589  +
                                if let Some(inner) = parsed_arn_ssa_2 {
        8590  +
                                    inner.account_id()
        8591  +
                                } else {
        8592  +
                                    return false;
        8593  +
                                },
        8594  +
                                false,
        8595  +
                                _diagnostic_collector,
        8596  +
                            )
        8597  +
                        })(&mut _diagnostic_collector),
        8598  +
                        17 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8599  +
                            let parsed_arn_ssa_2 = &context.parsed_arn_ssa_2;
        8600  +
                            let partition_resolver = &self.partition_resolver;
        8601  +
                            crate::endpoint_lib::host::is_valid_host_label(
        8602  +
                                if let Some(inner) = parsed_arn_ssa_2 {
        8603  +
                                    inner.region()
        8604  +
                                } else {
        8605  +
                                    return false;
        8606  +
                                },
        8607  +
                                false,
        8608  +
                                _diagnostic_collector,
        8609  +
                            )
        8610  +
                        })(&mut _diagnostic_collector),
        8611  +
                        18 => resource_arn_list.is_some(),
        8612  +
                        19 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8613  +
                            let first_arn = &mut context.first_arn;
        8614  +
                            let partition_resolver = &self.partition_resolver;
        8615  +
                            {
        8616  +
                                *first_arn = if let Some(inner) = resource_arn_list {
        8617  +
                                    inner.first().map(|s| s.as_str())
        8618  +
                                } else {
        8619  +
                                    return false;
        8620  +
                                };
        8621  +
                                first_arn.is_some()
        8622  +
                            }
        8623  +
                        })(&mut _diagnostic_collector),
        8624  +
                        20 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8625  +
                            let first_arn = &context.first_arn;
        8626  +
                            let parsed_arn_ssa_1 = &mut context.parsed_arn_ssa_1;
        8627  +
                            let partition_resolver = &self.partition_resolver;
        8628  +
                            {
        8629  +
                                *parsed_arn_ssa_1 = crate::endpoint_lib::arn::parse_arn(
        8630  +
                                    if let Some(param) = first_arn { param } else { return false },
        8631  +
                                    _diagnostic_collector,
        8632  +
                                )
        8633  +
                                .map(|inner| inner.into());
        8634  +
                                parsed_arn_ssa_1.is_some()
        8635  +
                            }
        8636  +
                        })(&mut _diagnostic_collector),
        8637  +
                        21 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8638  +
                            let parsed_arn_ssa_1 = &context.parsed_arn_ssa_1;
        8639  +
                            let partition_resolver = &self.partition_resolver;
        8640  +
                            &mut Some(
        8641  +
                                (if let Some(inner) = parsed_arn_ssa_1 {
        8642  +
                                    inner.region()
        8643  +
                                } else {
        8644  +
                                    return false;
        8645  +
                                }
        8646  +
                                .into()),
        8647  +
                            ) == (region)
        8648  +
                        })(&mut _diagnostic_collector),
        8649  +
                        22 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8650  +
                            let parsed_arn_ssa_1 = &context.parsed_arn_ssa_1;
        8651  +
                            let partition_resolver = &self.partition_resolver;
        8652  +
                            (if let Some(inner) = parsed_arn_ssa_1 {
        8653  +
                                inner.service()
        8654  +
                            } else {
        8655  +
                                return false;
        8656  +
                            }) == ("dynamodb")
        8657  +
                        })(&mut _diagnostic_collector),
        8658  +
                        23 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8659  +
                            let parsed_arn_ssa_1 = &context.parsed_arn_ssa_1;
        8660  +
                            let partition_resolver = &self.partition_resolver;
        8661  +
                            crate::endpoint_lib::host::is_valid_host_label(
        8662  +
                                if let Some(inner) = parsed_arn_ssa_1 {
        8663  +
                                    inner.account_id()
        8664  +
                                } else {
        8665  +
                                    return false;
        8666  +
                                },
        8667  +
                                false,
        8668  +
                                _diagnostic_collector,
        8669  +
                            )
        8670  +
                        })(&mut _diagnostic_collector),
        8671  +
                        24 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8672  +
                            let parsed_arn_ssa_1 = &context.parsed_arn_ssa_1;
        8673  +
                            let partition_resolver = &self.partition_resolver;
        8674  +
                            crate::endpoint_lib::host::is_valid_host_label(
        8675  +
                                if let Some(inner) = parsed_arn_ssa_1 {
        8676  +
                                    inner.region()
        8677  +
                                } else {
        8678  +
                                    return false;
        8679  +
                                },
        8680  +
                                false,
        8681  +
                                _diagnostic_collector,
        8682  +
                            )
        8683  +
                        })(&mut _diagnostic_collector),
        8684  +
                        25 => account_id.is_some(),
        8685  +
                        26 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8686  +
                            let partition_resolver = &self.partition_resolver;
        8687  +
                            (account_id_endpoint_mode) == &mut Some(("required".to_string().into()))
        8688  +
                        })(&mut _diagnostic_collector),
        8689  +
                        27 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8690  +
                            let partition_resolver = &self.partition_resolver;
        8691  +
                            crate::endpoint_lib::host::is_valid_host_label(
        8692  +
                                if let Some(param) = account_id { param } else { return false },
        8693  +
                                false,
        8694  +
                                _diagnostic_collector,
        8695  +
                            )
        8696  +
                        })(&mut _diagnostic_collector),
        8697  +
                        28 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
        8698  +
                            let partition_result = &context.partition_result;
        8699  +
                            let partition_resolver = &self.partition_resolver;
        8700  +
                            (if let Some(inner) = partition_result {
        8701  +
                                inner.name()
        8702  +
                            } else {
        8703  +
                                return false;
        8704  +
                            }) == ("aws-us-gov")
        8705  +
                        })(&mut _diagnostic_collector),
        8706  +
                        _ => unreachable!("Invalid condition index"),
        8707  +
                    };
        8708  +
                    current_ref = if is_complement ^ condition_result { node.high_ref } else { node.low_ref };
        8709  +
                }
        8710  +
            }
        8711  +
        }
 8189   8712   
    }
 8190   8713   
}
 8191   8714   
 8192   8715   
impl crate::config::endpoint::ResolveEndpoint for DefaultResolver {
 8193         -
    fn resolve_endpoint(&self, params: &crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'_> {
 8194         -
        ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(self.resolve_endpoint(params))
        8716  +
    fn resolve_endpoint<'a>(&'a self, params: &'a crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a> {
        8717  +
        // Check single-entry cache (lock-free read via ArcSwap)
        8718  +
        let cached = self.endpoint_cache.load();
        8719  +
        if let Some((cached_params, cached_endpoint)) = cached.as_ref() {
        8720  +
            if cached_params == params {
        8721  +
                return ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(::std::result::Result::Ok(cached_endpoint.clone()));
        8722  +
            }
        8723  +
        }
        8724  +
        drop(cached);
        8725  +
        let result = self.resolve_endpoint(params);
        8726  +
        if let ::std::result::Result::Ok(ref endpoint) = result {
        8727  +
            self.endpoint_cache.store(::std::sync::Arc::new(Some((params.clone(), endpoint.clone()))));
        8728  +
        }
        8729  +
        ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(result)
 8195   8730   
    }
 8196   8731   
}
        8732  +
const NODES: [crate::endpoint_lib::bdd_interpreter::BddNode; 67] = [
        8733  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8734  +
        condition_index: -1,
        8735  +
        high_ref: 1,
        8736  +
        low_ref: -1,
        8737  +
    },
        8738  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8739  +
        condition_index: 8,
        8740  +
        high_ref: 100000003,
        8741  +
        low_ref: 100000004,
        8742  +
    },
        8743  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8744  +
        condition_index: 6,
        8745  +
        high_ref: 100000002,
        8746  +
        low_ref: 2,
        8747  +
    },
        8748  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8749  +
        condition_index: 6,
        8750  +
        high_ref: 100000002,
        8751  +
        low_ref: 100000004,
        8752  +
    },
        8753  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8754  +
        condition_index: 3,
        8755  +
        high_ref: 3,
        8756  +
        low_ref: 4,
        8757  +
    },
        8758  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8759  +
        condition_index: 2,
        8760  +
        high_ref: 100000001,
        8761  +
        low_ref: 5,
        8762  +
    },
        8763  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8764  +
        condition_index: 26,
        8765  +
        high_ref: 100000008,
        8766  +
        low_ref: 100000009,
        8767  +
    },
        8768  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8769  +
        condition_index: 9,
        8770  +
        high_ref: 7,
        8771  +
        low_ref: 100000009,
        8772  +
    },
        8773  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8774  +
        condition_index: 7,
        8775  +
        high_ref: 8,
        8776  +
        low_ref: 100000010,
        8777  +
    },
        8778  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8779  +
        condition_index: 28,
        8780  +
        high_ref: 100000011,
        8781  +
        low_ref: 100000012,
        8782  +
    },
        8783  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8784  +
        condition_index: 26,
        8785  +
        high_ref: 100000008,
        8786  +
        low_ref: 10,
        8787  +
    },
        8788  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8789  +
        condition_index: 9,
        8790  +
        high_ref: 11,
        8791  +
        low_ref: 10,
        8792  +
    },
        8793  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8794  +
        condition_index: 6,
        8795  +
        high_ref: 9,
        8796  +
        low_ref: 12,
        8797  +
    },
        8798  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8799  +
        condition_index: 6,
        8800  +
        high_ref: 100000010,
        8801  +
        low_ref: 100000013,
        8802  +
    },
        8803  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8804  +
        condition_index: 5,
        8805  +
        high_ref: 13,
        8806  +
        low_ref: 14,
        8807  +
    },
        8808  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8809  +
        condition_index: 4,
        8810  +
        high_ref: 100000005,
        8811  +
        low_ref: 15,
        8812  +
    },
        8813  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8814  +
        condition_index: 3,
        8815  +
        high_ref: 16,
        8816  +
        low_ref: 100000025,
        8817  +
    },
        8818  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8819  +
        condition_index: 6,
        8820  +
        high_ref: 100000006,
        8821  +
        low_ref: 100000007,
        8822  +
    },
        8823  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8824  +
        condition_index: 26,
        8825  +
        high_ref: 100000018,
        8826  +
        low_ref: 100000020,
        8827  +
    },
        8828  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8829  +
        condition_index: 27,
        8830  +
        high_ref: 100000016,
        8831  +
        low_ref: 100000017,
        8832  +
    },
        8833  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8834  +
        condition_index: 25,
        8835  +
        high_ref: 20,
        8836  +
        low_ref: 19,
        8837  +
    },
        8838  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8839  +
        condition_index: 24,
        8840  +
        high_ref: 100000015,
        8841  +
        low_ref: 21,
        8842  +
    },
        8843  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8844  +
        condition_index: 23,
        8845  +
        high_ref: 22,
        8846  +
        low_ref: 21,
        8847  +
    },
        8848  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8849  +
        condition_index: 22,
        8850  +
        high_ref: 23,
        8851  +
        low_ref: 21,
        8852  +
    },
        8853  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8854  +
        condition_index: 21,
        8855  +
        high_ref: 24,
        8856  +
        low_ref: 21,
        8857  +
    },
        8858  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8859  +
        condition_index: 20,
        8860  +
        high_ref: 25,
        8861  +
        low_ref: 21,
        8862  +
    },
        8863  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8864  +
        condition_index: 19,
        8865  +
        high_ref: 26,
        8866  +
        low_ref: 21,
        8867  +
    },
        8868  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8869  +
        condition_index: 18,
        8870  +
        high_ref: 27,
        8871  +
        low_ref: 21,
        8872  +
    },
        8873  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8874  +
        condition_index: 17,
        8875  +
        high_ref: 100000014,
        8876  +
        low_ref: 28,
        8877  +
    },
        8878  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8879  +
        condition_index: 16,
        8880  +
        high_ref: 29,
        8881  +
        low_ref: 28,
        8882  +
    },
        8883  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8884  +
        condition_index: 15,
        8885  +
        high_ref: 30,
        8886  +
        low_ref: 28,
        8887  +
    },
        8888  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8889  +
        condition_index: 14,
        8890  +
        high_ref: 31,
        8891  +
        low_ref: 28,
        8892  +
    },
        8893  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8894  +
        condition_index: 13,
        8895  +
        high_ref: 32,
        8896  +
        low_ref: 28,
        8897  +
    },
        8898  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8899  +
        condition_index: 12,
        8900  +
        high_ref: 33,
        8901  +
        low_ref: 28,
        8902  +
    },
        8903  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8904  +
        condition_index: 11,
        8905  +
        high_ref: 19,
        8906  +
        low_ref: 34,
        8907  +
    },
        8908  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8909  +
        condition_index: 26,
        8910  +
        high_ref: 100000019,
        8911  +
        low_ref: 100000020,
        8912  +
    },
        8913  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8914  +
        condition_index: 10,
        8915  +
        high_ref: 35,
        8916  +
        low_ref: 36,
        8917  +
    },
        8918  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8919  +
        condition_index: 9,
        8920  +
        high_ref: 37,
        8921  +
        low_ref: 100000020,
        8922  +
    },
        8923  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8924  +
        condition_index: 7,
        8925  +
        high_ref: 38,
        8926  +
        low_ref: 100000021,
        8927  +
    },
        8928  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8929  +
        condition_index: 26,
        8930  +
        high_ref: 100000018,
        8931  +
        low_ref: 100000011,
        8932  +
    },
        8933  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8934  +
        condition_index: 27,
        8935  +
        high_ref: 100000024,
        8936  +
        low_ref: 100000017,
        8937  +
    },
        8938  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8939  +
        condition_index: 25,
        8940  +
        high_ref: 41,
        8941  +
        low_ref: 40,
        8942  +
    },
        8943  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8944  +
        condition_index: 24,
        8945  +
        high_ref: 100000023,
        8946  +
        low_ref: 42,
        8947  +
    },
        8948  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8949  +
        condition_index: 23,
        8950  +
        high_ref: 43,
        8951  +
        low_ref: 42,
        8952  +
    },
        8953  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8954  +
        condition_index: 22,
        8955  +
        high_ref: 44,
        8956  +
        low_ref: 42,
        8957  +
    },
        8958  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8959  +
        condition_index: 21,
        8960  +
        high_ref: 45,
        8961  +
        low_ref: 42,
        8962  +
    },
        8963  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8964  +
        condition_index: 20,
        8965  +
        high_ref: 46,
        8966  +
        low_ref: 42,
        8967  +
    },
        8968  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8969  +
        condition_index: 19,
        8970  +
        high_ref: 47,
        8971  +
        low_ref: 42,
        8972  +
    },
        8973  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8974  +
        condition_index: 18,
        8975  +
        high_ref: 48,
        8976  +
        low_ref: 42,
        8977  +
    },
        8978  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8979  +
        condition_index: 17,
        8980  +
        high_ref: 100000022,
        8981  +
        low_ref: 49,
        8982  +
    },
        8983  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8984  +
        condition_index: 16,
        8985  +
        high_ref: 50,
        8986  +
        low_ref: 49,
        8987  +
    },
        8988  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8989  +
        condition_index: 15,
        8990  +
        high_ref: 51,
        8991  +
        low_ref: 49,
        8992  +
    },
        8993  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8994  +
        condition_index: 14,
        8995  +
        high_ref: 52,
        8996  +
        low_ref: 49,
        8997  +
    },
        8998  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        8999  +
        condition_index: 13,
        9000  +
        high_ref: 53,
        9001  +
        low_ref: 49,
        9002  +
    },
        9003  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        9004  +
        condition_index: 12,
        9005  +
        high_ref: 54,
        9006  +
        low_ref: 49,
        9007  +
    },
        9008  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        9009  +
        condition_index: 11,
        9010  +
        high_ref: 40,
        9011  +
        low_ref: 55,
        9012  +
    },
        9013  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        9014  +
        condition_index: 26,
        9015  +
        high_ref: 100000019,
        9016  +
        low_ref: 100000011,
        9017  +
    },
        9018  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        9019  +
        condition_index: 10,
        9020  +
        high_ref: 56,
        9021  +
        low_ref: 57,
        9022  +
    },
        9023  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        9024  +
        condition_index: 9,
        9025  +
        high_ref: 58,
        9026  +
        low_ref: 100000011,
        9027  +
    },
        9028  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        9029  +
        condition_index: 6,
        9030  +
        high_ref: 39,
        9031  +
        low_ref: 59,
        9032  +
    },
        9033  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        9034  +
        condition_index: 4,
        9035  +
        high_ref: 18,
        9036  +
        low_ref: 60,
        9037  +
    },
        9038  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        9039  +
        condition_index: 3,
        9040  +
        high_ref: 61,
        9041  +
        low_ref: 100000025,
        9042  +
    },
        9043  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        9044  +
        condition_index: 2,
        9045  +
        high_ref: 17,
        9046  +
        low_ref: 62,
        9047  +
    },
        9048  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        9049  +
        condition_index: 1,
        9050  +
        high_ref: 6,
        9051  +
        low_ref: 63,
        9052  +
    },
        9053  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        9054  +
        condition_index: 2,
        9055  +
        high_ref: 100000001,
        9056  +
        low_ref: 4,
        9057  +
    },
        9058  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        9059  +
        condition_index: 1,
        9060  +
        high_ref: 65,
        9061  +
        low_ref: 100000025,
        9062  +
    },
        9063  +
    crate::endpoint_lib::bdd_interpreter::BddNode {
        9064  +
        condition_index: 0,
        9065  +
        high_ref: 64,
        9066  +
        low_ref: 66,
        9067  +
    },
        9068  +
];
        9069  +
// These are all optional since they are set by conditions and will
        9070  +
// all be unset when we start evaluation
        9071  +
#[derive(Default)]
        9072  +
#[allow(unused_lifetimes)]
        9073  +
pub(crate) struct ConditionContext<'a> {
        9074  +
    pub(crate) partition_result: Option<crate::endpoint_lib::partition::Partition<'a>>,
        9075  +
    pub(crate) parsed_arn_ssa_2: Option<crate::endpoint_lib::arn::Arn<'a>>,
        9076  +
    pub(crate) first_arn: Option<&'a str>,
        9077  +
    pub(crate) parsed_arn_ssa_1: Option<crate::endpoint_lib::arn::Arn<'a>>,
        9078  +
    // Sometimes none of the members reference the lifetime, this makes it still valid
        9079  +
    phantom: std::marker::PhantomData<&'a ()>,
        9080  +
}
 8197   9081   
 8198   9082   
#[non_exhaustive]
 8199   9083   
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
 8200   9084   
/// Configuration parameters for resolving the correct endpoint
 8201   9085   
pub struct Params {
 8202   9086   
    /// The AWS region used to dispatch the request.
 8203   9087   
    pub(crate) region: ::std::option::Option<::std::string::String>,
 8204   9088   
    /// When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
 8205   9089   
    pub(crate) use_dual_stack: bool,
 8206   9090   
    /// 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.
@@ -8443,9327 +8474,0 @@
 8463   9347   
impl std::fmt::Display for InvalidParams {
 8464   9348   
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
 8465   9349   
        match self.kind {
 8466   9350   
            InvalidParamsErrorKind::MissingField => write!(f, "a required field was missing: `{}`", self.field),
 8467   9351   
            InvalidParamsErrorKind::InvalidValue { message } => write!(f, "invalid value for field: `{}` - {}", self.field, message),
 8468   9352   
        }
 8469   9353   
    }
 8470   9354   
}
 8471   9355   
 8472   9356   
impl std::error::Error for InvalidParams {}
 8473         -
 8474         -
mod internals;