AWS SDK

AWS SDK

rev. 98036c661a3227e41769d0c184ee5386a362365a

Files changed:

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

@@ -25,25 +85,85 @@
   45     45   
version = "1.11.1"
   46     46   
   47     47   
[dependencies.aws-smithy-runtime-api]
   48     48   
path = "../aws-smithy-runtime-api"
   49     49   
features = ["client", "http-1x"]
   50     50   
version = "1.12.0"
   51     51   
   52     52   
[dependencies.aws-smithy-types]
   53     53   
path = "../aws-smithy-types"
   54     54   
features = ["http-body-1-x"]
   55         -
version = "1.4.7"
          55  +
version = "1.4.8"
   56     56   
   57     57   
[dependencies.aws-types]
   58     58   
path = "../aws-types"
   59     59   
version = "1.3.15"
   60     60   
   61     61   
[dependencies.bytes]
   62     62   
version = "1.4.0"
   63     63   
   64     64   
[dependencies.fastrand]
   65     65   
version = "2.0.0"
@@ -90,90 +148,148 @@
  110    110   
version = "1.11.1"
  111    111   
  112    112   
[dev-dependencies.aws-smithy-runtime-api]
  113    113   
path = "../aws-smithy-runtime-api"
  114    114   
features = ["test-util"]
  115    115   
version = "1.12.0"
  116    116   
  117    117   
[dev-dependencies.aws-smithy-types]
  118    118   
path = "../aws-smithy-types"
  119    119   
features = ["http-body-1-x", "test-util"]
  120         -
version = "1.4.7"
         120  +
version = "1.4.8"
  121    121   
  122    122   
[dev-dependencies.futures-util]
  123    123   
version = "0.3.25"
  124    124   
features = ["alloc"]
  125    125   
default-features = false
  126    126   
  127    127   
[dev-dependencies.proptest]
  128    128   
version = "1"
  129    129   
  130    130   
[dev-dependencies.serde_json]

tmp-codegen-diff/aws-sdk/sdk/kms/src/endpoint_lib/host.rs

@@ -1,1 +72,100 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/*
    3      3   
 *  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
    4      4   
 *  SPDX-License-Identifier: Apache-2.0
    5      5   
 */
    6      6   
    7      7   
use crate::endpoint_lib::diagnostic::DiagnosticCollector;
    8      8   
    9      9   
pub(crate) fn is_valid_host_label(label: &str, allow_dots: bool, e: &mut DiagnosticCollector) -> bool {
          10  +
    let bytes = label.as_bytes();
   10     11   
    if allow_dots {
   11         -
        for part in label.split('.') {
   12         -
            if !is_valid_host_label(part, false, e) {
   13         -
                return false;
          12  +
        let mut start = 0;
          13  +
        for i in 0..bytes.len() {
          14  +
            if bytes[i] == b'.' {
          15  +
                if !is_valid_segment(bytes, start, i, e) {
          16  +
                    return false;
          17  +
                }
          18  +
                start = i + 1;
   14     19   
            }
   15     20   
        }
   16         -
        true
          21  +
        is_valid_segment(bytes, start, bytes.len(), e)
   17     22   
    } else {
   18         -
        if label.is_empty() || label.len() > 63 {
   19         -
            e.report_error("host was too short or too long");
          23  +
        is_valid_segment(bytes, 0, bytes.len(), e)
          24  +
    }
          25  +
}
          26  +
          27  +
#[inline]
          28  +
fn is_valid_segment(bytes: &[u8], start: usize, end: usize, e: &mut DiagnosticCollector) -> bool {
          29  +
    let len = end - start;
          30  +
    if len == 0 || len > 63 {
          31  +
        e.report_error("host was too short or too long");
          32  +
        return false;
          33  +
    }
          34  +
    if bytes[start] == b'-' {
          35  +
        e.report_error("cannot start with `-`");
          36  +
        return false;
          37  +
    }
          38  +
    for &b in &bytes[start..end] {
          39  +
        if !b.is_ascii_alphanumeric() && b != b'-' {
   20     40   
            return false;
   21     41   
        }
   22         -
        label.chars().enumerate().all(|(idx, ch)| match (ch, idx) {
   23         -
            ('-', 0) => {
   24         -
                e.report_error("cannot start with `-`");
   25         -
                false
   26         -
            }
   27         -
            _ => ch.is_alphanumeric() || ch == '-',
   28         -
        })
   29     42   
    }
          43  +
    true
   30     44   
}
   31     45   
   32     46   
#[cfg(all(test, feature = "gated-tests"))]
   33     47   
mod test {
   34     48   
    use proptest::proptest;
   35     49   
   36     50   
    fn is_valid_host_label(label: &str, allow_dots: bool) -> bool {
   37     51   
        super::is_valid_host_label(label, allow_dots, &mut DiagnosticCollector::new())
   38     52   
    }
   39     53   
   40     54   
    #[allow(clippy::bool_assert_comparison)]
   41     55   
    #[test]
   42     56   
    fn basic_cases() {
   43     57   
        assert_eq!(is_valid_host_label("", false), false);
   44     58   
        assert_eq!(is_valid_host_label("", true), false);
   45     59   
        assert_eq!(is_valid_host_label(".", true), false);
   46     60   
        assert_eq!(is_valid_host_label("a.b", true), true);
   47     61   
        assert_eq!(is_valid_host_label("a.b", false), false);
   48     62   
        assert_eq!(is_valid_host_label("a.b.", true), false);
   49     63   
        assert_eq!(is_valid_host_label("a.b.c", true), true);
   50     64   
        assert_eq!(is_valid_host_label("a_b", true), false);
   51     65   
        assert_eq!(is_valid_host_label(&"a".repeat(64), false), false);
   52     66   
        assert_eq!(is_valid_host_label(&format!("{}.{}", "a".repeat(63), "a".repeat(63)), true), true);
   53     67   
    }
   54     68   
   55     69   
    #[allow(clippy::bool_assert_comparison)]
   56     70   
    #[test]
   57     71   
    fn start_bounds() {
   58     72   
        assert_eq!(is_valid_host_label("-foo", false), false);
   59     73   
        assert_eq!(is_valid_host_label("-foo", true), false);
   60     74   
        assert_eq!(is_valid_host_label(".foo", true), false);
   61     75   
        assert_eq!(is_valid_host_label("a-b.foo", true), true);
   62     76   
    }
   63     77   
          78  +
    #[allow(clippy::bool_assert_comparison)]
          79  +
    #[test]
          80  +
    fn non_ascii_rejected() {
          81  +
        // DNS host labels only allow ASCII alphanumeric and hyphens (RFC 952/1123)
          82  +
        assert_eq!(is_valid_host_label("café", false), false);
          83  +
        assert_eq!(is_valid_host_label("bücher", false), false);
          84  +
        assert_eq!(is_valid_host_label("日本語", false), false);
          85  +
        assert_eq!(is_valid_host_label("a.café.b", true), false);
          86  +
        assert_eq!(is_valid_host_label("🚀rocket", false), false);
          87  +
        // ASCII is fine
          88  +
        assert_eq!(is_valid_host_label("abc123", false), true);
          89  +
        assert_eq!(is_valid_host_label("a-b-c", false), true);
          90  +
    }
          91  +
   64     92   
    use crate::endpoint_lib::diagnostic::DiagnosticCollector;
   65     93   
    use proptest::prelude::*;
   66     94   
    proptest! {
   67     95   
        #[test]
   68     96   
        fn no_panics(s in any::<String>(), dots in any::<bool>()) {
   69     97   
            is_valid_host_label(&s, dots);
   70     98   
        }
   71     99   
    }
   72    100   
}

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

@@ -31,31 +91,91 @@
   51     51   
version = "1.11.1"
   52     52   
   53     53   
[dependencies.aws-smithy-runtime-api]
   54     54   
path = "../aws-smithy-runtime-api"
   55     55   
features = ["client", "http-1x"]
   56     56   
version = "1.12.0"
   57     57   
   58     58   
[dependencies.aws-smithy-types]
   59     59   
path = "../aws-smithy-types"
   60     60   
features = ["http-body-1-x"]
   61         -
version = "1.4.7"
          61  +
version = "1.4.8"
   62     62   
   63     63   
[dependencies.aws-types]
   64     64   
path = "../aws-types"
   65     65   
version = "1.3.15"
   66     66   
   67     67   
[dependencies.bytes]
   68     68   
version = "1.4.0"
   69     69   
   70     70   
[dependencies.fastrand]
   71     71   
version = "2.0.0"
@@ -101,101 +161,161 @@
  121    121   
version = "1.11.1"
  122    122   
  123    123   
[dev-dependencies.aws-smithy-runtime-api]
  124    124   
path = "../aws-smithy-runtime-api"
  125    125   
features = ["test-util"]
  126    126   
version = "1.12.0"
  127    127   
  128    128   
[dev-dependencies.aws-smithy-types]
  129    129   
path = "../aws-smithy-types"
  130    130   
features = ["http-body-1-x", "test-util"]
  131         -
version = "1.4.7"
         131  +
version = "1.4.8"
  132    132   
  133    133   
[dev-dependencies.futures-util]
  134    134   
version = "0.3.25"
  135    135   
features = ["alloc"]
  136    136   
default-features = false
  137    137   
  138    138   
[dev-dependencies.proptest]
  139    139   
version = "1"
  140    140   
  141    141   
[dev-dependencies.serde_json]

tmp-codegen-diff/aws-sdk/sdk/lambda/src/endpoint_lib/host.rs

@@ -1,1 +72,100 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/*
    3      3   
 *  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
    4      4   
 *  SPDX-License-Identifier: Apache-2.0
    5      5   
 */
    6      6   
    7      7   
use crate::endpoint_lib::diagnostic::DiagnosticCollector;
    8      8   
    9      9   
pub(crate) fn is_valid_host_label(label: &str, allow_dots: bool, e: &mut DiagnosticCollector) -> bool {
          10  +
    let bytes = label.as_bytes();
   10     11   
    if allow_dots {
   11         -
        for part in label.split('.') {
   12         -
            if !is_valid_host_label(part, false, e) {
   13         -
                return false;
          12  +
        let mut start = 0;
          13  +
        for i in 0..bytes.len() {
          14  +
            if bytes[i] == b'.' {
          15  +
                if !is_valid_segment(bytes, start, i, e) {
          16  +
                    return false;
          17  +
                }
          18  +
                start = i + 1;
   14     19   
            }
   15     20   
        }
   16         -
        true
          21  +
        is_valid_segment(bytes, start, bytes.len(), e)
   17     22   
    } else {
   18         -
        if label.is_empty() || label.len() > 63 {
   19         -
            e.report_error("host was too short or too long");
          23  +
        is_valid_segment(bytes, 0, bytes.len(), e)
          24  +
    }
          25  +
}
          26  +
          27  +
#[inline]
          28  +
fn is_valid_segment(bytes: &[u8], start: usize, end: usize, e: &mut DiagnosticCollector) -> bool {
          29  +
    let len = end - start;
          30  +
    if len == 0 || len > 63 {
          31  +
        e.report_error("host was too short or too long");
          32  +
        return false;
          33  +
    }
          34  +
    if bytes[start] == b'-' {
          35  +
        e.report_error("cannot start with `-`");
          36  +
        return false;
          37  +
    }
          38  +
    for &b in &bytes[start..end] {
          39  +
        if !b.is_ascii_alphanumeric() && b != b'-' {
   20     40   
            return false;
   21     41   
        }
   22         -
        label.chars().enumerate().all(|(idx, ch)| match (ch, idx) {
   23         -
            ('-', 0) => {
   24         -
                e.report_error("cannot start with `-`");
   25         -
                false
   26         -
            }
   27         -
            _ => ch.is_alphanumeric() || ch == '-',
   28         -
        })
   29     42   
    }
          43  +
    true
   30     44   
}
   31     45   
   32     46   
#[cfg(all(test, feature = "gated-tests"))]
   33     47   
mod test {
   34     48   
    use proptest::proptest;
   35     49   
   36     50   
    fn is_valid_host_label(label: &str, allow_dots: bool) -> bool {
   37     51   
        super::is_valid_host_label(label, allow_dots, &mut DiagnosticCollector::new())
   38     52   
    }
   39     53   
   40     54   
    #[allow(clippy::bool_assert_comparison)]
   41     55   
    #[test]
   42     56   
    fn basic_cases() {
   43     57   
        assert_eq!(is_valid_host_label("", false), false);
   44     58   
        assert_eq!(is_valid_host_label("", true), false);
   45     59   
        assert_eq!(is_valid_host_label(".", true), false);
   46     60   
        assert_eq!(is_valid_host_label("a.b", true), true);
   47     61   
        assert_eq!(is_valid_host_label("a.b", false), false);
   48     62   
        assert_eq!(is_valid_host_label("a.b.", true), false);
   49     63   
        assert_eq!(is_valid_host_label("a.b.c", true), true);
   50     64   
        assert_eq!(is_valid_host_label("a_b", true), false);
   51     65   
        assert_eq!(is_valid_host_label(&"a".repeat(64), false), false);
   52     66   
        assert_eq!(is_valid_host_label(&format!("{}.{}", "a".repeat(63), "a".repeat(63)), true), true);
   53     67   
    }
   54     68   
   55     69   
    #[allow(clippy::bool_assert_comparison)]
   56     70   
    #[test]
   57     71   
    fn start_bounds() {
   58     72   
        assert_eq!(is_valid_host_label("-foo", false), false);
   59     73   
        assert_eq!(is_valid_host_label("-foo", true), false);
   60     74   
        assert_eq!(is_valid_host_label(".foo", true), false);
   61     75   
        assert_eq!(is_valid_host_label("a-b.foo", true), true);
   62     76   
    }
   63     77   
          78  +
    #[allow(clippy::bool_assert_comparison)]
          79  +
    #[test]
          80  +
    fn non_ascii_rejected() {
          81  +
        // DNS host labels only allow ASCII alphanumeric and hyphens (RFC 952/1123)
          82  +
        assert_eq!(is_valid_host_label("café", false), false);
          83  +
        assert_eq!(is_valid_host_label("bücher", false), false);
          84  +
        assert_eq!(is_valid_host_label("日本語", false), false);
          85  +
        assert_eq!(is_valid_host_label("a.café.b", true), false);
          86  +
        assert_eq!(is_valid_host_label("🚀rocket", false), false);
          87  +
        // ASCII is fine
          88  +
        assert_eq!(is_valid_host_label("abc123", false), true);
          89  +
        assert_eq!(is_valid_host_label("a-b-c", false), true);
          90  +
    }
          91  +
   64     92   
    use crate::endpoint_lib::diagnostic::DiagnosticCollector;
   65     93   
    use proptest::prelude::*;
   66     94   
    proptest! {
   67     95   
        #[test]
   68     96   
        fn no_panics(s in any::<String>(), dots in any::<bool>()) {
   69     97   
            is_valid_host_label(&s, dots);
   70     98   
        }
   71     99   
    }
   72    100   
}

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

@@ -29,29 +89,89 @@
   49     49   
version = "1.11.1"
   50     50   
   51     51   
[dependencies.aws-smithy-runtime-api]
   52     52   
path = "../aws-smithy-runtime-api"
   53     53   
features = ["client", "http-1x", "http-02x"]
   54     54   
version = "1.12.0"
   55     55   
   56     56   
[dependencies.aws-smithy-types]
   57     57   
path = "../aws-smithy-types"
   58     58   
features = ["http-body-1-x"]
   59         -
version = "1.4.7"
          59  +
version = "1.4.8"
   60     60   
   61     61   
[dependencies.aws-types]
   62     62   
path = "../aws-types"
   63     63   
version = "1.3.15"
   64     64   
   65     65   
[dependencies.bytes]
   66     66   
version = "1.4.0"
   67     67   
   68     68   
[dependencies.fastrand]
   69     69   
version = "2.0.0"
@@ -98,98 +157,157 @@
  118    118   
version = "1.11.1"
  119    119   
  120    120   
[dev-dependencies.aws-smithy-runtime-api]
  121    121   
path = "../aws-smithy-runtime-api"
  122    122   
features = ["test-util"]
  123    123   
version = "1.12.0"
  124    124   
  125    125   
[dev-dependencies.aws-smithy-types]
  126    126   
path = "../aws-smithy-types"
  127    127   
features = ["http-body-1-x", "test-util"]
  128         -
version = "1.4.7"
         128  +
version = "1.4.8"
  129    129   
  130    130   
[dev-dependencies.futures-util]
  131    131   
version = "0.3.25"
  132    132   
features = ["alloc"]
  133    133   
default-features = false
  134    134   
  135    135   
[dev-dependencies.proptest]
  136    136   
version = "1"
  137    137   
  138    138   
[dev-dependencies.serde_json]

tmp-codegen-diff/aws-sdk/sdk/polly/src/endpoint_lib/host.rs

@@ -1,1 +72,100 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/*
    3      3   
 *  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
    4      4   
 *  SPDX-License-Identifier: Apache-2.0
    5      5   
 */
    6      6   
    7      7   
use crate::endpoint_lib::diagnostic::DiagnosticCollector;
    8      8   
    9      9   
pub(crate) fn is_valid_host_label(label: &str, allow_dots: bool, e: &mut DiagnosticCollector) -> bool {
          10  +
    let bytes = label.as_bytes();
   10     11   
    if allow_dots {
   11         -
        for part in label.split('.') {
   12         -
            if !is_valid_host_label(part, false, e) {
   13         -
                return false;
          12  +
        let mut start = 0;
          13  +
        for i in 0..bytes.len() {
          14  +
            if bytes[i] == b'.' {
          15  +
                if !is_valid_segment(bytes, start, i, e) {
          16  +
                    return false;
          17  +
                }
          18  +
                start = i + 1;
   14     19   
            }
   15     20   
        }
   16         -
        true
          21  +
        is_valid_segment(bytes, start, bytes.len(), e)
   17     22   
    } else {
   18         -
        if label.is_empty() || label.len() > 63 {
   19         -
            e.report_error("host was too short or too long");
          23  +
        is_valid_segment(bytes, 0, bytes.len(), e)
          24  +
    }
          25  +
}
          26  +
          27  +
#[inline]
          28  +
fn is_valid_segment(bytes: &[u8], start: usize, end: usize, e: &mut DiagnosticCollector) -> bool {
          29  +
    let len = end - start;
          30  +
    if len == 0 || len > 63 {
          31  +
        e.report_error("host was too short or too long");
          32  +
        return false;
          33  +
    }
          34  +
    if bytes[start] == b'-' {
          35  +
        e.report_error("cannot start with `-`");
          36  +
        return false;
          37  +
    }
          38  +
    for &b in &bytes[start..end] {
          39  +
        if !b.is_ascii_alphanumeric() && b != b'-' {
   20     40   
            return false;
   21     41   
        }
   22         -
        label.chars().enumerate().all(|(idx, ch)| match (ch, idx) {
   23         -
            ('-', 0) => {
   24         -
                e.report_error("cannot start with `-`");
   25         -
                false
   26         -
            }
   27         -
            _ => ch.is_alphanumeric() || ch == '-',
   28         -
        })
   29     42   
    }
          43  +
    true
   30     44   
}
   31     45   
   32     46   
#[cfg(all(test, feature = "gated-tests"))]
   33     47   
mod test {
   34     48   
    use proptest::proptest;
   35     49   
   36     50   
    fn is_valid_host_label(label: &str, allow_dots: bool) -> bool {
   37     51   
        super::is_valid_host_label(label, allow_dots, &mut DiagnosticCollector::new())
   38     52   
    }
   39     53   
   40     54   
    #[allow(clippy::bool_assert_comparison)]
   41     55   
    #[test]
   42     56   
    fn basic_cases() {
   43     57   
        assert_eq!(is_valid_host_label("", false), false);
   44     58   
        assert_eq!(is_valid_host_label("", true), false);
   45     59   
        assert_eq!(is_valid_host_label(".", true), false);
   46     60   
        assert_eq!(is_valid_host_label("a.b", true), true);
   47     61   
        assert_eq!(is_valid_host_label("a.b", false), false);
   48     62   
        assert_eq!(is_valid_host_label("a.b.", true), false);
   49     63   
        assert_eq!(is_valid_host_label("a.b.c", true), true);
   50     64   
        assert_eq!(is_valid_host_label("a_b", true), false);
   51     65   
        assert_eq!(is_valid_host_label(&"a".repeat(64), false), false);
   52     66   
        assert_eq!(is_valid_host_label(&format!("{}.{}", "a".repeat(63), "a".repeat(63)), true), true);
   53     67   
    }
   54     68   
   55     69   
    #[allow(clippy::bool_assert_comparison)]
   56     70   
    #[test]
   57     71   
    fn start_bounds() {
   58     72   
        assert_eq!(is_valid_host_label("-foo", false), false);
   59     73   
        assert_eq!(is_valid_host_label("-foo", true), false);
   60     74   
        assert_eq!(is_valid_host_label(".foo", true), false);
   61     75   
        assert_eq!(is_valid_host_label("a-b.foo", true), true);
   62     76   
    }
   63     77   
          78  +
    #[allow(clippy::bool_assert_comparison)]
          79  +
    #[test]
          80  +
    fn non_ascii_rejected() {
          81  +
        // DNS host labels only allow ASCII alphanumeric and hyphens (RFC 952/1123)
          82  +
        assert_eq!(is_valid_host_label("café", false), false);
          83  +
        assert_eq!(is_valid_host_label("bücher", false), false);
          84  +
        assert_eq!(is_valid_host_label("日本語", false), false);
          85  +
        assert_eq!(is_valid_host_label("a.café.b", true), false);
          86  +
        assert_eq!(is_valid_host_label("🚀rocket", false), false);
          87  +
        // ASCII is fine
          88  +
        assert_eq!(is_valid_host_label("abc123", false), true);
          89  +
        assert_eq!(is_valid_host_label("a-b-c", false), true);
          90  +
    }
          91  +
   64     92   
    use crate::endpoint_lib::diagnostic::DiagnosticCollector;
   65     93   
    use proptest::prelude::*;
   66     94   
    proptest! {
   67     95   
        #[test]
   68     96   
        fn no_panics(s in any::<String>(), dots in any::<bool>()) {
   69     97   
            is_valid_host_label(&s, dots);
   70     98   
        }
   71     99   
    }
   72    100   
}

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

@@ -25,25 +85,85 @@
   45     45   
version = "1.11.1"
   46     46   
   47     47   
[dependencies.aws-smithy-runtime-api]
   48     48   
path = "../aws-smithy-runtime-api"
   49     49   
features = ["client", "http-1x"]
   50     50   
version = "1.12.0"
   51     51   
   52     52   
[dependencies.aws-smithy-types]
   53     53   
path = "../aws-smithy-types"
   54     54   
features = ["http-body-1-x"]
   55         -
version = "1.4.7"
          55  +
version = "1.4.8"
   56     56   
   57     57   
[dependencies.aws-smithy-xml]
   58     58   
path = "../aws-smithy-xml"
   59     59   
version = "0.60.15"
   60     60   
   61     61   
[dependencies.aws-types]
   62     62   
path = "../aws-types"
   63     63   
version = "1.3.15"
   64     64   
   65     65   
[dependencies.fastrand]

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

@@ -19,19 +250,250 @@
   39     39   
        #[allow(unused_variables)]
   40     40   
        if let Some(partition_result) = partition_resolver.resolve_partition(region.as_ref() as &str, _diagnostic_collector) {
   41     41   
            if (partition_result.name()) == ("aws") {
   42     42   
                if (*use_fips) == (false) {
   43     43   
                    if (*use_dual_stack) == (false) {
   44     44   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
   45     45   
                            .url("https://route53.amazonaws.com".to_string())
   46     46   
                            .property(
   47     47   
                                "authSchemes",
   48     48   
                                vec![::aws_smithy_types::Document::from({
   49         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
          49  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(3);
   50     50   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
   51     51   
                                    out.insert("signingName".to_string(), "route53".to_string().into());
   52     52   
                                    out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
   53     53   
                                    out
   54     54   
                                })],
   55     55   
                            )
   56     56   
                            .build());
   57     57   
                    }
   58     58   
                }
   59     59   
            }
   60     60   
            if (partition_result.name()) == ("aws") {
   61     61   
                if (*use_fips) == (true) {
   62     62   
                    if (*use_dual_stack) == (false) {
   63     63   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
   64     64   
                            .url("https://route53-fips.amazonaws.com".to_string())
   65     65   
                            .property(
   66     66   
                                "authSchemes",
   67     67   
                                vec![::aws_smithy_types::Document::from({
   68         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
          68  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(3);
   69     69   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
   70     70   
                                    out.insert("signingName".to_string(), "route53".to_string().into());
   71     71   
                                    out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
   72     72   
                                    out
   73     73   
                                })],
   74     74   
                            )
   75     75   
                            .build());
   76     76   
                    }
   77     77   
                }
   78     78   
            }
   79     79   
            if (partition_result.name()) == ("aws-cn") {
   80     80   
                if (*use_fips) == (false) {
   81     81   
                    if (*use_dual_stack) == (false) {
   82     82   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
   83     83   
                            .url("https://route53.amazonaws.com.cn".to_string())
   84     84   
                            .property(
   85     85   
                                "authSchemes",
   86     86   
                                vec![::aws_smithy_types::Document::from({
   87         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
          87  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(3);
   88     88   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
   89     89   
                                    out.insert("signingName".to_string(), "route53".to_string().into());
   90     90   
                                    out.insert("signingRegion".to_string(), "cn-northwest-1".to_string().into());
   91     91   
                                    out
   92     92   
                                })],
   93     93   
                            )
   94     94   
                            .build());
   95     95   
                    }
   96     96   
                }
   97     97   
            }
   98     98   
            if (partition_result.name()) == ("aws-us-gov") {
   99     99   
                if (*use_fips) == (false) {
  100    100   
                    if (*use_dual_stack) == (false) {
  101    101   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  102    102   
                            .url("https://route53.us-gov.amazonaws.com".to_string())
  103    103   
                            .property(
  104    104   
                                "authSchemes",
  105    105   
                                vec![::aws_smithy_types::Document::from({
  106         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         106  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(3);
  107    107   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  108    108   
                                    out.insert("signingName".to_string(), "route53".to_string().into());
  109    109   
                                    out.insert("signingRegion".to_string(), "us-gov-west-1".to_string().into());
  110    110   
                                    out
  111    111   
                                })],
  112    112   
                            )
  113    113   
                            .build());
  114    114   
                    }
  115    115   
                }
  116    116   
            }
  117    117   
            if (partition_result.name()) == ("aws-us-gov") {
  118    118   
                if (*use_fips) == (true) {
  119    119   
                    if (*use_dual_stack) == (false) {
  120    120   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  121    121   
                            .url("https://route53.us-gov.amazonaws.com".to_string())
  122    122   
                            .property(
  123    123   
                                "authSchemes",
  124    124   
                                vec![::aws_smithy_types::Document::from({
  125         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         125  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(3);
  126    126   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  127    127   
                                    out.insert("signingName".to_string(), "route53".to_string().into());
  128    128   
                                    out.insert("signingRegion".to_string(), "us-gov-west-1".to_string().into());
  129    129   
                                    out
  130    130   
                                })],
  131    131   
                            )
  132    132   
                            .build());
  133    133   
                    }
  134    134   
                }
  135    135   
            }
  136    136   
            if (partition_result.name()) == ("aws-iso") {
  137    137   
                if (*use_fips) == (false) {
  138    138   
                    if (*use_dual_stack) == (false) {
  139    139   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  140    140   
                            .url("https://route53.c2s.ic.gov".to_string())
  141    141   
                            .property(
  142    142   
                                "authSchemes",
  143    143   
                                vec![::aws_smithy_types::Document::from({
  144         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         144  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(3);
  145    145   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  146    146   
                                    out.insert("signingName".to_string(), "route53".to_string().into());
  147    147   
                                    out.insert("signingRegion".to_string(), "us-iso-east-1".to_string().into());
  148    148   
                                    out
  149    149   
                                })],
  150    150   
                            )
  151    151   
                            .build());
  152    152   
                    }
  153    153   
                }
  154    154   
            }
  155    155   
            if (partition_result.name()) == ("aws-iso-b") {
  156    156   
                if (*use_fips) == (false) {
  157    157   
                    if (*use_dual_stack) == (false) {
  158    158   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  159    159   
                            .url("https://route53.sc2s.sgov.gov".to_string())
  160    160   
                            .property(
  161    161   
                                "authSchemes",
  162    162   
                                vec![::aws_smithy_types::Document::from({
  163         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         163  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(3);
  164    164   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  165    165   
                                    out.insert("signingName".to_string(), "route53".to_string().into());
  166    166   
                                    out.insert("signingRegion".to_string(), "us-isob-east-1".to_string().into());
  167    167   
                                    out
  168    168   
                                })],
  169    169   
                            )
  170    170   
                            .build());
  171    171   
                    }
  172    172   
                }
  173    173   
            }
  174    174   
            if (partition_result.name()) == ("aws-iso-e") {
  175    175   
                if (*use_fips) == (false) {
  176    176   
                    if (*use_dual_stack) == (false) {
  177    177   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  178    178   
                            .url("https://route53.cloud.adc-e.uk".to_string())
  179    179   
                            .property(
  180    180   
                                "authSchemes",
  181    181   
                                vec![::aws_smithy_types::Document::from({
  182         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         182  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(3);
  183    183   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  184    184   
                                    out.insert("signingName".to_string(), "route53".to_string().into());
  185    185   
                                    out.insert("signingRegion".to_string(), "eu-isoe-west-1".to_string().into());
  186    186   
                                    out
  187    187   
                                })],
  188    188   
                            )
  189    189   
                            .build());
  190    190   
                    }
  191    191   
                }
  192    192   
            }
  193    193   
            if (partition_result.name()) == ("aws-iso-f") {
  194    194   
                if (*use_fips) == (false) {
  195    195   
                    if (*use_dual_stack) == (false) {
  196    196   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  197    197   
                            .url("https://route53.csp.hci.ic.gov".to_string())
  198    198   
                            .property(
  199    199   
                                "authSchemes",
  200    200   
                                vec![::aws_smithy_types::Document::from({
  201         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         201  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(3);
  202    202   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  203    203   
                                    out.insert("signingName".to_string(), "route53".to_string().into());
  204    204   
                                    out.insert("signingRegion".to_string(), "us-isof-south-1".to_string().into());
  205    205   
                                    out
  206    206   
                                })],
  207    207   
                            )
  208    208   
                            .build());
  209    209   
                    }
  210    210   
                }
  211    211   
            }
  212    212   
            if (partition_result.name()) == ("aws-eusc") {
  213    213   
                if (*use_fips) == (false) {
  214    214   
                    if (*use_dual_stack) == (false) {
  215    215   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  216    216   
                            .url("https://route53.amazonaws.eu".to_string())
  217    217   
                            .property(
  218    218   
                                "authSchemes",
  219    219   
                                vec![::aws_smithy_types::Document::from({
  220         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         220  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(3);
  221    221   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  222    222   
                                    out.insert("signingName".to_string(), "route53".to_string().into());
  223    223   
                                    out.insert("signingRegion".to_string(), "eusc-de-east-1".to_string().into());
  224    224   
                                    out
  225    225   
                                })],
  226    226   
                            )
  227    227   
                            .build());
  228    228   
                    }
  229    229   
                }
  230    230   
            }

tmp-codegen-diff/aws-sdk/sdk/route53/src/endpoint_lib/host.rs

@@ -1,1 +72,100 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
/*
    3      3   
 *  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
    4      4   
 *  SPDX-License-Identifier: Apache-2.0
    5      5   
 */
    6      6   
    7      7   
use crate::endpoint_lib::diagnostic::DiagnosticCollector;
    8      8   
    9      9   
pub(crate) fn is_valid_host_label(label: &str, allow_dots: bool, e: &mut DiagnosticCollector) -> bool {
          10  +
    let bytes = label.as_bytes();
   10     11   
    if allow_dots {
   11         -
        for part in label.split('.') {
   12         -
            if !is_valid_host_label(part, false, e) {
   13         -
                return false;
          12  +
        let mut start = 0;
          13  +
        for i in 0..bytes.len() {
          14  +
            if bytes[i] == b'.' {
          15  +
                if !is_valid_segment(bytes, start, i, e) {
          16  +
                    return false;
          17  +
                }
          18  +
                start = i + 1;
   14     19   
            }
   15     20   
        }
   16         -
        true
          21  +
        is_valid_segment(bytes, start, bytes.len(), e)
   17     22   
    } else {
   18         -
        if label.is_empty() || label.len() > 63 {
   19         -
            e.report_error("host was too short or too long");
          23  +
        is_valid_segment(bytes, 0, bytes.len(), e)
          24  +
    }
          25  +
}
          26  +
          27  +
#[inline]
          28  +
fn is_valid_segment(bytes: &[u8], start: usize, end: usize, e: &mut DiagnosticCollector) -> bool {
          29  +
    let len = end - start;
          30  +
    if len == 0 || len > 63 {
          31  +
        e.report_error("host was too short or too long");
          32  +
        return false;
          33  +
    }
          34  +
    if bytes[start] == b'-' {
          35  +
        e.report_error("cannot start with `-`");
          36  +
        return false;
          37  +
    }
          38  +
    for &b in &bytes[start..end] {
          39  +
        if !b.is_ascii_alphanumeric() && b != b'-' {
   20     40   
            return false;
   21     41   
        }
   22         -
        label.chars().enumerate().all(|(idx, ch)| match (ch, idx) {
   23         -
            ('-', 0) => {
   24         -
                e.report_error("cannot start with `-`");
   25         -
                false
   26         -
            }
   27         -
            _ => ch.is_alphanumeric() || ch == '-',
   28         -
        })
   29     42   
    }
          43  +
    true
   30     44   
}
   31     45   
   32     46   
#[cfg(all(test, feature = "gated-tests"))]
   33     47   
mod test {
   34     48   
    use proptest::proptest;
   35     49   
   36     50   
    fn is_valid_host_label(label: &str, allow_dots: bool) -> bool {
   37     51   
        super::is_valid_host_label(label, allow_dots, &mut DiagnosticCollector::new())
   38     52   
    }
   39     53   
   40     54   
    #[allow(clippy::bool_assert_comparison)]
   41     55   
    #[test]
   42     56   
    fn basic_cases() {
   43     57   
        assert_eq!(is_valid_host_label("", false), false);
   44     58   
        assert_eq!(is_valid_host_label("", true), false);
   45     59   
        assert_eq!(is_valid_host_label(".", true), false);
   46     60   
        assert_eq!(is_valid_host_label("a.b", true), true);
   47     61   
        assert_eq!(is_valid_host_label("a.b", false), false);
   48     62   
        assert_eq!(is_valid_host_label("a.b.", true), false);
   49     63   
        assert_eq!(is_valid_host_label("a.b.c", true), true);
   50     64   
        assert_eq!(is_valid_host_label("a_b", true), false);
   51     65   
        assert_eq!(is_valid_host_label(&"a".repeat(64), false), false);
   52     66   
        assert_eq!(is_valid_host_label(&format!("{}.{}", "a".repeat(63), "a".repeat(63)), true), true);
   53     67   
    }
   54     68   
   55     69   
    #[allow(clippy::bool_assert_comparison)]
   56     70   
    #[test]
   57     71   
    fn start_bounds() {
   58     72   
        assert_eq!(is_valid_host_label("-foo", false), false);
   59     73   
        assert_eq!(is_valid_host_label("-foo", true), false);
   60     74   
        assert_eq!(is_valid_host_label(".foo", true), false);
   61     75   
        assert_eq!(is_valid_host_label("a-b.foo", true), true);
   62     76   
    }
   63     77   
          78  +
    #[allow(clippy::bool_assert_comparison)]
          79  +
    #[test]
          80  +
    fn non_ascii_rejected() {
          81  +
        // DNS host labels only allow ASCII alphanumeric and hyphens (RFC 952/1123)
          82  +
        assert_eq!(is_valid_host_label("café", false), false);
          83  +
        assert_eq!(is_valid_host_label("bücher", false), false);
          84  +
        assert_eq!(is_valid_host_label("日本語", false), false);
          85  +
        assert_eq!(is_valid_host_label("a.café.b", true), false);
          86  +
        assert_eq!(is_valid_host_label("🚀rocket", false), false);
          87  +
        // ASCII is fine
          88  +
        assert_eq!(is_valid_host_label("abc123", false), true);
          89  +
        assert_eq!(is_valid_host_label("a-b-c", false), true);
          90  +
    }
          91  +
   64     92   
    use crate::endpoint_lib::diagnostic::DiagnosticCollector;
   65     93   
    use proptest::prelude::*;
   66     94   
    proptest! {
   67     95   
        #[test]
   68     96   
        fn no_panics(s in any::<String>(), dots in any::<bool>()) {
   69     97   
            is_valid_host_label(&s, dots);
   70     98   
        }
   71     99   
    }
   72    100   
}

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

@@ -1,1 +99,102 @@
    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#restXml"
   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   
features = ["http-02x", "event-stream", "http-1x"]
   25     28   
version = "1.7.3"
   26     29   
   27     30   
[dependencies.aws-sigv4]
   28     31   
path = "../aws-sigv4"
   29     32   
version = "1.4.3"
   30     33   
   31     34   
[dependencies.aws-smithy-async]
   32     35   
path = "../aws-smithy-async"
   33     36   
version = "1.2.14"
   34     37   
   35     38   
[dependencies.aws-smithy-checksums]
   36     39   
path = "../aws-smithy-checksums"
   37     40   
version = "0.64.7"
   38     41   
   39     42   
[dependencies.aws-smithy-eventstream]
   40     43   
path = "../aws-smithy-eventstream"
   41     44   
version = "0.60.20"
   42     45   
   43     46   
[dependencies.aws-smithy-http]
   44     47   
path = "../aws-smithy-http"
   45     48   
features = ["event-stream"]
   46     49   
version = "0.63.6"
   47     50   
   48     51   
[dependencies.aws-smithy-json]
   49     52   
path = "../aws-smithy-json"
   50     53   
version = "0.62.5"
   51     54   
   52     55   
[dependencies.aws-smithy-observability]
   53     56   
path = "../aws-smithy-observability"
   54     57   
version = "0.2.6"
   55     58   
   56     59   
[dependencies.aws-smithy-runtime]
   57     60   
path = "../aws-smithy-runtime"
   58     61   
features = ["client"]
   59     62   
version = "1.11.1"
   60     63   
   61     64   
[dependencies.aws-smithy-runtime-api]
   62     65   
path = "../aws-smithy-runtime-api"
   63     66   
features = ["client", "http-1x", "http-02x"]
   64     67   
version = "1.12.0"
   65     68   
   66     69   
[dependencies.aws-smithy-types]
   67     70   
path = "../aws-smithy-types"
   68     71   
features = ["http-body-1-x"]
   69         -
version = "1.4.7"
          72  +
version = "1.4.8"
   70     73   
   71     74   
[dependencies.aws-smithy-xml]
   72     75   
path = "../aws-smithy-xml"
   73     76   
version = "0.60.15"
   74     77   
   75     78   
[dependencies.aws-types]
   76     79   
path = "../aws-types"
   77     80   
version = "1.3.15"
   78     81   
   79     82   
[dependencies.bytes]
@@ -143,146 +203,206 @@
  163    166   
version = "1.11.1"
  164    167   
  165    168   
[dev-dependencies.aws-smithy-runtime-api]
  166    169   
path = "../aws-smithy-runtime-api"
  167    170   
features = ["test-util", "client", "http-1x"]
  168    171   
version = "1.12.0"
  169    172   
  170    173   
[dev-dependencies.aws-smithy-types]
  171    174   
path = "../aws-smithy-types"
  172    175   
features = ["http-body-1-x", "test-util"]
  173         -
version = "1.4.7"
         176  +
version = "1.4.8"
  174    177   
  175    178   
[dev-dependencies.bytes-utils]
  176    179   
version = "0.1.0"
  177    180   
  178    181   
[dev-dependencies.futures-util]
  179    182   
version = "0.3.25"
  180    183   
features = ["alloc"]
  181    184   
default-features = false
  182    185   
  183    186   
[dev-dependencies.hdrhistogram]

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

@@ -135,135 +205,199 @@
  155    155   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
  156    156   
            .build()
  157    157   
            .expect("invalid params");
  158    158   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  159    159   
        let endpoint = resolver.resolve_endpoint(&params);
  160    160   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com");
  161    161   
        assert_eq!(
  162    162   
            endpoint,
  163    163   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  164    164   
                .url("https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com")
  165         -
                .property(
  166         -
                    "authSchemes",
  167         -
                    vec![{
  168         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  169         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  170         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  171         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
  172         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  173         -
                        out
  174         -
                    }
  175         -
                    .into()]
         165  +
                .auth_scheme(
         166  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         167  +
                        .put("disableDoubleEncoding", true)
         168  +
                        .put("signingName", "s3".to_string())
         169  +
                        .put("signingRegion", "us-west-2".to_string())
  176    170   
                )
  177    171   
                .build()
  178    172   
        );
  179    173   
    }
  180    174   
  181    175   
    /// Access points: partition does not support FIPS
  182    176   
    #[test]
  183    177   
    fn test_8() {
  184    178   
        let params = crate::config::endpoint::Params::builder()
  185    179   
            .region("cn-north-1".to_string())
@@ -266,260 +406,382 @@
  286    280   
            .build()
  287    281   
            .expect("invalid params");
  288    282   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  289    283   
        let endpoint = resolver.resolve_endpoint(&params);
  290    284   
        let endpoint =
  291    285   
            endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com");
  292    286   
        assert_eq!(
  293    287   
            endpoint,
  294    288   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  295    289   
                .url("https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com")
  296         -
                .property(
  297         -
                    "authSchemes",
  298         -
                    vec![{
  299         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  300         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  301         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  302         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
  303         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  304         -
                        out
  305         -
                    }
  306         -
                    .into()]
         290  +
                .auth_scheme(
         291  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         292  +
                        .put("disableDoubleEncoding", true)
         293  +
                        .put("signingName", "s3".to_string())
         294  +
                        .put("signingRegion", "us-west-2".to_string())
  307    295   
                )
  308    296   
                .build()
  309    297   
        );
  310    298   
    }
  311    299   
  312    300   
    /// Access point ARN with Dualstack
  313    301   
    #[test]
  314    302   
    fn test_14() {
  315    303   
        let params = crate::config::endpoint::Params::builder()
  316    304   
            .region("us-east-1".to_string())
  317    305   
            .use_fips(false)
  318    306   
            .use_dual_stack(true)
  319    307   
            .accelerate(false)
  320    308   
            .disable_access_points(false)
  321    309   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
  322    310   
            .build()
  323    311   
            .expect("invalid params");
  324    312   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  325    313   
        let endpoint = resolver.resolve_endpoint(&params);
  326    314   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.dualstack.us-west-2.amazonaws.com");
  327    315   
        assert_eq!(
  328    316   
            endpoint,
  329    317   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  330    318   
                .url("https://myendpoint-123456789012.s3-accesspoint.dualstack.us-west-2.amazonaws.com")
  331         -
                .property(
  332         -
                    "authSchemes",
  333         -
                    vec![{
  334         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  335         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  336         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  337         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
  338         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  339         -
                        out
  340         -
                    }
  341         -
                    .into()]
         319  +
                .auth_scheme(
         320  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         321  +
                        .put("disableDoubleEncoding", true)
         322  +
                        .put("signingName", "s3".to_string())
         323  +
                        .put("signingRegion", "us-west-2".to_string())
  342    324   
                )
  343    325   
                .build()
  344    326   
        );
  345    327   
    }
  346    328   
  347    329   
    /// vanilla MRAP
  348    330   
    #[test]
  349    331   
    fn test_15() {
  350    332   
        let params = crate::config::endpoint::Params::builder()
  351    333   
            .bucket("arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
  352    334   
            .region("us-east-1".to_string())
  353    335   
            .disable_multi_region_access_points(false)
  354    336   
            .use_fips(false)
  355    337   
            .use_dual_stack(false)
  356    338   
            .accelerate(false)
  357    339   
            .build()
  358    340   
            .expect("invalid params");
  359    341   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  360    342   
        let endpoint = resolver.resolve_endpoint(&params);
  361    343   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com");
  362    344   
        assert_eq!(
  363    345   
            endpoint,
  364    346   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  365    347   
                .url("https://mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com")
  366         -
                .property(
  367         -
                    "authSchemes",
  368         -
                    vec![{
  369         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  370         -
                        out.insert("name".to_string(), "sigv4a".to_string().into());
  371         -
                        out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
  372         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  373         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  374         -
                        out
  375         -
                    }
  376         -
                    .into()]
         348  +
                .auth_scheme(
         349  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
         350  +
                        .put("disableDoubleEncoding", true)
         351  +
                        .put("signingName", "s3".to_string())
         352  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
  377    353   
                )
  378    354   
                .build()
  379    355   
        );
  380    356   
    }
  381    357   
  382    358   
    /// MRAP does not support FIPS
  383    359   
    #[test]
  384    360   
    fn test_16() {
  385    361   
        let params = crate::config::endpoint::Params::builder()
  386    362   
            .bucket("arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
@@ -447,423 +517,487 @@
  467    443   
            .use_dual_stack(true)
  468    444   
            .build()
  469    445   
            .expect("invalid params");
  470    446   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  471    447   
        let endpoint = resolver.resolve_endpoint(&params);
  472    448   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-west-2.amazonaws.com/bucketname");
  473    449   
        assert_eq!(
  474    450   
            endpoint,
  475    451   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  476    452   
                .url("https://s3.dualstack.us-west-2.amazonaws.com/bucketname")
  477         -
                .property(
  478         -
                    "authSchemes",
  479         -
                    vec![{
  480         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  481         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  482         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  483         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
  484         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  485         -
                        out
  486         -
                    }
  487         -
                    .into()]
         453  +
                .auth_scheme(
         454  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         455  +
                        .put("disableDoubleEncoding", true)
         456  +
                        .put("signingName", "s3".to_string())
         457  +
                        .put("signingRegion", "us-west-2".to_string())
  488    458   
                )
  489    459   
                .build()
  490    460   
        );
  491    461   
    }
  492    462   
  493    463   
    /// Dual-stack endpoint + SDK::Host is error
  494    464   
    #[test]
  495    465   
    fn test_21() {
  496    466   
        let params = crate::config::endpoint::Params::builder()
  497    467   
            .bucket("bucketname".to_string())
@@ -519,489 +2509,2150 @@
  539    509   
            .use_fips(false)
  540    510   
            .build()
  541    511   
            .expect("invalid params");
  542    512   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  543    513   
        let endpoint = resolver.resolve_endpoint(&params);
  544    514   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-west-2.amazonaws.com/99_ab");
  545    515   
        assert_eq!(
  546    516   
            endpoint,
  547    517   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  548    518   
                .url("https://s3.dualstack.us-west-2.amazonaws.com/99_ab")
  549         -
                .property(
  550         -
                    "authSchemes",
  551         -
                    vec![{
  552         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  553         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  554         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  555         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
  556         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  557         -
                        out
  558         -
                    }
  559         -
                    .into()]
         519  +
                .auth_scheme(
         520  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         521  +
                        .put("disableDoubleEncoding", true)
         522  +
                        .put("signingName", "s3".to_string())
         523  +
                        .put("signingRegion", "us-west-2".to_string())
  560    524   
                )
  561    525   
                .build()
  562    526   
        );
  563    527   
    }
  564    528   
  565    529   
    /// implicit path style bucket + dualstack
  566    530   
    #[test]
  567    531   
    fn test_24() {
  568    532   
        let params = crate::config::endpoint::Params::builder()
  569    533   
            .accelerate(false)
  570    534   
            .bucket("99_ab".to_string())
  571    535   
            .region("us-west-2".to_string())
  572    536   
            .use_dual_stack(true)
  573    537   
            .use_fips(false)
  574    538   
            .endpoint("http://abc.com".to_string())
  575    539   
            .build()
  576    540   
            .expect("invalid params");
  577    541   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  578    542   
        let endpoint = resolver.resolve_endpoint(&params);
  579    543   
        let error = endpoint
  580    544   
            .expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [implicit path style bucket + dualstack]");
  581    545   
        assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
  582    546   
    }
  583    547   
  584    548   
    /// don't allow URL injections in the bucket
  585    549   
    #[test]
  586    550   
    fn test_25() {
  587    551   
        let params = crate::config::endpoint::Params::builder()
  588    552   
            .bucket("example.com#".to_string())
  589    553   
            .region("us-west-2".to_string())
  590    554   
            .use_dual_stack(false)
  591    555   
            .use_fips(false)
  592    556   
            .accelerate(false)
  593    557   
            .build()
  594    558   
            .expect("invalid params");
  595    559   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  596    560   
        let endpoint = resolver.resolve_endpoint(&params);
  597    561   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/example.com%23");
  598    562   
        assert_eq!(
  599    563   
            endpoint,
  600    564   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  601    565   
                .url("https://s3.us-west-2.amazonaws.com/example.com%23")
  602         -
                .property(
  603         -
                    "authSchemes",
  604         -
                    vec![{
  605         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  606         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  607         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  608         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
  609         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  610         -
                        out
  611         -
                    }
  612         -
                    .into()]
         566  +
                .auth_scheme(
         567  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         568  +
                        .put("disableDoubleEncoding", true)
         569  +
                        .put("signingName", "s3".to_string())
         570  +
                        .put("signingRegion", "us-west-2".to_string())
  613    571   
                )
  614    572   
                .build()
  615    573   
        );
  616    574   
    }
  617    575   
  618    576   
    /// URI encode bucket names in the path
  619    577   
    #[test]
  620    578   
    fn test_26() {
  621    579   
        let params = crate::config::endpoint::Params::builder()
  622    580   
            .bucket("bucket name".to_string())
  623    581   
            .region("us-west-2".to_string())
  624    582   
            .use_dual_stack(false)
  625    583   
            .use_fips(false)
  626    584   
            .accelerate(false)
  627    585   
            .build()
  628    586   
            .expect("invalid params");
  629    587   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  630    588   
        let endpoint = resolver.resolve_endpoint(&params);
  631    589   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/bucket%20name");
  632    590   
        assert_eq!(
  633    591   
            endpoint,
  634    592   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  635    593   
                .url("https://s3.us-west-2.amazonaws.com/bucket%20name")
  636         -
                .property(
  637         -
                    "authSchemes",
  638         -
                    vec![{
  639         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  640         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  641         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  642         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
  643         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  644         -
                        out
  645         -
                    }
  646         -
                    .into()]
         594  +
                .auth_scheme(
         595  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         596  +
                        .put("disableDoubleEncoding", true)
         597  +
                        .put("signingName", "s3".to_string())
         598  +
                        .put("signingRegion", "us-west-2".to_string())
  647    599   
                )
  648    600   
                .build()
  649    601   
        );
  650    602   
    }
  651    603   
  652    604   
    /// scheme is respected
  653    605   
    #[test]
  654    606   
    fn test_27() {
  655    607   
        let params = crate::config::endpoint::Params::builder()
  656    608   
            .accelerate(false)
  657    609   
            .bucket("99_ab".to_string())
  658    610   
            .endpoint("http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
  659    611   
            .region("af-south-1".to_string())
  660    612   
            .use_dual_stack(false)
  661    613   
            .use_fips(false)
  662    614   
            .build()
  663    615   
            .expect("invalid params");
  664    616   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  665    617   
        let endpoint = resolver.resolve_endpoint(&params);
  666    618   
        let endpoint = endpoint.expect("Expected valid endpoint: http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/99_ab");
  667    619   
        assert_eq!(
  668    620   
            endpoint,
  669    621   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  670    622   
                .url("http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/99_ab")
  671         -
                .property(
  672         -
                    "authSchemes",
  673         -
                    vec![{
  674         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  675         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  676         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  677         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
  678         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  679         -
                        out
  680         -
                    }
  681         -
                    .into()]
         623  +
                .auth_scheme(
         624  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         625  +
                        .put("disableDoubleEncoding", true)
         626  +
                        .put("signingName", "s3".to_string())
         627  +
                        .put("signingRegion", "af-south-1".to_string())
  682    628   
                )
  683    629   
                .build()
  684    630   
        );
  685    631   
    }
  686    632   
  687    633   
    /// scheme is respected (virtual addressing)
  688    634   
    #[test]
  689    635   
    fn test_28() {
  690    636   
        let params = crate::config::endpoint::Params::builder()
  691    637   
            .accelerate(false)
  692    638   
            .bucket("bucketname".to_string())
  693    639   
            .endpoint("http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/foo".to_string())
  694    640   
            .region("af-south-1".to_string())
  695    641   
            .use_dual_stack(false)
  696    642   
            .use_fips(false)
  697    643   
            .build()
  698    644   
            .expect("invalid params");
  699    645   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  700    646   
        let endpoint = resolver.resolve_endpoint(&params);
  701    647   
        let endpoint = endpoint.expect("Expected valid endpoint: http://bucketname.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/foo");
  702    648   
        assert_eq!(
  703    649   
            endpoint,
  704    650   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  705    651   
                .url("http://bucketname.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/foo")
  706         -
                .property(
  707         -
                    "authSchemes",
  708         -
                    vec![{
  709         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  710         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  711         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  712         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
  713         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  714         -
                        out
  715         -
                    }
  716         -
                    .into()]
         652  +
                .auth_scheme(
         653  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         654  +
                        .put("disableDoubleEncoding", true)
         655  +
                        .put("signingName", "s3".to_string())
         656  +
                        .put("signingRegion", "af-south-1".to_string())
  717    657   
                )
  718    658   
                .build()
  719    659   
        );
  720    660   
    }
  721    661   
  722    662   
    /// path style + implicit private link
  723    663   
    #[test]
  724    664   
    fn test_29() {
  725    665   
        let params = crate::config::endpoint::Params::builder()
  726    666   
            .accelerate(false)
  727    667   
            .bucket("99_ab".to_string())
  728    668   
            .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
  729    669   
            .region("af-south-1".to_string())
  730    670   
            .use_dual_stack(false)
  731    671   
            .use_fips(false)
  732    672   
            .build()
  733    673   
            .expect("invalid params");
  734    674   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  735    675   
        let endpoint = resolver.resolve_endpoint(&params);
  736    676   
        let endpoint = endpoint.expect("Expected valid endpoint: https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/99_ab");
  737    677   
        assert_eq!(
  738    678   
            endpoint,
  739    679   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  740    680   
                .url("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/99_ab")
  741         -
                .property(
  742         -
                    "authSchemes",
  743         -
                    vec![{
  744         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  745         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  746         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  747         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
  748         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  749         -
                        out
  750         -
                    }
  751         -
                    .into()]
         681  +
                .auth_scheme(
         682  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         683  +
                        .put("disableDoubleEncoding", true)
         684  +
                        .put("signingName", "s3".to_string())
         685  +
                        .put("signingRegion", "af-south-1".to_string())
  752    686   
                )
  753    687   
                .build()
  754    688   
        );
  755    689   
    }
  756    690   
  757    691   
    /// invalid Endpoint override
  758    692   
    #[test]
  759    693   
    fn test_30() {
  760    694   
        let params = crate::config::endpoint::Params::builder()
  761    695   
            .accelerate(false)
  762    696   
            .bucket("bucketname".to_string())
  763    697   
            .endpoint("abcde://nota#url".to_string())
  764    698   
            .region("af-south-1".to_string())
  765    699   
            .use_dual_stack(false)
  766    700   
            .use_fips(false)
  767    701   
            .build()
  768    702   
            .expect("invalid params");
  769    703   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  770    704   
        let endpoint = resolver.resolve_endpoint(&params);
  771    705   
        let error = endpoint.expect_err("expected error: Custom endpoint `abcde://nota#url` was not a valid URI [invalid Endpoint override]");
  772    706   
        assert_eq!(format!("{}", error), "Custom endpoint `abcde://nota#url` was not a valid URI")
  773    707   
    }
  774    708   
  775    709   
    /// using an IPv4 address forces path style
  776    710   
    #[test]
  777    711   
    fn test_31() {
  778    712   
        let params = crate::config::endpoint::Params::builder()
  779    713   
            .accelerate(false)
  780    714   
            .bucket("bucketname".to_string())
  781    715   
            .endpoint("https://123.123.0.1".to_string())
  782    716   
            .region("af-south-1".to_string())
  783    717   
            .use_dual_stack(false)
  784    718   
            .use_fips(false)
  785    719   
            .build()
  786    720   
            .expect("invalid params");
  787    721   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  788    722   
        let endpoint = resolver.resolve_endpoint(&params);
  789    723   
        let endpoint = endpoint.expect("Expected valid endpoint: https://123.123.0.1/bucketname");
  790    724   
        assert_eq!(
  791    725   
            endpoint,
  792    726   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  793    727   
                .url("https://123.123.0.1/bucketname")
  794         -
                .property(
  795         -
                    "authSchemes",
  796         -
                    vec![{
  797         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  798         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  799         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  800         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
  801         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  802         -
                        out
  803         -
                    }
  804         -
                    .into()]
         728  +
                .auth_scheme(
         729  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         730  +
                        .put("disableDoubleEncoding", true)
         731  +
                        .put("signingName", "s3".to_string())
         732  +
                        .put("signingRegion", "af-south-1".to_string())
  805    733   
                )
  806    734   
                .build()
  807    735   
        );
  808    736   
    }
  809    737   
  810    738   
    /// vanilla access point arn with region mismatch and UseArnRegion=false
  811    739   
    #[test]
  812    740   
    fn test_32() {
  813    741   
        let params = crate::config::endpoint::Params::builder()
  814    742   
            .accelerate(false)
  815    743   
            .bucket("arn:aws:s3:us-east-1:123456789012:accesspoint:myendpoint".to_string())
  816    744   
            .force_path_style(false)
  817    745   
            .use_arn_region(false)
  818    746   
            .region("us-west-2".to_string())
  819    747   
            .use_dual_stack(false)
  820    748   
            .use_fips(false)
  821    749   
            .build()
  822    750   
            .expect("invalid params");
  823    751   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  824    752   
        let endpoint = resolver.resolve_endpoint(&params);
  825    753   
        let error = endpoint.expect_err("expected error: Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false` [vanilla access point arn with region mismatch and UseArnRegion=false]");
  826    754   
        assert_eq!(
  827    755   
            format!("{}", error),
  828    756   
            "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"
  829    757   
        )
  830    758   
    }
  831    759   
  832    760   
    /// vanilla access point arn with region mismatch and UseArnRegion unset
  833    761   
    #[test]
  834    762   
    fn test_33() {
  835    763   
        let params = crate::config::endpoint::Params::builder()
  836    764   
            .accelerate(false)
  837    765   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
  838    766   
            .force_path_style(false)
  839    767   
            .region("us-east-1".to_string())
  840    768   
            .use_dual_stack(false)
  841    769   
            .use_fips(false)
  842    770   
            .build()
  843    771   
            .expect("invalid params");
  844    772   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  845    773   
        let endpoint = resolver.resolve_endpoint(&params);
  846    774   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com");
  847    775   
        assert_eq!(
  848    776   
            endpoint,
  849    777   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  850    778   
                .url("https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com")
  851         -
                .property(
  852         -
                    "authSchemes",
  853         -
                    vec![{
  854         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  855         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  856         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  857         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
  858         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  859         -
                        out
  860         -
                    }
  861         -
                    .into()]
         779  +
                .auth_scheme(
         780  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         781  +
                        .put("disableDoubleEncoding", true)
         782  +
                        .put("signingName", "s3".to_string())
         783  +
                        .put("signingRegion", "us-west-2".to_string())
  862    784   
                )
  863    785   
                .build()
  864    786   
        );
  865    787   
    }
  866    788   
  867    789   
    /// vanilla access point arn with region mismatch and UseArnRegion=true
  868    790   
    #[test]
  869    791   
    fn test_34() {
  870    792   
        let params = crate::config::endpoint::Params::builder()
  871    793   
            .accelerate(false)
  872    794   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
  873    795   
            .force_path_style(false)
  874    796   
            .use_arn_region(true)
  875    797   
            .region("us-east-1".to_string())
  876    798   
            .use_dual_stack(false)
  877    799   
            .use_fips(false)
  878    800   
            .build()
  879    801   
            .expect("invalid params");
  880    802   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  881    803   
        let endpoint = resolver.resolve_endpoint(&params);
  882    804   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com");
  883    805   
        assert_eq!(
  884    806   
            endpoint,
  885    807   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  886    808   
                .url("https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com")
  887         -
                .property(
  888         -
                    "authSchemes",
  889         -
                    vec![{
  890         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  891         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  892         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  893         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
  894         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  895         -
                        out
  896         -
                    }
  897         -
                    .into()]
         809  +
                .auth_scheme(
         810  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         811  +
                        .put("disableDoubleEncoding", true)
         812  +
                        .put("signingName", "s3".to_string())
         813  +
                        .put("signingRegion", "us-west-2".to_string())
  898    814   
                )
  899    815   
                .build()
  900    816   
        );
  901    817   
    }
  902    818   
  903    819   
    /// subdomains are not allowed in virtual buckets
  904    820   
    #[test]
  905    821   
    fn test_35() {
  906    822   
        let params = crate::config::endpoint::Params::builder()
  907    823   
            .bucket("bucket.name".to_string())
  908    824   
            .region("us-east-1".to_string())
  909    825   
            .build()
  910    826   
            .expect("invalid params");
  911    827   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  912    828   
        let endpoint = resolver.resolve_endpoint(&params);
  913    829   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-east-1.amazonaws.com/bucket.name");
  914    830   
        assert_eq!(
  915    831   
            endpoint,
  916    832   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  917    833   
                .url("https://s3.us-east-1.amazonaws.com/bucket.name")
  918         -
                .property(
  919         -
                    "authSchemes",
  920         -
                    vec![{
  921         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  922         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  923         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  924         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  925         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
  926         -
                        out
  927         -
                    }
  928         -
                    .into()]
         834  +
                .auth_scheme(
         835  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         836  +
                        .put("disableDoubleEncoding", true)
         837  +
                        .put("signingName", "s3".to_string())
         838  +
                        .put("signingRegion", "us-east-1".to_string())
  929    839   
                )
  930    840   
                .build()
  931    841   
        );
  932    842   
    }
  933    843   
  934    844   
    /// bucket names with 3 characters are allowed in virtual buckets
  935    845   
    #[test]
  936    846   
    fn test_36() {
  937    847   
        let params = crate::config::endpoint::Params::builder()
  938    848   
            .bucket("aaa".to_string())
  939    849   
            .region("us-east-1".to_string())
  940    850   
            .build()
  941    851   
            .expect("invalid params");
  942    852   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  943    853   
        let endpoint = resolver.resolve_endpoint(&params);
  944    854   
        let endpoint = endpoint.expect("Expected valid endpoint: https://aaa.s3.us-east-1.amazonaws.com");
  945    855   
        assert_eq!(
  946    856   
            endpoint,
  947    857   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  948    858   
                .url("https://aaa.s3.us-east-1.amazonaws.com")
  949         -
                .property(
  950         -
                    "authSchemes",
  951         -
                    vec![{
  952         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  953         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  954         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  955         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  956         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
  957         -
                        out
  958         -
                    }
  959         -
                    .into()]
         859  +
                .auth_scheme(
         860  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         861  +
                        .put("disableDoubleEncoding", true)
         862  +
                        .put("signingName", "s3".to_string())
         863  +
                        .put("signingRegion", "us-east-1".to_string())
  960    864   
                )
  961    865   
                .build()
  962    866   
        );
  963    867   
    }
  964    868   
  965    869   
    /// bucket names with fewer than 3 characters are not allowed in virtual host
  966    870   
    #[test]
  967    871   
    fn test_37() {
  968    872   
        let params = crate::config::endpoint::Params::builder()
  969    873   
            .bucket("aa".to_string())
  970    874   
            .region("us-east-1".to_string())
  971    875   
            .build()
  972    876   
            .expect("invalid params");
  973    877   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  974    878   
        let endpoint = resolver.resolve_endpoint(&params);
  975    879   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-east-1.amazonaws.com/aa");
  976    880   
        assert_eq!(
  977    881   
            endpoint,
  978    882   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  979    883   
                .url("https://s3.us-east-1.amazonaws.com/aa")
  980         -
                .property(
  981         -
                    "authSchemes",
  982         -
                    vec![{
  983         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  984         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  985         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  986         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  987         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
  988         -
                        out
  989         -
                    }
  990         -
                    .into()]
         884  +
                .auth_scheme(
         885  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         886  +
                        .put("disableDoubleEncoding", true)
         887  +
                        .put("signingName", "s3".to_string())
         888  +
                        .put("signingRegion", "us-east-1".to_string())
  991    889   
                )
  992    890   
                .build()
  993    891   
        );
  994    892   
    }
  995    893   
  996    894   
    /// bucket names with uppercase characters are not allowed in virtual host
  997    895   
    #[test]
  998    896   
    fn test_38() {
  999    897   
        let params = crate::config::endpoint::Params::builder()
 1000    898   
            .bucket("BucketName".to_string())
 1001    899   
            .region("us-east-1".to_string())
 1002    900   
            .build()
 1003    901   
            .expect("invalid params");
 1004    902   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1005    903   
        let endpoint = resolver.resolve_endpoint(&params);
 1006    904   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-east-1.amazonaws.com/BucketName");
 1007    905   
        assert_eq!(
 1008    906   
            endpoint,
 1009    907   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1010    908   
                .url("https://s3.us-east-1.amazonaws.com/BucketName")
 1011         -
                .property(
 1012         -
                    "authSchemes",
 1013         -
                    vec![{
 1014         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1015         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1016         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1017         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1018         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1019         -
                        out
 1020         -
                    }
 1021         -
                    .into()]
         909  +
                .auth_scheme(
         910  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         911  +
                        .put("disableDoubleEncoding", true)
         912  +
                        .put("signingName", "s3".to_string())
         913  +
                        .put("signingRegion", "us-east-1".to_string())
 1022    914   
                )
 1023    915   
                .build()
 1024    916   
        );
 1025    917   
    }
 1026    918   
 1027    919   
    /// subdomains are allowed in virtual buckets on http endpoints
 1028    920   
    #[test]
 1029    921   
    fn test_39() {
 1030    922   
        let params = crate::config::endpoint::Params::builder()
 1031    923   
            .bucket("bucket.name".to_string())
 1032    924   
            .region("us-east-1".to_string())
 1033    925   
            .endpoint("http://example.com".to_string())
 1034    926   
            .build()
 1035    927   
            .expect("invalid params");
 1036    928   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1037    929   
        let endpoint = resolver.resolve_endpoint(&params);
 1038    930   
        let endpoint = endpoint.expect("Expected valid endpoint: http://bucket.name.example.com");
 1039    931   
        assert_eq!(
 1040    932   
            endpoint,
 1041    933   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1042    934   
                .url("http://bucket.name.example.com")
 1043         -
                .property(
 1044         -
                    "authSchemes",
 1045         -
                    vec![{
 1046         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1047         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1048         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1049         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1050         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1051         -
                        out
 1052         -
                    }
 1053         -
                    .into()]
         935  +
                .auth_scheme(
         936  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         937  +
                        .put("disableDoubleEncoding", true)
         938  +
                        .put("signingName", "s3".to_string())
         939  +
                        .put("signingRegion", "us-east-1".to_string())
 1054    940   
                )
 1055    941   
                .build()
 1056    942   
        );
 1057    943   
    }
 1058    944   
 1059    945   
    /// no region set
 1060    946   
    #[test]
 1061    947   
    fn test_40() {
 1062    948   
        let params = crate::config::endpoint::Params::builder()
 1063    949   
            .bucket("bucket-name".to_string())
 1064    950   
            .build()
 1065    951   
            .expect("invalid params");
 1066    952   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1067    953   
        let endpoint = resolver.resolve_endpoint(&params);
 1068    954   
        let error = endpoint.expect_err("expected error: A region must be set when sending requests to S3. [no region set]");
 1069    955   
        assert_eq!(format!("{}", error), "A region must be set when sending requests to S3.")
 1070    956   
    }
 1071    957   
 1072    958   
    /// UseGlobalEndpoints=true, region=us-east-1 uses the global endpoint
 1073    959   
    #[test]
 1074    960   
    fn test_41() {
 1075    961   
        let params = crate::config::endpoint::Params::builder()
 1076    962   
            .region("us-east-1".to_string())
 1077    963   
            .use_global_endpoint(true)
 1078    964   
            .use_fips(false)
 1079    965   
            .use_dual_stack(false)
 1080    966   
            .accelerate(false)
 1081    967   
            .build()
 1082    968   
            .expect("invalid params");
 1083    969   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1084    970   
        let endpoint = resolver.resolve_endpoint(&params);
 1085    971   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com");
 1086    972   
        assert_eq!(
 1087    973   
            endpoint,
 1088    974   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1089    975   
                .url("https://s3.amazonaws.com")
 1090         -
                .property(
 1091         -
                    "authSchemes",
 1092         -
                    vec![{
 1093         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1094         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1095         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1096         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1097         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1098         -
                        out
 1099         -
                    }
 1100         -
                    .into()]
         976  +
                .auth_scheme(
         977  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         978  +
                        .put("disableDoubleEncoding", true)
         979  +
                        .put("signingName", "s3".to_string())
         980  +
                        .put("signingRegion", "us-east-1".to_string())
 1101    981   
                )
 1102    982   
                .build()
 1103    983   
        );
 1104    984   
    }
 1105    985   
 1106    986   
    /// UseGlobalEndpoints=true, region=us-west-2 uses the regional endpoint
 1107    987   
    #[test]
 1108    988   
    fn test_42() {
 1109    989   
        let params = crate::config::endpoint::Params::builder()
 1110    990   
            .region("us-west-2".to_string())
 1111    991   
            .use_global_endpoint(true)
 1112    992   
            .use_fips(false)
 1113    993   
            .use_dual_stack(false)
 1114    994   
            .accelerate(false)
 1115    995   
            .build()
 1116    996   
            .expect("invalid params");
 1117    997   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1118    998   
        let endpoint = resolver.resolve_endpoint(&params);
 1119    999   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com");
 1120   1000   
        assert_eq!(
 1121   1001   
            endpoint,
 1122   1002   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1123   1003   
                .url("https://s3.us-west-2.amazonaws.com")
 1124         -
                .property(
 1125         -
                    "authSchemes",
 1126         -
                    vec![{
 1127         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1128         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1129         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1130         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 1131         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1132         -
                        out
 1133         -
                    }
 1134         -
                    .into()]
        1004  +
                .auth_scheme(
        1005  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1006  +
                        .put("disableDoubleEncoding", true)
        1007  +
                        .put("signingName", "s3".to_string())
        1008  +
                        .put("signingRegion", "us-west-2".to_string())
 1135   1009   
                )
 1136   1010   
                .build()
 1137   1011   
        );
 1138   1012   
    }
 1139   1013   
 1140   1014   
    /// UseGlobalEndpoints=true, region=cn-north-1 uses the regional endpoint
 1141   1015   
    #[test]
 1142   1016   
    fn test_43() {
 1143   1017   
        let params = crate::config::endpoint::Params::builder()
 1144   1018   
            .region("cn-north-1".to_string())
 1145   1019   
            .use_global_endpoint(true)
 1146   1020   
            .use_fips(false)
 1147   1021   
            .use_dual_stack(false)
 1148   1022   
            .accelerate(false)
 1149   1023   
            .build()
 1150   1024   
            .expect("invalid params");
 1151   1025   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1152   1026   
        let endpoint = resolver.resolve_endpoint(&params);
 1153   1027   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.cn-north-1.amazonaws.com.cn");
 1154   1028   
        assert_eq!(
 1155   1029   
            endpoint,
 1156   1030   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1157   1031   
                .url("https://s3.cn-north-1.amazonaws.com.cn")
 1158         -
                .property(
 1159         -
                    "authSchemes",
 1160         -
                    vec![{
 1161         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1162         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1163         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1164         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 1165         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1166         -
                        out
 1167         -
                    }
 1168         -
                    .into()]
        1032  +
                .auth_scheme(
        1033  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1034  +
                        .put("disableDoubleEncoding", true)
        1035  +
                        .put("signingName", "s3".to_string())
        1036  +
                        .put("signingRegion", "cn-north-1".to_string())
 1169   1037   
                )
 1170   1038   
                .build()
 1171   1039   
        );
 1172   1040   
    }
 1173   1041   
 1174   1042   
    /// UseGlobalEndpoints=true, region=us-east-1, fips=true uses the regional endpoint with fips
 1175   1043   
    #[test]
 1176   1044   
    fn test_44() {
 1177   1045   
        let params = crate::config::endpoint::Params::builder()
 1178   1046   
            .region("us-east-1".to_string())
 1179   1047   
            .use_global_endpoint(true)
 1180   1048   
            .use_fips(true)
 1181   1049   
            .use_dual_stack(false)
 1182   1050   
            .accelerate(false)
 1183   1051   
            .build()
 1184   1052   
            .expect("invalid params");
 1185   1053   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1186   1054   
        let endpoint = resolver.resolve_endpoint(&params);
 1187   1055   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com");
 1188   1056   
        assert_eq!(
 1189   1057   
            endpoint,
 1190   1058   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1191   1059   
                .url("https://s3-fips.us-east-1.amazonaws.com")
 1192         -
                .property(
 1193         -
                    "authSchemes",
 1194         -
                    vec![{
 1195         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1196         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1197         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1198         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1199         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1200         -
                        out
 1201         -
                    }
 1202         -
                    .into()]
        1060  +
                .auth_scheme(
        1061  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1062  +
                        .put("disableDoubleEncoding", true)
        1063  +
                        .put("signingName", "s3".to_string())
        1064  +
                        .put("signingRegion", "us-east-1".to_string())
 1203   1065   
                )
 1204   1066   
                .build()
 1205   1067   
        );
 1206   1068   
    }
 1207   1069   
 1208   1070   
    /// UseGlobalEndpoints=true, region=us-east-1, dualstack=true uses the regional endpoint with dualstack
 1209   1071   
    #[test]
 1210   1072   
    fn test_45() {
 1211   1073   
        let params = crate::config::endpoint::Params::builder()
 1212   1074   
            .region("us-east-1".to_string())
 1213   1075   
            .use_global_endpoint(true)
 1214   1076   
            .use_fips(false)
 1215   1077   
            .use_dual_stack(true)
 1216   1078   
            .accelerate(false)
 1217   1079   
            .build()
 1218   1080   
            .expect("invalid params");
 1219   1081   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1220   1082   
        let endpoint = resolver.resolve_endpoint(&params);
 1221   1083   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com");
 1222   1084   
        assert_eq!(
 1223   1085   
            endpoint,
 1224   1086   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1225   1087   
                .url("https://s3.dualstack.us-east-1.amazonaws.com")
 1226         -
                .property(
 1227         -
                    "authSchemes",
 1228         -
                    vec![{
 1229         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1230         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1231         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1232         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1233         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1234         -
                        out
 1235         -
                    }
 1236         -
                    .into()]
        1088  +
                .auth_scheme(
        1089  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1090  +
                        .put("disableDoubleEncoding", true)
        1091  +
                        .put("signingName", "s3".to_string())
        1092  +
                        .put("signingRegion", "us-east-1".to_string())
 1237   1093   
                )
 1238   1094   
                .build()
 1239   1095   
        );
 1240   1096   
    }
 1241   1097   
 1242   1098   
    /// UseGlobalEndpoints=true, region=us-east-1, dualstack and fips uses the regional endpoint with fips/dualstack
 1243   1099   
    #[test]
 1244   1100   
    fn test_46() {
 1245   1101   
        let params = crate::config::endpoint::Params::builder()
 1246   1102   
            .region("us-east-1".to_string())
 1247   1103   
            .use_global_endpoint(true)
 1248   1104   
            .use_fips(true)
 1249   1105   
            .use_dual_stack(true)
 1250   1106   
            .accelerate(false)
 1251   1107   
            .build()
 1252   1108   
            .expect("invalid params");
 1253   1109   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1254   1110   
        let endpoint = resolver.resolve_endpoint(&params);
 1255   1111   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com");
 1256   1112   
        assert_eq!(
 1257   1113   
            endpoint,
 1258   1114   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1259   1115   
                .url("https://s3-fips.dualstack.us-east-1.amazonaws.com")
 1260         -
                .property(
 1261         -
                    "authSchemes",
 1262         -
                    vec![{
 1263         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1264         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1265         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1266         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1267         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1268         -
                        out
 1269         -
                    }
 1270         -
                    .into()]
        1116  +
                .auth_scheme(
        1117  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1118  +
                        .put("disableDoubleEncoding", true)
        1119  +
                        .put("signingName", "s3".to_string())
        1120  +
                        .put("signingRegion", "us-east-1".to_string())
 1271   1121   
                )
 1272   1122   
                .build()
 1273   1123   
        );
 1274   1124   
    }
 1275   1125   
 1276   1126   
    /// UseGlobalEndpoints=true, region=us-east-1 with custom endpoint, uses custom
 1277   1127   
    #[test]
 1278   1128   
    fn test_47() {
 1279   1129   
        let params = crate::config::endpoint::Params::builder()
 1280   1130   
            .region("us-east-1".to_string())
 1281   1131   
            .endpoint("https://example.com".to_string())
 1282   1132   
            .use_global_endpoint(true)
 1283   1133   
            .use_fips(false)
 1284   1134   
            .use_dual_stack(false)
 1285   1135   
            .accelerate(false)
 1286   1136   
            .build()
 1287   1137   
            .expect("invalid params");
 1288   1138   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1289   1139   
        let endpoint = resolver.resolve_endpoint(&params);
 1290   1140   
        let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
 1291   1141   
        assert_eq!(
 1292   1142   
            endpoint,
 1293   1143   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1294   1144   
                .url("https://example.com")
 1295         -
                .property(
 1296         -
                    "authSchemes",
 1297         -
                    vec![{
 1298         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1299         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1300         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1301         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1302         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1303         -
                        out
 1304         -
                    }
 1305         -
                    .into()]
        1145  +
                .auth_scheme(
        1146  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1147  +
                        .put("disableDoubleEncoding", true)
        1148  +
                        .put("signingName", "s3".to_string())
        1149  +
                        .put("signingRegion", "us-east-1".to_string())
 1306   1150   
                )
 1307   1151   
                .build()
 1308   1152   
        );
 1309   1153   
    }
 1310   1154   
 1311   1155   
    /// UseGlobalEndpoints=true, region=us-west-2 with custom endpoint, uses custom
 1312   1156   
    #[test]
 1313   1157   
    fn test_48() {
 1314   1158   
        let params = crate::config::endpoint::Params::builder()
 1315   1159   
            .region("us-west-2".to_string())
 1316   1160   
            .endpoint("https://example.com".to_string())
 1317   1161   
            .use_global_endpoint(true)
 1318   1162   
            .use_fips(false)
 1319   1163   
            .use_dual_stack(false)
 1320   1164   
            .accelerate(false)
 1321   1165   
            .build()
 1322   1166   
            .expect("invalid params");
 1323   1167   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1324   1168   
        let endpoint = resolver.resolve_endpoint(&params);
 1325   1169   
        let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
 1326   1170   
        assert_eq!(
 1327   1171   
            endpoint,
 1328   1172   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1329   1173   
                .url("https://example.com")
 1330         -
                .property(
 1331         -
                    "authSchemes",
 1332         -
                    vec![{
 1333         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1334         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1335         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1336         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 1337         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1338         -
                        out
 1339         -
                    }
 1340         -
                    .into()]
        1174  +
                .auth_scheme(
        1175  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1176  +
                        .put("disableDoubleEncoding", true)
        1177  +
                        .put("signingName", "s3".to_string())
        1178  +
                        .put("signingRegion", "us-west-2".to_string())
 1341   1179   
                )
 1342   1180   
                .build()
 1343   1181   
        );
 1344   1182   
    }
 1345   1183   
 1346   1184   
    /// UseGlobalEndpoints=true, region=us-east-1 with accelerate on non bucket case uses the global endpoint and ignores accelerate
 1347   1185   
    #[test]
 1348   1186   
    fn test_49() {
 1349   1187   
        let params = crate::config::endpoint::Params::builder()
 1350   1188   
            .region("us-east-1".to_string())
 1351   1189   
            .use_global_endpoint(true)
 1352   1190   
            .use_fips(false)
 1353   1191   
            .use_dual_stack(false)
 1354   1192   
            .accelerate(true)
 1355   1193   
            .build()
 1356   1194   
            .expect("invalid params");
 1357   1195   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1358   1196   
        let endpoint = resolver.resolve_endpoint(&params);
 1359   1197   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com");
 1360   1198   
        assert_eq!(
 1361   1199   
            endpoint,
 1362   1200   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1363   1201   
                .url("https://s3.amazonaws.com")
 1364         -
                .property(
 1365         -
                    "authSchemes",
 1366         -
                    vec![{
 1367         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1368         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1369         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1370         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1371         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1372         -
                        out
 1373         -
                    }
 1374         -
                    .into()]
        1202  +
                .auth_scheme(
        1203  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1204  +
                        .put("disableDoubleEncoding", true)
        1205  +
                        .put("signingName", "s3".to_string())
        1206  +
                        .put("signingRegion", "us-east-1".to_string())
 1375   1207   
                )
 1376   1208   
                .build()
 1377   1209   
        );
 1378   1210   
    }
 1379   1211   
 1380   1212   
    /// aws-global region uses the global endpoint
 1381   1213   
    #[test]
 1382   1214   
    fn test_50() {
 1383   1215   
        let params = crate::config::endpoint::Params::builder()
 1384   1216   
            .region("aws-global".to_string())
 1385   1217   
            .use_fips(false)
 1386   1218   
            .use_dual_stack(false)
 1387   1219   
            .accelerate(false)
 1388   1220   
            .build()
 1389   1221   
            .expect("invalid params");
 1390   1222   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1391   1223   
        let endpoint = resolver.resolve_endpoint(&params);
 1392   1224   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com");
 1393   1225   
        assert_eq!(
 1394   1226   
            endpoint,
 1395   1227   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1396   1228   
                .url("https://s3.amazonaws.com")
 1397         -
                .property(
 1398         -
                    "authSchemes",
 1399         -
                    vec![{
 1400         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1401         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1402         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1403         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1404         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1405         -
                        out
 1406         -
                    }
 1407         -
                    .into()]
        1229  +
                .auth_scheme(
        1230  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1231  +
                        .put("disableDoubleEncoding", true)
        1232  +
                        .put("signingName", "s3".to_string())
        1233  +
                        .put("signingRegion", "us-east-1".to_string())
 1408   1234   
                )
 1409   1235   
                .build()
 1410   1236   
        );
 1411   1237   
    }
 1412   1238   
 1413   1239   
    /// aws-global region with fips uses the regional endpoint
 1414   1240   
    #[test]
 1415   1241   
    fn test_51() {
 1416   1242   
        let params = crate::config::endpoint::Params::builder()
 1417   1243   
            .region("aws-global".to_string())
 1418   1244   
            .use_fips(true)
 1419   1245   
            .use_dual_stack(false)
 1420   1246   
            .accelerate(false)
 1421   1247   
            .build()
 1422   1248   
            .expect("invalid params");
 1423   1249   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1424   1250   
        let endpoint = resolver.resolve_endpoint(&params);
 1425   1251   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com");
 1426   1252   
        assert_eq!(
 1427   1253   
            endpoint,
 1428   1254   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1429   1255   
                .url("https://s3-fips.us-east-1.amazonaws.com")
 1430         -
                .property(
 1431         -
                    "authSchemes",
 1432         -
                    vec![{
 1433         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1434         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1435         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1436         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1437         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1438         -
                        out
 1439         -
                    }
 1440         -
                    .into()]
        1256  +
                .auth_scheme(
        1257  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1258  +
                        .put("disableDoubleEncoding", true)
        1259  +
                        .put("signingName", "s3".to_string())
        1260  +
                        .put("signingRegion", "us-east-1".to_string())
 1441   1261   
                )
 1442   1262   
                .build()
 1443   1263   
        );
 1444   1264   
    }
 1445   1265   
 1446   1266   
    /// aws-global region with dualstack uses the regional endpoint
 1447   1267   
    #[test]
 1448   1268   
    fn test_52() {
 1449   1269   
        let params = crate::config::endpoint::Params::builder()
 1450   1270   
            .region("aws-global".to_string())
 1451   1271   
            .use_fips(false)
 1452   1272   
            .use_dual_stack(true)
 1453   1273   
            .accelerate(false)
 1454   1274   
            .build()
 1455   1275   
            .expect("invalid params");
 1456   1276   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1457   1277   
        let endpoint = resolver.resolve_endpoint(&params);
 1458   1278   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com");
 1459   1279   
        assert_eq!(
 1460   1280   
            endpoint,
 1461   1281   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1462   1282   
                .url("https://s3.dualstack.us-east-1.amazonaws.com")
 1463         -
                .property(
 1464         -
                    "authSchemes",
 1465         -
                    vec![{
 1466         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1467         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1468         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1469         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1470         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1471         -
                        out
 1472         -
                    }
 1473         -
                    .into()]
        1283  +
                .auth_scheme(
        1284  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1285  +
                        .put("disableDoubleEncoding", true)
        1286  +
                        .put("signingName", "s3".to_string())
        1287  +
                        .put("signingRegion", "us-east-1".to_string())
 1474   1288   
                )
 1475   1289   
                .build()
 1476   1290   
        );
 1477   1291   
    }
 1478   1292   
 1479   1293   
    /// aws-global region with fips and dualstack uses the regional endpoint
 1480   1294   
    #[test]
 1481   1295   
    fn test_53() {
 1482   1296   
        let params = crate::config::endpoint::Params::builder()
 1483   1297   
            .region("aws-global".to_string())
 1484   1298   
            .use_fips(true)
 1485   1299   
            .use_dual_stack(true)
 1486   1300   
            .accelerate(false)
 1487   1301   
            .build()
 1488   1302   
            .expect("invalid params");
 1489   1303   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1490   1304   
        let endpoint = resolver.resolve_endpoint(&params);
 1491   1305   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com");
 1492   1306   
        assert_eq!(
 1493   1307   
            endpoint,
 1494   1308   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1495   1309   
                .url("https://s3-fips.dualstack.us-east-1.amazonaws.com")
 1496         -
                .property(
 1497         -
                    "authSchemes",
 1498         -
                    vec![{
 1499         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1500         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1501         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1502         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1503         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1504         -
                        out
 1505         -
                    }
 1506         -
                    .into()]
        1310  +
                .auth_scheme(
        1311  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1312  +
                        .put("disableDoubleEncoding", true)
        1313  +
                        .put("signingName", "s3".to_string())
        1314  +
                        .put("signingRegion", "us-east-1".to_string())
 1507   1315   
                )
 1508   1316   
                .build()
 1509   1317   
        );
 1510   1318   
    }
 1511   1319   
 1512   1320   
    /// aws-global region with accelerate on non-bucket case, uses global endpoint and ignores accelerate
 1513   1321   
    #[test]
 1514   1322   
    fn test_54() {
 1515   1323   
        let params = crate::config::endpoint::Params::builder()
 1516   1324   
            .region("aws-global".to_string())
 1517   1325   
            .use_fips(false)
 1518   1326   
            .use_dual_stack(false)
 1519   1327   
            .accelerate(true)
 1520   1328   
            .build()
 1521   1329   
            .expect("invalid params");
 1522   1330   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1523   1331   
        let endpoint = resolver.resolve_endpoint(&params);
 1524   1332   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com");
 1525   1333   
        assert_eq!(
 1526   1334   
            endpoint,
 1527   1335   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1528   1336   
                .url("https://s3.amazonaws.com")
 1529         -
                .property(
 1530         -
                    "authSchemes",
 1531         -
                    vec![{
 1532         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1533         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1534         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1535         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1536         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1537         -
                        out
 1538         -
                    }
 1539         -
                    .into()]
        1337  +
                .auth_scheme(
        1338  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1339  +
                        .put("disableDoubleEncoding", true)
        1340  +
                        .put("signingName", "s3".to_string())
        1341  +
                        .put("signingRegion", "us-east-1".to_string())
 1540   1342   
                )
 1541   1343   
                .build()
 1542   1344   
        );
 1543   1345   
    }
 1544   1346   
 1545   1347   
    /// aws-global region with custom endpoint, uses custom
 1546   1348   
    #[test]
 1547   1349   
    fn test_55() {
 1548   1350   
        let params = crate::config::endpoint::Params::builder()
 1549   1351   
            .region("aws-global".to_string())
 1550   1352   
            .endpoint("https://example.com".to_string())
 1551   1353   
            .use_global_endpoint(false)
 1552   1354   
            .use_fips(false)
 1553   1355   
            .use_dual_stack(false)
 1554   1356   
            .accelerate(false)
 1555   1357   
            .build()
 1556   1358   
            .expect("invalid params");
 1557   1359   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1558   1360   
        let endpoint = resolver.resolve_endpoint(&params);
 1559   1361   
        let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
 1560   1362   
        assert_eq!(
 1561   1363   
            endpoint,
 1562   1364   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1563   1365   
                .url("https://example.com")
 1564         -
                .property(
 1565         -
                    "authSchemes",
 1566         -
                    vec![{
 1567         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1568         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1569         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1570         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1571         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1572         -
                        out
 1573         -
                    }
 1574         -
                    .into()]
        1366  +
                .auth_scheme(
        1367  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1368  +
                        .put("disableDoubleEncoding", true)
        1369  +
                        .put("signingName", "s3".to_string())
        1370  +
                        .put("signingRegion", "us-east-1".to_string())
 1575   1371   
                )
 1576   1372   
                .build()
 1577   1373   
        );
 1578   1374   
    }
 1579   1375   
 1580   1376   
    /// virtual addressing, aws-global region uses the global endpoint
 1581   1377   
    #[test]
 1582   1378   
    fn test_56() {
 1583   1379   
        let params = crate::config::endpoint::Params::builder()
 1584   1380   
            .region("aws-global".to_string())
 1585   1381   
            .bucket("bucket-name".to_string())
 1586   1382   
            .use_fips(false)
 1587   1383   
            .use_dual_stack(false)
 1588   1384   
            .accelerate(false)
 1589   1385   
            .build()
 1590   1386   
            .expect("invalid params");
 1591   1387   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1592   1388   
        let endpoint = resolver.resolve_endpoint(&params);
 1593   1389   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.amazonaws.com");
 1594   1390   
        assert_eq!(
 1595   1391   
            endpoint,
 1596   1392   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1597   1393   
                .url("https://bucket-name.s3.amazonaws.com")
 1598         -
                .property(
 1599         -
                    "authSchemes",
 1600         -
                    vec![{
 1601         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1602         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1603         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1604         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1605         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1606         -
                        out
 1607         -
                    }
 1608         -
                    .into()]
        1394  +
                .auth_scheme(
        1395  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1396  +
                        .put("disableDoubleEncoding", true)
        1397  +
                        .put("signingName", "s3".to_string())
        1398  +
                        .put("signingRegion", "us-east-1".to_string())
 1609   1399   
                )
 1610   1400   
                .build()
 1611   1401   
        );
 1612   1402   
    }
 1613   1403   
 1614   1404   
    /// virtual addressing, aws-global region with Prefix, and Key uses the global endpoint. Prefix and Key parameters should not be used in endpoint evaluation.
 1615   1405   
    #[test]
 1616   1406   
    fn test_57() {
 1617   1407   
        let params = crate::config::endpoint::Params::builder()
 1618   1408   
            .region("aws-global".to_string())
 1619   1409   
            .bucket("bucket-name".to_string())
 1620   1410   
            .use_fips(false)
 1621   1411   
            .use_dual_stack(false)
 1622   1412   
            .accelerate(false)
 1623   1413   
            .prefix("prefix".to_string())
 1624   1414   
            .key("key".to_string())
 1625   1415   
            .build()
 1626   1416   
            .expect("invalid params");
 1627   1417   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1628   1418   
        let endpoint = resolver.resolve_endpoint(&params);
 1629   1419   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.amazonaws.com");
 1630   1420   
        assert_eq!(
 1631   1421   
            endpoint,
 1632   1422   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1633   1423   
                .url("https://bucket-name.s3.amazonaws.com")
 1634         -
                .property(
 1635         -
                    "authSchemes",
 1636         -
                    vec![{
 1637         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1638         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1639         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1640         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1641         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1642         -
                        out
 1643         -
                    }
 1644         -
                    .into()]
        1424  +
                .auth_scheme(
        1425  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1426  +
                        .put("disableDoubleEncoding", true)
        1427  +
                        .put("signingName", "s3".to_string())
        1428  +
                        .put("signingRegion", "us-east-1".to_string())
 1645   1429   
                )
 1646   1430   
                .build()
 1647   1431   
        );
 1648   1432   
    }
 1649   1433   
 1650   1434   
    /// virtual addressing, aws-global region with Copy Source, and Key uses the global endpoint. Copy Source and Key parameters should not be used in endpoint evaluation.
 1651   1435   
    #[test]
 1652   1436   
    fn test_58() {
 1653   1437   
        let params = crate::config::endpoint::Params::builder()
 1654   1438   
            .region("aws-global".to_string())
 1655   1439   
            .bucket("bucket-name".to_string())
 1656   1440   
            .use_fips(false)
 1657   1441   
            .use_dual_stack(false)
 1658   1442   
            .accelerate(false)
 1659   1443   
            .copy_source("/copy/source".to_string())
 1660   1444   
            .key("key".to_string())
 1661   1445   
            .build()
 1662   1446   
            .expect("invalid params");
 1663   1447   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1664   1448   
        let endpoint = resolver.resolve_endpoint(&params);
 1665   1449   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.amazonaws.com");
 1666   1450   
        assert_eq!(
 1667   1451   
            endpoint,
 1668   1452   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1669   1453   
                .url("https://bucket-name.s3.amazonaws.com")
 1670         -
                .property(
 1671         -
                    "authSchemes",
 1672         -
                    vec![{
 1673         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1674         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1675         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1676         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1677         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1678         -
                        out
 1679         -
                    }
 1680         -
                    .into()]
        1454  +
                .auth_scheme(
        1455  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1456  +
                        .put("disableDoubleEncoding", true)
        1457  +
                        .put("signingName", "s3".to_string())
        1458  +
                        .put("signingRegion", "us-east-1".to_string())
 1681   1459   
                )
 1682   1460   
                .build()
 1683   1461   
        );
 1684   1462   
    }
 1685   1463   
 1686   1464   
    /// virtual addressing, aws-global region with fips uses the regional fips endpoint
 1687   1465   
    #[test]
 1688   1466   
    fn test_59() {
 1689   1467   
        let params = crate::config::endpoint::Params::builder()
 1690   1468   
            .region("aws-global".to_string())
 1691   1469   
            .bucket("bucket-name".to_string())
 1692   1470   
            .use_fips(true)
 1693   1471   
            .use_dual_stack(false)
 1694   1472   
            .accelerate(false)
 1695   1473   
            .build()
 1696   1474   
            .expect("invalid params");
 1697   1475   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1698   1476   
        let endpoint = resolver.resolve_endpoint(&params);
 1699   1477   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.us-east-1.amazonaws.com");
 1700   1478   
        assert_eq!(
 1701   1479   
            endpoint,
 1702   1480   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1703   1481   
                .url("https://bucket-name.s3-fips.us-east-1.amazonaws.com")
 1704         -
                .property(
 1705         -
                    "authSchemes",
 1706         -
                    vec![{
 1707         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1708         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1709         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1710         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1711         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1712         -
                        out
 1713         -
                    }
 1714         -
                    .into()]
        1482  +
                .auth_scheme(
        1483  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1484  +
                        .put("disableDoubleEncoding", true)
        1485  +
                        .put("signingName", "s3".to_string())
        1486  +
                        .put("signingRegion", "us-east-1".to_string())
 1715   1487   
                )
 1716   1488   
                .build()
 1717   1489   
        );
 1718   1490   
    }
 1719   1491   
 1720   1492   
    /// virtual addressing, aws-global region with dualstack uses the regional dualstack endpoint
 1721   1493   
    #[test]
 1722   1494   
    fn test_60() {
 1723   1495   
        let params = crate::config::endpoint::Params::builder()
 1724   1496   
            .region("aws-global".to_string())
 1725   1497   
            .bucket("bucket-name".to_string())
 1726   1498   
            .use_fips(false)
 1727   1499   
            .use_dual_stack(true)
 1728   1500   
            .accelerate(false)
 1729   1501   
            .build()
 1730   1502   
            .expect("invalid params");
 1731   1503   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1732   1504   
        let endpoint = resolver.resolve_endpoint(&params);
 1733   1505   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.dualstack.us-east-1.amazonaws.com");
 1734   1506   
        assert_eq!(
 1735   1507   
            endpoint,
 1736   1508   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1737   1509   
                .url("https://bucket-name.s3.dualstack.us-east-1.amazonaws.com")
 1738         -
                .property(
 1739         -
                    "authSchemes",
 1740         -
                    vec![{
 1741         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1742         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1743         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1744         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1745         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1746         -
                        out
 1747         -
                    }
 1748         -
                    .into()]
        1510  +
                .auth_scheme(
        1511  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1512  +
                        .put("disableDoubleEncoding", true)
        1513  +
                        .put("signingName", "s3".to_string())
        1514  +
                        .put("signingRegion", "us-east-1".to_string())
 1749   1515   
                )
 1750   1516   
                .build()
 1751   1517   
        );
 1752   1518   
    }
 1753   1519   
 1754   1520   
    /// virtual addressing, aws-global region with fips/dualstack uses the regional fips/dualstack endpoint
 1755   1521   
    #[test]
 1756   1522   
    fn test_61() {
 1757   1523   
        let params = crate::config::endpoint::Params::builder()
 1758   1524   
            .region("aws-global".to_string())
 1759   1525   
            .bucket("bucket-name".to_string())
 1760   1526   
            .use_fips(true)
 1761   1527   
            .use_dual_stack(true)
 1762   1528   
            .accelerate(false)
 1763   1529   
            .build()
 1764   1530   
            .expect("invalid params");
 1765   1531   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1766   1532   
        let endpoint = resolver.resolve_endpoint(&params);
 1767   1533   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.dualstack.us-east-1.amazonaws.com");
 1768   1534   
        assert_eq!(
 1769   1535   
            endpoint,
 1770   1536   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1771   1537   
                .url("https://bucket-name.s3-fips.dualstack.us-east-1.amazonaws.com")
 1772         -
                .property(
 1773         -
                    "authSchemes",
 1774         -
                    vec![{
 1775         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1776         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1777         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1778         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1779         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1780         -
                        out
 1781         -
                    }
 1782         -
                    .into()]
        1538  +
                .auth_scheme(
        1539  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1540  +
                        .put("disableDoubleEncoding", true)
        1541  +
                        .put("signingName", "s3".to_string())
        1542  +
                        .put("signingRegion", "us-east-1".to_string())
 1783   1543   
                )
 1784   1544   
                .build()
 1785   1545   
        );
 1786   1546   
    }
 1787   1547   
 1788   1548   
    /// virtual addressing, aws-global region with accelerate uses the global accelerate endpoint
 1789   1549   
    #[test]
 1790   1550   
    fn test_62() {
 1791   1551   
        let params = crate::config::endpoint::Params::builder()
 1792   1552   
            .region("aws-global".to_string())
 1793   1553   
            .bucket("bucket-name".to_string())
 1794   1554   
            .use_fips(false)
 1795   1555   
            .use_dual_stack(false)
 1796   1556   
            .accelerate(true)
 1797   1557   
            .build()
 1798   1558   
            .expect("invalid params");
 1799   1559   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1800   1560   
        let endpoint = resolver.resolve_endpoint(&params);
 1801   1561   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.amazonaws.com");
 1802   1562   
        assert_eq!(
 1803   1563   
            endpoint,
 1804   1564   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1805   1565   
                .url("https://bucket-name.s3-accelerate.amazonaws.com")
 1806         -
                .property(
 1807         -
                    "authSchemes",
 1808         -
                    vec![{
 1809         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1810         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1811         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1812         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1813         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1814         -
                        out
 1815         -
                    }
 1816         -
                    .into()]
        1566  +
                .auth_scheme(
        1567  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1568  +
                        .put("disableDoubleEncoding", true)
        1569  +
                        .put("signingName", "s3".to_string())
        1570  +
                        .put("signingRegion", "us-east-1".to_string())
 1817   1571   
                )
 1818   1572   
                .build()
 1819   1573   
        );
 1820   1574   
    }
 1821   1575   
 1822   1576   
    /// virtual addressing, aws-global region with custom endpoint
 1823   1577   
    #[test]
 1824   1578   
    fn test_63() {
 1825   1579   
        let params = crate::config::endpoint::Params::builder()
 1826   1580   
            .region("aws-global".to_string())
 1827   1581   
            .endpoint("https://example.com".to_string())
 1828   1582   
            .bucket("bucket-name".to_string())
 1829   1583   
            .use_fips(false)
 1830   1584   
            .use_dual_stack(false)
 1831   1585   
            .accelerate(false)
 1832   1586   
            .build()
 1833   1587   
            .expect("invalid params");
 1834   1588   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1835   1589   
        let endpoint = resolver.resolve_endpoint(&params);
 1836   1590   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.example.com");
 1837   1591   
        assert_eq!(
 1838   1592   
            endpoint,
 1839   1593   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1840   1594   
                .url("https://bucket-name.example.com")
 1841         -
                .property(
 1842         -
                    "authSchemes",
 1843         -
                    vec![{
 1844         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1845         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1846         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1847         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1848         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1849         -
                        out
 1850         -
                    }
 1851         -
                    .into()]
        1595  +
                .auth_scheme(
        1596  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1597  +
                        .put("disableDoubleEncoding", true)
        1598  +
                        .put("signingName", "s3".to_string())
        1599  +
                        .put("signingRegion", "us-east-1".to_string())
 1852   1600   
                )
 1853   1601   
                .build()
 1854   1602   
        );
 1855   1603   
    }
 1856   1604   
 1857   1605   
    /// virtual addressing, UseGlobalEndpoint and us-east-1 region uses the global endpoint
 1858   1606   
    #[test]
 1859   1607   
    fn test_64() {
 1860   1608   
        let params = crate::config::endpoint::Params::builder()
 1861   1609   
            .region("us-east-1".to_string())
 1862   1610   
            .use_global_endpoint(true)
 1863   1611   
            .bucket("bucket-name".to_string())
 1864   1612   
            .use_fips(false)
 1865   1613   
            .use_dual_stack(false)
 1866   1614   
            .accelerate(false)
 1867   1615   
            .build()
 1868   1616   
            .expect("invalid params");
 1869   1617   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1870   1618   
        let endpoint = resolver.resolve_endpoint(&params);
 1871   1619   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.amazonaws.com");
 1872   1620   
        assert_eq!(
 1873   1621   
            endpoint,
 1874   1622   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1875   1623   
                .url("https://bucket-name.s3.amazonaws.com")
 1876         -
                .property(
 1877         -
                    "authSchemes",
 1878         -
                    vec![{
 1879         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1880         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1881         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1882         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1883         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1884         -
                        out
 1885         -
                    }
 1886         -
                    .into()]
        1624  +
                .auth_scheme(
        1625  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1626  +
                        .put("disableDoubleEncoding", true)
        1627  +
                        .put("signingName", "s3".to_string())
        1628  +
                        .put("signingRegion", "us-east-1".to_string())
 1887   1629   
                )
 1888   1630   
                .build()
 1889   1631   
        );
 1890   1632   
    }
 1891   1633   
 1892   1634   
    /// virtual addressing, UseGlobalEndpoint and us-west-2 region uses the regional endpoint
 1893   1635   
    #[test]
 1894   1636   
    fn test_65() {
 1895   1637   
        let params = crate::config::endpoint::Params::builder()
 1896   1638   
            .region("us-west-2".to_string())
 1897   1639   
            .use_global_endpoint(true)
 1898   1640   
            .bucket("bucket-name".to_string())
 1899   1641   
            .use_fips(false)
 1900   1642   
            .use_dual_stack(false)
 1901   1643   
            .accelerate(false)
 1902   1644   
            .build()
 1903   1645   
            .expect("invalid params");
 1904   1646   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1905   1647   
        let endpoint = resolver.resolve_endpoint(&params);
 1906   1648   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.us-west-2.amazonaws.com");
 1907   1649   
        assert_eq!(
 1908   1650   
            endpoint,
 1909   1651   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1910   1652   
                .url("https://bucket-name.s3.us-west-2.amazonaws.com")
 1911         -
                .property(
 1912         -
                    "authSchemes",
 1913         -
                    vec![{
 1914         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1915         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1916         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1917         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 1918         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1919         -
                        out
 1920         -
                    }
 1921         -
                    .into()]
        1653  +
                .auth_scheme(
        1654  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1655  +
                        .put("disableDoubleEncoding", true)
        1656  +
                        .put("signingName", "s3".to_string())
        1657  +
                        .put("signingRegion", "us-west-2".to_string())
 1922   1658   
                )
 1923   1659   
                .build()
 1924   1660   
        );
 1925   1661   
    }
 1926   1662   
 1927   1663   
    /// virtual addressing, UseGlobalEndpoint and us-east-1 region and fips uses the regional fips endpoint
 1928   1664   
    #[test]
 1929   1665   
    fn test_66() {
 1930   1666   
        let params = crate::config::endpoint::Params::builder()
 1931   1667   
            .region("us-east-1".to_string())
 1932   1668   
            .use_global_endpoint(true)
 1933   1669   
            .bucket("bucket-name".to_string())
 1934   1670   
            .use_fips(true)
 1935   1671   
            .use_dual_stack(false)
 1936   1672   
            .accelerate(false)
 1937   1673   
            .build()
 1938   1674   
            .expect("invalid params");
 1939   1675   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1940   1676   
        let endpoint = resolver.resolve_endpoint(&params);
 1941   1677   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.us-east-1.amazonaws.com");
 1942   1678   
        assert_eq!(
 1943   1679   
            endpoint,
 1944   1680   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1945   1681   
                .url("https://bucket-name.s3-fips.us-east-1.amazonaws.com")
 1946         -
                .property(
 1947         -
                    "authSchemes",
 1948         -
                    vec![{
 1949         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1950         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1951         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1952         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1953         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1954         -
                        out
 1955         -
                    }
 1956         -
                    .into()]
        1682  +
                .auth_scheme(
        1683  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1684  +
                        .put("disableDoubleEncoding", true)
        1685  +
                        .put("signingName", "s3".to_string())
        1686  +
                        .put("signingRegion", "us-east-1".to_string())
 1957   1687   
                )
 1958   1688   
                .build()
 1959   1689   
        );
 1960   1690   
    }
 1961   1691   
 1962   1692   
    /// virtual addressing, UseGlobalEndpoint and us-east-1 region and dualstack uses the regional dualstack endpoint
 1963   1693   
    #[test]
 1964   1694   
    fn test_67() {
 1965   1695   
        let params = crate::config::endpoint::Params::builder()
 1966   1696   
            .region("us-east-1".to_string())
 1967   1697   
            .use_global_endpoint(true)
 1968   1698   
            .bucket("bucket-name".to_string())
 1969   1699   
            .use_fips(false)
 1970   1700   
            .use_dual_stack(true)
 1971   1701   
            .accelerate(false)
 1972   1702   
            .build()
 1973   1703   
            .expect("invalid params");
 1974   1704   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1975   1705   
        let endpoint = resolver.resolve_endpoint(&params);
 1976   1706   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.dualstack.us-east-1.amazonaws.com");
 1977   1707   
        assert_eq!(
 1978   1708   
            endpoint,
 1979   1709   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1980   1710   
                .url("https://bucket-name.s3.dualstack.us-east-1.amazonaws.com")
 1981         -
                .property(
 1982         -
                    "authSchemes",
 1983         -
                    vec![{
 1984         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1985         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1986         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1987         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1988         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1989         -
                        out
 1990         -
                    }
 1991         -
                    .into()]
        1711  +
                .auth_scheme(
        1712  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1713  +
                        .put("disableDoubleEncoding", true)
        1714  +
                        .put("signingName", "s3".to_string())
        1715  +
                        .put("signingRegion", "us-east-1".to_string())
 1992   1716   
                )
 1993   1717   
                .build()
 1994   1718   
        );
 1995   1719   
    }
 1996   1720   
 1997   1721   
    /// virtual addressing, UseGlobalEndpoint and us-east-1 region and accelerate uses the global accelerate endpoint
 1998   1722   
    #[test]
 1999   1723   
    fn test_68() {
 2000   1724   
        let params = crate::config::endpoint::Params::builder()
 2001   1725   
            .region("us-east-1".to_string())
 2002   1726   
            .use_global_endpoint(true)
 2003   1727   
            .bucket("bucket-name".to_string())
 2004   1728   
            .use_fips(false)
 2005   1729   
            .use_dual_stack(false)
 2006   1730   
            .accelerate(true)
 2007   1731   
            .build()
 2008   1732   
            .expect("invalid params");
 2009   1733   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2010   1734   
        let endpoint = resolver.resolve_endpoint(&params);
 2011   1735   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.amazonaws.com");
 2012   1736   
        assert_eq!(
 2013   1737   
            endpoint,
 2014   1738   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2015   1739   
                .url("https://bucket-name.s3-accelerate.amazonaws.com")
 2016         -
                .property(
 2017         -
                    "authSchemes",
 2018         -
                    vec![{
 2019         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2020         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2021         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2022         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2023         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2024         -
                        out
 2025         -
                    }
 2026         -
                    .into()]
        1740  +
                .auth_scheme(
        1741  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1742  +
                        .put("disableDoubleEncoding", true)
        1743  +
                        .put("signingName", "s3".to_string())
        1744  +
                        .put("signingRegion", "us-east-1".to_string())
 2027   1745   
                )
 2028   1746   
                .build()
 2029   1747   
        );
 2030   1748   
    }
 2031   1749   
 2032   1750   
    /// virtual addressing, UseGlobalEndpoint and us-east-1 region with custom endpoint
 2033   1751   
    #[test]
 2034   1752   
    fn test_69() {
 2035   1753   
        let params = crate::config::endpoint::Params::builder()
 2036   1754   
            .region("us-east-1".to_string())
 2037   1755   
            .endpoint("https://example.com".to_string())
 2038   1756   
            .use_global_endpoint(true)
 2039   1757   
            .bucket("bucket-name".to_string())
 2040   1758   
            .use_fips(false)
 2041   1759   
            .use_dual_stack(false)
 2042   1760   
            .accelerate(false)
 2043   1761   
            .build()
 2044   1762   
            .expect("invalid params");
 2045   1763   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2046   1764   
        let endpoint = resolver.resolve_endpoint(&params);
 2047   1765   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.example.com");
 2048   1766   
        assert_eq!(
 2049   1767   
            endpoint,
 2050   1768   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2051   1769   
                .url("https://bucket-name.example.com")
 2052         -
                .property(
 2053         -
                    "authSchemes",
 2054         -
                    vec![{
 2055         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2056         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2057         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2058         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2059         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2060         -
                        out
 2061         -
                    }
 2062         -
                    .into()]
        1770  +
                .auth_scheme(
        1771  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1772  +
                        .put("disableDoubleEncoding", true)
        1773  +
                        .put("signingName", "s3".to_string())
        1774  +
                        .put("signingRegion", "us-east-1".to_string())
 2063   1775   
                )
 2064   1776   
                .build()
 2065   1777   
        );
 2066   1778   
    }
 2067   1779   
 2068   1780   
    /// ForcePathStyle, aws-global region uses the global endpoint
 2069   1781   
    #[test]
 2070   1782   
    fn test_70() {
 2071   1783   
        let params = crate::config::endpoint::Params::builder()
 2072   1784   
            .region("aws-global".to_string())
 2073   1785   
            .bucket("bucket-name".to_string())
 2074   1786   
            .force_path_style(true)
 2075   1787   
            .use_fips(false)
 2076   1788   
            .use_dual_stack(false)
 2077   1789   
            .accelerate(false)
 2078   1790   
            .build()
 2079   1791   
            .expect("invalid params");
 2080   1792   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2081   1793   
        let endpoint = resolver.resolve_endpoint(&params);
 2082   1794   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com/bucket-name");
 2083   1795   
        assert_eq!(
 2084   1796   
            endpoint,
 2085   1797   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2086   1798   
                .url("https://s3.amazonaws.com/bucket-name")
 2087         -
                .property(
 2088         -
                    "authSchemes",
 2089         -
                    vec![{
 2090         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2091         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2092         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2093         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2094         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2095         -
                        out
 2096         -
                    }
 2097         -
                    .into()]
        1799  +
                .auth_scheme(
        1800  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1801  +
                        .put("disableDoubleEncoding", true)
        1802  +
                        .put("signingName", "s3".to_string())
        1803  +
                        .put("signingRegion", "us-east-1".to_string())
 2098   1804   
                )
 2099   1805   
                .build()
 2100   1806   
        );
 2101   1807   
    }
 2102   1808   
 2103   1809   
    /// ForcePathStyle, aws-global region with fips is invalid
 2104   1810   
    #[test]
 2105   1811   
    fn test_71() {
 2106   1812   
        let params = crate::config::endpoint::Params::builder()
 2107   1813   
            .region("aws-global".to_string())
 2108   1814   
            .bucket("bucket-name".to_string())
 2109   1815   
            .force_path_style(true)
 2110   1816   
            .use_fips(true)
 2111   1817   
            .use_dual_stack(false)
 2112   1818   
            .accelerate(false)
 2113   1819   
            .build()
 2114   1820   
            .expect("invalid params");
 2115   1821   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2116   1822   
        let endpoint = resolver.resolve_endpoint(&params);
 2117   1823   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket-name");
 2118   1824   
        assert_eq!(
 2119   1825   
            endpoint,
 2120   1826   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2121   1827   
                .url("https://s3-fips.us-east-1.amazonaws.com/bucket-name")
 2122         -
                .property(
 2123         -
                    "authSchemes",
 2124         -
                    vec![{
 2125         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2126         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2127         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2128         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2129         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2130         -
                        out
 2131         -
                    }
 2132         -
                    .into()]
        1828  +
                .auth_scheme(
        1829  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1830  +
                        .put("disableDoubleEncoding", true)
        1831  +
                        .put("signingName", "s3".to_string())
        1832  +
                        .put("signingRegion", "us-east-1".to_string())
 2133   1833   
                )
 2134   1834   
                .build()
 2135   1835   
        );
 2136   1836   
    }
 2137   1837   
 2138   1838   
    /// ForcePathStyle, aws-global region with dualstack uses regional dualstack endpoint
 2139   1839   
    #[test]
 2140   1840   
    fn test_72() {
 2141   1841   
        let params = crate::config::endpoint::Params::builder()
 2142   1842   
            .region("aws-global".to_string())
 2143   1843   
            .bucket("bucket-name".to_string())
 2144   1844   
            .force_path_style(true)
 2145   1845   
            .use_fips(false)
 2146   1846   
            .use_dual_stack(true)
 2147   1847   
            .accelerate(false)
 2148   1848   
            .build()
 2149   1849   
            .expect("invalid params");
 2150   1850   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2151   1851   
        let endpoint = resolver.resolve_endpoint(&params);
 2152   1852   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com/bucket-name");
 2153   1853   
        assert_eq!(
 2154   1854   
            endpoint,
 2155   1855   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2156   1856   
                .url("https://s3.dualstack.us-east-1.amazonaws.com/bucket-name")
 2157         -
                .property(
 2158         -
                    "authSchemes",
 2159         -
                    vec![{
 2160         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2161         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2162         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2163         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2164         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2165         -
                        out
 2166         -
                    }
 2167         -
                    .into()]
        1857  +
                .auth_scheme(
        1858  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1859  +
                        .put("disableDoubleEncoding", true)
        1860  +
                        .put("signingName", "s3".to_string())
        1861  +
                        .put("signingRegion", "us-east-1".to_string())
 2168   1862   
                )
 2169   1863   
                .build()
 2170   1864   
        );
 2171   1865   
    }
 2172   1866   
 2173   1867   
    /// ForcePathStyle, aws-global region custom endpoint uses the custom endpoint
 2174   1868   
    #[test]
 2175   1869   
    fn test_73() {
 2176   1870   
        let params = crate::config::endpoint::Params::builder()
 2177   1871   
            .region("aws-global".to_string())
 2178   1872   
            .endpoint("https://example.com".to_string())
 2179   1873   
            .bucket("bucket-name".to_string())
 2180   1874   
            .force_path_style(true)
 2181   1875   
            .use_fips(false)
 2182   1876   
            .use_dual_stack(false)
 2183   1877   
            .accelerate(false)
 2184   1878   
            .build()
 2185   1879   
            .expect("invalid params");
 2186   1880   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2187   1881   
        let endpoint = resolver.resolve_endpoint(&params);
 2188   1882   
        let endpoint = endpoint.expect("Expected valid endpoint: https://example.com/bucket-name");
 2189   1883   
        assert_eq!(
 2190   1884   
            endpoint,
 2191   1885   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2192   1886   
                .url("https://example.com/bucket-name")
 2193         -
                .property(
 2194         -
                    "authSchemes",
 2195         -
                    vec![{
 2196         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2197         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2198         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2199         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2200         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2201         -
                        out
 2202         -
                    }
 2203         -
                    .into()]
        1887  +
                .auth_scheme(
        1888  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1889  +
                        .put("disableDoubleEncoding", true)
        1890  +
                        .put("signingName", "s3".to_string())
        1891  +
                        .put("signingRegion", "us-east-1".to_string())
 2204   1892   
                )
 2205   1893   
                .build()
 2206   1894   
        );
 2207   1895   
    }
 2208   1896   
 2209   1897   
    /// ForcePathStyle, UseGlobalEndpoint us-east-1 region uses the global endpoint
 2210   1898   
    #[test]
 2211   1899   
    fn test_74() {
 2212   1900   
        let params = crate::config::endpoint::Params::builder()
 2213   1901   
            .region("us-east-1".to_string())
 2214   1902   
            .bucket("bucket-name".to_string())
 2215   1903   
            .use_global_endpoint(true)
 2216   1904   
            .force_path_style(true)
 2217   1905   
            .use_fips(false)
 2218   1906   
            .use_dual_stack(false)
 2219   1907   
            .accelerate(false)
 2220   1908   
            .build()
 2221   1909   
            .expect("invalid params");
 2222   1910   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2223   1911   
        let endpoint = resolver.resolve_endpoint(&params);
 2224   1912   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com/bucket-name");
 2225   1913   
        assert_eq!(
 2226   1914   
            endpoint,
 2227   1915   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2228   1916   
                .url("https://s3.amazonaws.com/bucket-name")
 2229         -
                .property(
 2230         -
                    "authSchemes",
 2231         -
                    vec![{
 2232         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2233         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2234         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2235         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2236         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2237         -
                        out
 2238         -
                    }
 2239         -
                    .into()]
        1917  +
                .auth_scheme(
        1918  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1919  +
                        .put("disableDoubleEncoding", true)
        1920  +
                        .put("signingName", "s3".to_string())
        1921  +
                        .put("signingRegion", "us-east-1".to_string())
 2240   1922   
                )
 2241   1923   
                .build()
 2242   1924   
        );
 2243   1925   
    }
 2244   1926   
 2245   1927   
    /// ForcePathStyle, UseGlobalEndpoint us-west-2 region uses the regional endpoint
 2246   1928   
    #[test]
 2247   1929   
    fn test_75() {
 2248   1930   
        let params = crate::config::endpoint::Params::builder()
 2249   1931   
            .region("us-west-2".to_string())
 2250   1932   
            .bucket("bucket-name".to_string())
 2251   1933   
            .use_global_endpoint(true)
 2252   1934   
            .force_path_style(true)
 2253   1935   
            .use_fips(false)
 2254   1936   
            .use_dual_stack(false)
 2255   1937   
            .accelerate(false)
 2256   1938   
            .build()
 2257   1939   
            .expect("invalid params");
 2258   1940   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2259   1941   
        let endpoint = resolver.resolve_endpoint(&params);
 2260   1942   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/bucket-name");
 2261   1943   
        assert_eq!(
 2262   1944   
            endpoint,
 2263   1945   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2264   1946   
                .url("https://s3.us-west-2.amazonaws.com/bucket-name")
 2265         -
                .property(
 2266         -
                    "authSchemes",
 2267         -
                    vec![{
 2268         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2269         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2270         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2271         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 2272         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2273         -
                        out
 2274         -
                    }
 2275         -
                    .into()]
        1947  +
                .auth_scheme(
        1948  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1949  +
                        .put("disableDoubleEncoding", true)
        1950  +
                        .put("signingName", "s3".to_string())
        1951  +
                        .put("signingRegion", "us-west-2".to_string())
 2276   1952   
                )
 2277   1953   
                .build()
 2278   1954   
        );
 2279   1955   
    }
 2280   1956   
 2281   1957   
    /// ForcePathStyle, UseGlobalEndpoint us-east-1 region, dualstack uses the regional dualstack endpoint
 2282   1958   
    #[test]
 2283   1959   
    fn test_76() {
 2284   1960   
        let params = crate::config::endpoint::Params::builder()
 2285   1961   
            .region("us-east-1".to_string())
 2286   1962   
            .bucket("bucket-name".to_string())
 2287   1963   
            .use_global_endpoint(true)
 2288   1964   
            .force_path_style(true)
 2289   1965   
            .use_fips(false)
 2290   1966   
            .use_dual_stack(true)
 2291   1967   
            .accelerate(false)
 2292   1968   
            .build()
 2293   1969   
            .expect("invalid params");
 2294   1970   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2295   1971   
        let endpoint = resolver.resolve_endpoint(&params);
 2296   1972   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com/bucket-name");
 2297   1973   
        assert_eq!(
 2298   1974   
            endpoint,
 2299   1975   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2300   1976   
                .url("https://s3.dualstack.us-east-1.amazonaws.com/bucket-name")
 2301         -
                .property(
 2302         -
                    "authSchemes",
 2303         -
                    vec![{
 2304         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2305         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2306         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2307         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2308         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2309         -
                        out
 2310         -
                    }
 2311         -
                    .into()]
        1977  +
                .auth_scheme(
        1978  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1979  +
                        .put("disableDoubleEncoding", true)
        1980  +
                        .put("signingName", "s3".to_string())
        1981  +
                        .put("signingRegion", "us-east-1".to_string())
 2312   1982   
                )
 2313   1983   
                .build()
 2314   1984   
        );
 2315   1985   
    }
 2316   1986   
 2317   1987   
    /// ForcePathStyle, UseGlobalEndpoint us-east-1 region custom endpoint uses the custom endpoint
 2318   1988   
    #[test]
 2319   1989   
    fn test_77() {
 2320   1990   
        let params = crate::config::endpoint::Params::builder()
 2321   1991   
            .region("us-east-1".to_string())
 2322   1992   
            .bucket("bucket-name".to_string())
 2323   1993   
            .endpoint("https://example.com".to_string())
 2324   1994   
            .use_global_endpoint(true)
 2325   1995   
            .force_path_style(true)
 2326   1996   
            .use_fips(false)
 2327   1997   
            .use_dual_stack(false)
 2328   1998   
            .accelerate(false)
 2329   1999   
            .build()
 2330   2000   
            .expect("invalid params");
 2331   2001   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2332   2002   
        let endpoint = resolver.resolve_endpoint(&params);
 2333   2003   
        let endpoint = endpoint.expect("Expected valid endpoint: https://example.com/bucket-name");
 2334   2004   
        assert_eq!(
 2335   2005   
            endpoint,
 2336   2006   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2337   2007   
                .url("https://example.com/bucket-name")
 2338         -
                .property(
 2339         -
                    "authSchemes",
 2340         -
                    vec![{
 2341         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2342         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2343         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2344         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2345         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2346         -
                        out
 2347         -
                    }
 2348         -
                    .into()]
        2008  +
                .auth_scheme(
        2009  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2010  +
                        .put("disableDoubleEncoding", true)
        2011  +
                        .put("signingName", "s3".to_string())
        2012  +
                        .put("signingRegion", "us-east-1".to_string())
 2349   2013   
                )
 2350   2014   
                .build()
 2351   2015   
        );
 2352   2016   
    }
 2353   2017   
 2354   2018   
    /// ARN with aws-global region and  UseArnRegion uses the regional endpoint
 2355   2019   
    #[test]
 2356   2020   
    fn test_78() {
 2357   2021   
        let params = crate::config::endpoint::Params::builder()
 2358   2022   
            .region("aws-global".to_string())
 2359   2023   
            .use_arn_region(true)
 2360   2024   
            .use_fips(false)
 2361   2025   
            .use_dual_stack(false)
 2362   2026   
            .accelerate(false)
 2363   2027   
            .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
 2364   2028   
            .build()
 2365   2029   
            .expect("invalid params");
 2366   2030   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2367   2031   
        let endpoint = resolver.resolve_endpoint(&params);
 2368   2032   
        let endpoint =
 2369   2033   
            endpoint.expect("Expected valid endpoint: https://reports-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com");
 2370   2034   
        assert_eq!(
 2371   2035   
            endpoint,
 2372   2036   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2373   2037   
                .url("https://reports-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com")
 2374         -
                .property(
 2375         -
                    "authSchemes",
 2376         -
                    vec![
 2377         -
                        {
 2378         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2379         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 2380         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 2381         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 2382         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 2383         -
                            out
 2384         -
                        }
 2385         -
                        .into(),
 2386         -
                        {
 2387         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2388         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 2389         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 2390         -
                            out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2391         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 2392         -
                            out
 2393         -
                        }
 2394         -
                        .into()
 2395         -
                    ]
        2038  +
                .auth_scheme(
        2039  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        2040  +
                        .put("disableDoubleEncoding", true)
        2041  +
                        .put("signingName", "s3-outposts".to_string())
        2042  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        2043  +
                )
        2044  +
                .auth_scheme(
        2045  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2046  +
                        .put("disableDoubleEncoding", true)
        2047  +
                        .put("signingName", "s3-outposts".to_string())
        2048  +
                        .put("signingRegion", "us-east-1".to_string())
 2396   2049   
                )
 2397   2050   
                .build()
 2398   2051   
        );
 2399   2052   
    }
 2400   2053   
 2401   2054   
    /// cross partition MRAP ARN is an error
 2402   2055   
    #[test]
 2403   2056   
    fn test_79() {
 2404   2057   
        let params = crate::config::endpoint::Params::builder()
 2405   2058   
            .bucket("arn:aws-cn:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
 2406   2059   
            .region("us-west-1".to_string())
 2407   2060   
            .build()
 2408   2061   
            .expect("invalid params");
 2409   2062   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2410   2063   
        let endpoint = resolver.resolve_endpoint(&params);
 2411   2064   
        let error = endpoint.expect_err("expected error: Client was configured for partition `aws` but bucket referred to partition `aws-cn` [cross partition MRAP ARN is an error]");
 2412   2065   
        assert_eq!(
 2413   2066   
            format!("{}", error),
 2414   2067   
            "Client was configured for partition `aws` but bucket referred to partition `aws-cn`"
 2415   2068   
        )
 2416   2069   
    }
 2417   2070   
 2418   2071   
    /// Endpoint override, accesspoint with HTTP, port
 2419   2072   
    #[test]
 2420   2073   
    fn test_80() {
 2421   2074   
        let params = crate::config::endpoint::Params::builder()
 2422   2075   
            .endpoint("http://beta.example.com:1234".to_string())
 2423   2076   
            .region("us-west-2".to_string())
 2424   2077   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
 2425   2078   
            .build()
 2426   2079   
            .expect("invalid params");
 2427   2080   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2428   2081   
        let endpoint = resolver.resolve_endpoint(&params);
 2429   2082   
        let endpoint = endpoint.expect("Expected valid endpoint: http://myendpoint-123456789012.beta.example.com:1234");
 2430   2083   
        assert_eq!(
 2431   2084   
            endpoint,
 2432   2085   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2433   2086   
                .url("http://myendpoint-123456789012.beta.example.com:1234")
 2434         -
                .property(
 2435         -
                    "authSchemes",
 2436         -
                    vec![{
 2437         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2438         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2439         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2440         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 2441         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2442         -
                        out
 2443         -
                    }
 2444         -
                    .into()]
        2087  +
                .auth_scheme(
        2088  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2089  +
                        .put("disableDoubleEncoding", true)
        2090  +
                        .put("signingName", "s3".to_string())
        2091  +
                        .put("signingRegion", "us-west-2".to_string())
 2445   2092   
                )
 2446   2093   
                .build()
 2447   2094   
        );
 2448   2095   
    }
 2449   2096   
 2450   2097   
    /// Endpoint override, accesspoint with http, path, query, and port
 2451   2098   
    #[test]
 2452   2099   
    fn test_81() {
 2453   2100   
        let params = crate::config::endpoint::Params::builder()
 2454   2101   
            .region("us-west-2".to_string())
 2455   2102   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
 2456   2103   
            .endpoint("http://beta.example.com:1234/path".to_string())
 2457   2104   
            .use_fips(false)
 2458   2105   
            .use_dual_stack(false)
 2459   2106   
            .accelerate(false)
 2460   2107   
            .build()
 2461   2108   
            .expect("invalid params");
 2462   2109   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2463   2110   
        let endpoint = resolver.resolve_endpoint(&params);
 2464   2111   
        let endpoint = endpoint.expect("Expected valid endpoint: http://myendpoint-123456789012.beta.example.com:1234/path");
 2465   2112   
        assert_eq!(
 2466   2113   
            endpoint,
 2467   2114   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2468   2115   
                .url("http://myendpoint-123456789012.beta.example.com:1234/path")
 2469         -
                .property(
 2470         -
                    "authSchemes",
 2471         -
                    vec![{
 2472         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2473         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2474         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2475         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 2476         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2477         -
                        out
 2478         -
                    }
 2479         -
                    .into()]
        2116  +
                .auth_scheme(
        2117  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2118  +
                        .put("disableDoubleEncoding", true)
        2119  +
                        .put("signingName", "s3".to_string())
        2120  +
                        .put("signingRegion", "us-west-2".to_string())
 2480   2121   
                )
 2481   2122   
                .build()
 2482   2123   
        );
 2483   2124   
    }
 2484   2125   
 2485   2126   
    /// non-bucket endpoint override with FIPS = error
 2486   2127   
    #[test]
 2487   2128   
    fn test_82() {
 2488   2129   
        let params = crate::config::endpoint::Params::builder()
 2489   2130   
            .region("us-west-2".to_string())
@@ -2522,2163 +2907,2488 @@
 2542   2183   
            .use_dual_stack(false)
 2543   2184   
            .build()
 2544   2185   
            .expect("invalid params");
 2545   2186   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2546   2187   
        let endpoint = resolver.resolve_endpoint(&params);
 2547   2188   
        let endpoint = endpoint.expect("Expected valid endpoint: http://beta.example.com:1234/path");
 2548   2189   
        assert_eq!(
 2549   2190   
            endpoint,
 2550   2191   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2551   2192   
                .url("http://beta.example.com:1234/path")
 2552         -
                .property(
 2553         -
                    "authSchemes",
 2554         -
                    vec![{
 2555         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2556         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2557         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2558         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 2559         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2560         -
                        out
 2561         -
                    }
 2562         -
                    .into()]
        2193  +
                .auth_scheme(
        2194  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2195  +
                        .put("disableDoubleEncoding", true)
        2196  +
                        .put("signingName", "s3".to_string())
        2197  +
                        .put("signingRegion", "us-west-2".to_string())
 2563   2198   
                )
 2564   2199   
                .build()
 2565   2200   
        );
 2566   2201   
    }
 2567   2202   
 2568   2203   
    /// s3 object lambda with access points disabled
 2569   2204   
    #[test]
 2570   2205   
    fn test_86() {
 2571   2206   
        let params = crate::config::endpoint::Params::builder()
 2572   2207   
            .region("us-west-2".to_string())
 2573   2208   
            .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:myendpoint".to_string())
 2574   2209   
            .disable_access_points(true)
 2575   2210   
            .build()
 2576   2211   
            .expect("invalid params");
 2577   2212   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2578   2213   
        let endpoint = resolver.resolve_endpoint(&params);
 2579   2214   
        let error =
 2580   2215   
            endpoint.expect_err("expected error: Access points are not supported for this operation [s3 object lambda with access points disabled]");
 2581   2216   
        assert_eq!(format!("{}", error), "Access points are not supported for this operation")
 2582   2217   
    }
 2583   2218   
 2584   2219   
    /// non bucket + FIPS
 2585   2220   
    #[test]
 2586   2221   
    fn test_87() {
 2587   2222   
        let params = crate::config::endpoint::Params::builder()
 2588   2223   
            .region("us-west-2".to_string())
 2589   2224   
            .use_fips(true)
 2590   2225   
            .use_dual_stack(false)
 2591   2226   
            .build()
 2592   2227   
            .expect("invalid params");
 2593   2228   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2594   2229   
        let endpoint = resolver.resolve_endpoint(&params);
 2595   2230   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-west-2.amazonaws.com");
 2596   2231   
        assert_eq!(
 2597   2232   
            endpoint,
 2598   2233   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2599   2234   
                .url("https://s3-fips.us-west-2.amazonaws.com")
 2600         -
                .property(
 2601         -
                    "authSchemes",
 2602         -
                    vec![{
 2603         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2604         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2605         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2606         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 2607         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2608         -
                        out
 2609         -
                    }
 2610         -
                    .into()]
        2235  +
                .auth_scheme(
        2236  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2237  +
                        .put("disableDoubleEncoding", true)
        2238  +
                        .put("signingName", "s3".to_string())
        2239  +
                        .put("signingRegion", "us-west-2".to_string())
 2611   2240   
                )
 2612   2241   
                .build()
 2613   2242   
        );
 2614   2243   
    }
 2615   2244   
 2616   2245   
    /// standard non bucket endpoint
 2617   2246   
    #[test]
 2618   2247   
    fn test_88() {
 2619   2248   
        let params = crate::config::endpoint::Params::builder()
 2620   2249   
            .region("us-west-2".to_string())
 2621   2250   
            .use_fips(false)
 2622   2251   
            .use_dual_stack(false)
 2623   2252   
            .build()
 2624   2253   
            .expect("invalid params");
 2625   2254   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2626   2255   
        let endpoint = resolver.resolve_endpoint(&params);
 2627   2256   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com");
 2628   2257   
        assert_eq!(
 2629   2258   
            endpoint,
 2630   2259   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2631   2260   
                .url("https://s3.us-west-2.amazonaws.com")
 2632         -
                .property(
 2633         -
                    "authSchemes",
 2634         -
                    vec![{
 2635         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2636         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2637         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2638         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 2639         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2640         -
                        out
 2641         -
                    }
 2642         -
                    .into()]
        2261  +
                .auth_scheme(
        2262  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2263  +
                        .put("disableDoubleEncoding", true)
        2264  +
                        .put("signingName", "s3".to_string())
        2265  +
                        .put("signingRegion", "us-west-2".to_string())
 2643   2266   
                )
 2644   2267   
                .build()
 2645   2268   
        );
 2646   2269   
    }
 2647   2270   
 2648   2271   
    /// non bucket endpoint with FIPS + Dualstack
 2649   2272   
    #[test]
 2650   2273   
    fn test_89() {
 2651   2274   
        let params = crate::config::endpoint::Params::builder()
 2652   2275   
            .region("us-west-2".to_string())
 2653   2276   
            .use_fips(true)
 2654   2277   
            .use_dual_stack(true)
 2655   2278   
            .build()
 2656   2279   
            .expect("invalid params");
 2657   2280   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2658   2281   
        let endpoint = resolver.resolve_endpoint(&params);
 2659   2282   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-west-2.amazonaws.com");
 2660   2283   
        assert_eq!(
 2661   2284   
            endpoint,
 2662   2285   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2663   2286   
                .url("https://s3-fips.dualstack.us-west-2.amazonaws.com")
 2664         -
                .property(
 2665         -
                    "authSchemes",
 2666         -
                    vec![{
 2667         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2668         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2669         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2670         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 2671         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2672         -
                        out
 2673         -
                    }
 2674         -
                    .into()]
        2287  +
                .auth_scheme(
        2288  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2289  +
                        .put("disableDoubleEncoding", true)
        2290  +
                        .put("signingName", "s3".to_string())
        2291  +
                        .put("signingRegion", "us-west-2".to_string())
 2675   2292   
                )
 2676   2293   
                .build()
 2677   2294   
        );
 2678   2295   
    }
 2679   2296   
 2680   2297   
    /// non bucket endpoint with dualstack
 2681   2298   
    #[test]
 2682   2299   
    fn test_90() {
 2683   2300   
        let params = crate::config::endpoint::Params::builder()
 2684   2301   
            .region("us-west-2".to_string())
 2685   2302   
            .use_fips(false)
 2686   2303   
            .use_dual_stack(true)
 2687   2304   
            .build()
 2688   2305   
            .expect("invalid params");
 2689   2306   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2690   2307   
        let endpoint = resolver.resolve_endpoint(&params);
 2691   2308   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-west-2.amazonaws.com");
 2692   2309   
        assert_eq!(
 2693   2310   
            endpoint,
 2694   2311   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2695   2312   
                .url("https://s3.dualstack.us-west-2.amazonaws.com")
 2696         -
                .property(
 2697         -
                    "authSchemes",
 2698         -
                    vec![{
 2699         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2700         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2701         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2702         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 2703         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2704         -
                        out
 2705         -
                    }
 2706         -
                    .into()]
        2313  +
                .auth_scheme(
        2314  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2315  +
                        .put("disableDoubleEncoding", true)
        2316  +
                        .put("signingName", "s3".to_string())
        2317  +
                        .put("signingRegion", "us-west-2".to_string())
 2707   2318   
                )
 2708   2319   
                .build()
 2709   2320   
        );
 2710   2321   
    }
 2711   2322   
 2712   2323   
    /// use global endpoint + IP address endpoint override
 2713   2324   
    #[test]
 2714   2325   
    fn test_91() {
 2715   2326   
        let params = crate::config::endpoint::Params::builder()
 2716   2327   
            .region("us-east-1".to_string())
 2717   2328   
            .bucket("bucket".to_string())
 2718   2329   
            .use_fips(false)
 2719   2330   
            .use_dual_stack(false)
 2720   2331   
            .endpoint("http://127.0.0.1".to_string())
 2721   2332   
            .use_global_endpoint(true)
 2722   2333   
            .build()
 2723   2334   
            .expect("invalid params");
 2724   2335   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2725   2336   
        let endpoint = resolver.resolve_endpoint(&params);
 2726   2337   
        let endpoint = endpoint.expect("Expected valid endpoint: http://127.0.0.1/bucket");
 2727   2338   
        assert_eq!(
 2728   2339   
            endpoint,
 2729   2340   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2730   2341   
                .url("http://127.0.0.1/bucket")
 2731         -
                .property(
 2732         -
                    "authSchemes",
 2733         -
                    vec![{
 2734         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2735         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2736         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2737         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2738         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2739         -
                        out
 2740         -
                    }
 2741         -
                    .into()]
        2342  +
                .auth_scheme(
        2343  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2344  +
                        .put("disableDoubleEncoding", true)
        2345  +
                        .put("signingName", "s3".to_string())
        2346  +
                        .put("signingRegion", "us-east-1".to_string())
 2742   2347   
                )
 2743   2348   
                .build()
 2744   2349   
        );
 2745   2350   
    }
 2746   2351   
 2747   2352   
    /// non-dns endpoint + global endpoint
 2748   2353   
    #[test]
 2749   2354   
    fn test_92() {
 2750   2355   
        let params = crate::config::endpoint::Params::builder()
 2751   2356   
            .region("us-east-1".to_string())
 2752   2357   
            .bucket("bucket!".to_string())
 2753   2358   
            .use_fips(false)
 2754   2359   
            .use_dual_stack(false)
 2755   2360   
            .use_global_endpoint(true)
 2756   2361   
            .build()
 2757   2362   
            .expect("invalid params");
 2758   2363   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2759   2364   
        let endpoint = resolver.resolve_endpoint(&params);
 2760   2365   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com/bucket%21");
 2761   2366   
        assert_eq!(
 2762   2367   
            endpoint,
 2763   2368   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2764   2369   
                .url("https://s3.amazonaws.com/bucket%21")
 2765         -
                .property(
 2766         -
                    "authSchemes",
 2767         -
                    vec![{
 2768         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2769         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2770         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2771         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2772         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2773         -
                        out
 2774         -
                    }
 2775         -
                    .into()]
        2370  +
                .auth_scheme(
        2371  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2372  +
                        .put("disableDoubleEncoding", true)
        2373  +
                        .put("signingName", "s3".to_string())
        2374  +
                        .put("signingRegion", "us-east-1".to_string())
 2776   2375   
                )
 2777   2376   
                .build()
 2778   2377   
        );
 2779   2378   
    }
 2780   2379   
 2781   2380   
    /// endpoint override + use global endpoint
 2782   2381   
    #[test]
 2783   2382   
    fn test_93() {
 2784   2383   
        let params = crate::config::endpoint::Params::builder()
 2785   2384   
            .region("us-east-1".to_string())
 2786   2385   
            .bucket("bucket!".to_string())
 2787   2386   
            .use_fips(false)
 2788   2387   
            .use_dual_stack(false)
 2789   2388   
            .use_global_endpoint(true)
 2790   2389   
            .endpoint("http://foo.com".to_string())
 2791   2390   
            .build()
 2792   2391   
            .expect("invalid params");
 2793   2392   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2794   2393   
        let endpoint = resolver.resolve_endpoint(&params);
 2795   2394   
        let endpoint = endpoint.expect("Expected valid endpoint: http://foo.com/bucket%21");
 2796   2395   
        assert_eq!(
 2797   2396   
            endpoint,
 2798   2397   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2799   2398   
                .url("http://foo.com/bucket%21")
 2800         -
                .property(
 2801         -
                    "authSchemes",
 2802         -
                    vec![{
 2803         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2804         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2805         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2806         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2807         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2808         -
                        out
 2809         -
                    }
 2810         -
                    .into()]
        2399  +
                .auth_scheme(
        2400  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2401  +
                        .put("disableDoubleEncoding", true)
        2402  +
                        .put("signingName", "s3".to_string())
        2403  +
                        .put("signingRegion", "us-east-1".to_string())
 2811   2404   
                )
 2812   2405   
                .build()
 2813   2406   
        );
 2814   2407   
    }
 2815   2408   
 2816   2409   
    /// FIPS + dualstack + non-bucket endpoint
 2817   2410   
    #[test]
 2818   2411   
    fn test_94() {
 2819   2412   
        let params = crate::config::endpoint::Params::builder()
 2820   2413   
            .region("us-east-1".to_string())
 2821   2414   
            .bucket("bucket!".to_string())
 2822   2415   
            .use_fips(true)
 2823   2416   
            .use_dual_stack(true)
 2824   2417   
            .build()
 2825   2418   
            .expect("invalid params");
 2826   2419   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2827   2420   
        let endpoint = resolver.resolve_endpoint(&params);
 2828   2421   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
 2829   2422   
        assert_eq!(
 2830   2423   
            endpoint,
 2831   2424   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2832   2425   
                .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
 2833         -
                .property(
 2834         -
                    "authSchemes",
 2835         -
                    vec![{
 2836         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2837         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2838         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2839         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2840         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2841         -
                        out
 2842         -
                    }
 2843         -
                    .into()]
        2426  +
                .auth_scheme(
        2427  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2428  +
                        .put("disableDoubleEncoding", true)
        2429  +
                        .put("signingName", "s3".to_string())
        2430  +
                        .put("signingRegion", "us-east-1".to_string())
 2844   2431   
                )
 2845   2432   
                .build()
 2846   2433   
        );
 2847   2434   
    }
 2848   2435   
 2849   2436   
    /// FIPS + dualstack + non-DNS endpoint
 2850   2437   
    #[test]
 2851   2438   
    fn test_95() {
 2852   2439   
        let params = crate::config::endpoint::Params::builder()
 2853   2440   
            .region("us-east-1".to_string())
 2854   2441   
            .bucket("bucket!".to_string())
 2855   2442   
            .force_path_style(true)
 2856   2443   
            .use_fips(true)
 2857   2444   
            .use_dual_stack(true)
 2858   2445   
            .build()
 2859   2446   
            .expect("invalid params");
 2860   2447   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2861   2448   
        let endpoint = resolver.resolve_endpoint(&params);
 2862   2449   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
 2863   2450   
        assert_eq!(
 2864   2451   
            endpoint,
 2865   2452   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2866   2453   
                .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
 2867         -
                .property(
 2868         -
                    "authSchemes",
 2869         -
                    vec![{
 2870         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2871         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2872         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2873         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2874         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2875         -
                        out
 2876         -
                    }
 2877         -
                    .into()]
        2454  +
                .auth_scheme(
        2455  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2456  +
                        .put("disableDoubleEncoding", true)
        2457  +
                        .put("signingName", "s3".to_string())
        2458  +
                        .put("signingRegion", "us-east-1".to_string())
 2878   2459   
                )
 2879   2460   
                .build()
 2880   2461   
        );
 2881   2462   
    }
 2882   2463   
 2883   2464   
    /// endpoint override + FIPS + dualstack (BUG)
 2884   2465   
    #[test]
 2885   2466   
    fn test_96() {
 2886   2467   
        let params = crate::config::endpoint::Params::builder()
 2887   2468   
            .region("us-east-1".to_string())
@@ -2909,2490 +3264,2797 @@
 2929   2510   
            .use_global_endpoint(true)
 2930   2511   
            .build()
 2931   2512   
            .expect("invalid params");
 2932   2513   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2933   2514   
        let endpoint = resolver.resolve_endpoint(&params);
 2934   2515   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket%21");
 2935   2516   
        assert_eq!(
 2936   2517   
            endpoint,
 2937   2518   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2938   2519   
                .url("https://s3-fips.us-east-1.amazonaws.com/bucket%21")
 2939         -
                .property(
 2940         -
                    "authSchemes",
 2941         -
                    vec![{
 2942         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2943         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2944         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2945         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2946         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2947         -
                        out
 2948         -
                    }
 2949         -
                    .into()]
        2520  +
                .auth_scheme(
        2521  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2522  +
                        .put("disableDoubleEncoding", true)
        2523  +
                        .put("signingName", "s3".to_string())
        2524  +
                        .put("signingRegion", "us-east-1".to_string())
 2950   2525   
                )
 2951   2526   
                .build()
 2952   2527   
        );
 2953   2528   
    }
 2954   2529   
 2955   2530   
    /// bucket + FIPS + force path style
 2956   2531   
    #[test]
 2957   2532   
    fn test_99() {
 2958   2533   
        let params = crate::config::endpoint::Params::builder()
 2959   2534   
            .region("us-east-1".to_string())
 2960   2535   
            .bucket("bucket".to_string())
 2961   2536   
            .force_path_style(true)
 2962   2537   
            .use_fips(true)
 2963   2538   
            .use_dual_stack(true)
 2964   2539   
            .use_global_endpoint(true)
 2965   2540   
            .build()
 2966   2541   
            .expect("invalid params");
 2967   2542   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2968   2543   
        let endpoint = resolver.resolve_endpoint(&params);
 2969   2544   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket");
 2970   2545   
        assert_eq!(
 2971   2546   
            endpoint,
 2972   2547   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2973   2548   
                .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket")
 2974         -
                .property(
 2975         -
                    "authSchemes",
 2976         -
                    vec![{
 2977         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2978         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2979         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2980         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2981         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2982         -
                        out
 2983         -
                    }
 2984         -
                    .into()]
        2549  +
                .auth_scheme(
        2550  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2551  +
                        .put("disableDoubleEncoding", true)
        2552  +
                        .put("signingName", "s3".to_string())
        2553  +
                        .put("signingRegion", "us-east-1".to_string())
 2985   2554   
                )
 2986   2555   
                .build()
 2987   2556   
        );
 2988   2557   
    }
 2989   2558   
 2990   2559   
    /// FIPS + dualstack + use global endpoint
 2991   2560   
    #[test]
 2992   2561   
    fn test_100() {
 2993   2562   
        let params = crate::config::endpoint::Params::builder()
 2994   2563   
            .region("us-east-1".to_string())
 2995   2564   
            .bucket("bucket".to_string())
 2996   2565   
            .use_fips(true)
 2997   2566   
            .use_dual_stack(true)
 2998   2567   
            .use_global_endpoint(true)
 2999   2568   
            .build()
 3000   2569   
            .expect("invalid params");
 3001   2570   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3002   2571   
        let endpoint = resolver.resolve_endpoint(&params);
 3003   2572   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket.s3-fips.dualstack.us-east-1.amazonaws.com");
 3004   2573   
        assert_eq!(
 3005   2574   
            endpoint,
 3006   2575   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3007   2576   
                .url("https://bucket.s3-fips.dualstack.us-east-1.amazonaws.com")
 3008         -
                .property(
 3009         -
                    "authSchemes",
 3010         -
                    vec![{
 3011         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3012         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3013         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3014         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3015         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3016         -
                        out
 3017         -
                    }
 3018         -
                    .into()]
        2577  +
                .auth_scheme(
        2578  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2579  +
                        .put("disableDoubleEncoding", true)
        2580  +
                        .put("signingName", "s3".to_string())
        2581  +
                        .put("signingRegion", "us-east-1".to_string())
 3019   2582   
                )
 3020   2583   
                .build()
 3021   2584   
        );
 3022   2585   
    }
 3023   2586   
 3024   2587   
    /// URI encoded bucket + use global endpoint
 3025   2588   
    #[test]
 3026   2589   
    fn test_101() {
 3027   2590   
        let params = crate::config::endpoint::Params::builder()
 3028   2591   
            .region("us-east-1".to_string())
 3029   2592   
            .bucket("bucket!".to_string())
 3030   2593   
            .use_fips(true)
 3031   2594   
            .use_dual_stack(false)
 3032   2595   
            .use_global_endpoint(true)
 3033   2596   
            .endpoint("https://foo.com".to_string())
 3034   2597   
            .build()
 3035   2598   
            .expect("invalid params");
 3036   2599   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3037   2600   
        let endpoint = resolver.resolve_endpoint(&params);
 3038   2601   
        let error = endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [URI encoded bucket + use global endpoint]");
 3039   2602   
        assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
 3040   2603   
    }
 3041   2604   
 3042   2605   
    /// FIPS + path based endpoint
 3043   2606   
    #[test]
 3044   2607   
    fn test_102() {
 3045   2608   
        let params = crate::config::endpoint::Params::builder()
 3046   2609   
            .region("us-east-1".to_string())
 3047   2610   
            .bucket("bucket!".to_string())
 3048   2611   
            .use_fips(true)
 3049   2612   
            .use_dual_stack(false)
 3050   2613   
            .accelerate(false)
 3051   2614   
            .use_global_endpoint(true)
 3052   2615   
            .build()
 3053   2616   
            .expect("invalid params");
 3054   2617   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3055   2618   
        let endpoint = resolver.resolve_endpoint(&params);
 3056   2619   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket%21");
 3057   2620   
        assert_eq!(
 3058   2621   
            endpoint,
 3059   2622   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3060   2623   
                .url("https://s3-fips.us-east-1.amazonaws.com/bucket%21")
 3061         -
                .property(
 3062         -
                    "authSchemes",
 3063         -
                    vec![{
 3064         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3065         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3066         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3067         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3068         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3069         -
                        out
 3070         -
                    }
 3071         -
                    .into()]
        2624  +
                .auth_scheme(
        2625  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2626  +
                        .put("disableDoubleEncoding", true)
        2627  +
                        .put("signingName", "s3".to_string())
        2628  +
                        .put("signingRegion", "us-east-1".to_string())
 3072   2629   
                )
 3073   2630   
                .build()
 3074   2631   
        );
 3075   2632   
    }
 3076   2633   
 3077   2634   
    /// accelerate + dualstack + global endpoint
 3078   2635   
    #[test]
 3079   2636   
    fn test_103() {
 3080   2637   
        let params = crate::config::endpoint::Params::builder()
 3081   2638   
            .region("us-east-1".to_string())
 3082   2639   
            .bucket("bucket".to_string())
 3083   2640   
            .use_fips(false)
 3084   2641   
            .use_dual_stack(true)
 3085   2642   
            .accelerate(true)
 3086   2643   
            .use_global_endpoint(true)
 3087   2644   
            .build()
 3088   2645   
            .expect("invalid params");
 3089   2646   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3090   2647   
        let endpoint = resolver.resolve_endpoint(&params);
 3091   2648   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket.s3-accelerate.dualstack.amazonaws.com");
 3092   2649   
        assert_eq!(
 3093   2650   
            endpoint,
 3094   2651   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3095   2652   
                .url("https://bucket.s3-accelerate.dualstack.amazonaws.com")
 3096         -
                .property(
 3097         -
                    "authSchemes",
 3098         -
                    vec![{
 3099         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3100         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3101         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3102         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3103         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3104         -
                        out
 3105         -
                    }
 3106         -
                    .into()]
        2653  +
                .auth_scheme(
        2654  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2655  +
                        .put("disableDoubleEncoding", true)
        2656  +
                        .put("signingName", "s3".to_string())
        2657  +
                        .put("signingRegion", "us-east-1".to_string())
 3107   2658   
                )
 3108   2659   
                .build()
 3109   2660   
        );
 3110   2661   
    }
 3111   2662   
 3112   2663   
    /// dualstack + global endpoint + non URI safe bucket
 3113   2664   
    #[test]
 3114   2665   
    fn test_104() {
 3115   2666   
        let params = crate::config::endpoint::Params::builder()
 3116   2667   
            .region("us-east-1".to_string())
 3117   2668   
            .bucket("bucket!".to_string())
 3118   2669   
            .accelerate(false)
 3119   2670   
            .use_dual_stack(true)
 3120   2671   
            .use_fips(false)
 3121   2672   
            .use_global_endpoint(true)
 3122   2673   
            .build()
 3123   2674   
            .expect("invalid params");
 3124   2675   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3125   2676   
        let endpoint = resolver.resolve_endpoint(&params);
 3126   2677   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com/bucket%21");
 3127   2678   
        assert_eq!(
 3128   2679   
            endpoint,
 3129   2680   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3130   2681   
                .url("https://s3.dualstack.us-east-1.amazonaws.com/bucket%21")
 3131         -
                .property(
 3132         -
                    "authSchemes",
 3133         -
                    vec![{
 3134         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3135         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3136         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3137         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3138         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3139         -
                        out
 3140         -
                    }
 3141         -
                    .into()]
        2682  +
                .auth_scheme(
        2683  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2684  +
                        .put("disableDoubleEncoding", true)
        2685  +
                        .put("signingName", "s3".to_string())
        2686  +
                        .put("signingRegion", "us-east-1".to_string())
 3142   2687   
                )
 3143   2688   
                .build()
 3144   2689   
        );
 3145   2690   
    }
 3146   2691   
 3147   2692   
    /// FIPS + uri encoded bucket
 3148   2693   
    #[test]
 3149   2694   
    fn test_105() {
 3150   2695   
        let params = crate::config::endpoint::Params::builder()
 3151   2696   
            .region("us-east-1".to_string())
 3152   2697   
            .bucket("bucket!".to_string())
 3153   2698   
            .force_path_style(true)
 3154   2699   
            .accelerate(false)
 3155   2700   
            .use_dual_stack(false)
 3156   2701   
            .use_fips(true)
 3157   2702   
            .use_global_endpoint(true)
 3158   2703   
            .build()
 3159   2704   
            .expect("invalid params");
 3160   2705   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3161   2706   
        let endpoint = resolver.resolve_endpoint(&params);
 3162   2707   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket%21");
 3163   2708   
        assert_eq!(
 3164   2709   
            endpoint,
 3165   2710   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3166   2711   
                .url("https://s3-fips.us-east-1.amazonaws.com/bucket%21")
 3167         -
                .property(
 3168         -
                    "authSchemes",
 3169         -
                    vec![{
 3170         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3171         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3172         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3173         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3174         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3175         -
                        out
 3176         -
                    }
 3177         -
                    .into()]
        2712  +
                .auth_scheme(
        2713  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2714  +
                        .put("disableDoubleEncoding", true)
        2715  +
                        .put("signingName", "s3".to_string())
        2716  +
                        .put("signingRegion", "us-east-1".to_string())
 3178   2717   
                )
 3179   2718   
                .build()
 3180   2719   
        );
 3181   2720   
    }
 3182   2721   
 3183   2722   
    /// endpoint override + non-uri safe endpoint + force path style
 3184   2723   
    #[test]
 3185   2724   
    fn test_106() {
 3186   2725   
        let params = crate::config::endpoint::Params::builder()
 3187   2726   
            .region("us-east-1".to_string())
 3188   2727   
            .bucket("bucket!".to_string())
 3189   2728   
            .force_path_style(true)
 3190   2729   
            .accelerate(false)
 3191   2730   
            .use_dual_stack(false)
 3192   2731   
            .use_fips(true)
 3193   2732   
            .endpoint("http://foo.com".to_string())
 3194   2733   
            .use_global_endpoint(true)
 3195   2734   
            .build()
 3196   2735   
            .expect("invalid params");
 3197   2736   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3198   2737   
        let endpoint = resolver.resolve_endpoint(&params);
 3199   2738   
        let error = endpoint.expect_err(
 3200   2739   
            "expected error: A custom endpoint cannot be combined with FIPS [endpoint override + non-uri safe endpoint + force path style]",
 3201   2740   
        );
 3202   2741   
        assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
 3203   2742   
    }
 3204   2743   
 3205   2744   
    /// FIPS + Dualstack + global endpoint + non-dns bucket
 3206   2745   
    #[test]
 3207   2746   
    fn test_107() {
 3208   2747   
        let params = crate::config::endpoint::Params::builder()
 3209   2748   
            .region("us-east-1".to_string())
 3210   2749   
            .bucket("bucket!".to_string())
 3211   2750   
            .accelerate(false)
 3212   2751   
            .use_dual_stack(true)
 3213   2752   
            .use_fips(true)
 3214   2753   
            .use_global_endpoint(true)
 3215   2754   
            .build()
 3216   2755   
            .expect("invalid params");
 3217   2756   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3218   2757   
        let endpoint = resolver.resolve_endpoint(&params);
 3219   2758   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
 3220   2759   
        assert_eq!(
 3221   2760   
            endpoint,
 3222   2761   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3223   2762   
                .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
 3224         -
                .property(
 3225         -
                    "authSchemes",
 3226         -
                    vec![{
 3227         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3228         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3229         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3230         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3231         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3232         -
                        out
 3233         -
                    }
 3234         -
                    .into()]
        2763  +
                .auth_scheme(
        2764  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2765  +
                        .put("disableDoubleEncoding", true)
        2766  +
                        .put("signingName", "s3".to_string())
        2767  +
                        .put("signingRegion", "us-east-1".to_string())
 3235   2768   
                )
 3236   2769   
                .build()
 3237   2770   
        );
 3238   2771   
    }
 3239   2772   
 3240   2773   
    /// endpoint override + FIPS + dualstack
 3241   2774   
    #[test]
 3242   2775   
    fn test_108() {
 3243   2776   
        let params = crate::config::endpoint::Params::builder()
 3244   2777   
            .region("us-east-1".to_string())
@@ -3297,2830 +3721,3200 @@
 3317   2850   
            .use_dual_stack(true)
 3318   2851   
            .build()
 3319   2852   
            .expect("invalid params");
 3320   2853   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3321   2854   
        let endpoint = resolver.resolve_endpoint(&params);
 3322   2855   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
 3323   2856   
        assert_eq!(
 3324   2857   
            endpoint,
 3325   2858   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3326   2859   
                .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
 3327         -
                .property(
 3328         -
                    "authSchemes",
 3329         -
                    vec![{
 3330         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3331         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3332         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3333         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3334         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3335         -
                        out
 3336         -
                    }
 3337         -
                    .into()]
        2860  +
                .auth_scheme(
        2861  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2862  +
                        .put("disableDoubleEncoding", true)
        2863  +
                        .put("signingName", "s3".to_string())
        2864  +
                        .put("signingRegion", "us-east-1".to_string())
 3338   2865   
                )
 3339   2866   
                .build()
 3340   2867   
        );
 3341   2868   
    }
 3342   2869   
 3343   2870   
    /// aws-global signs as us-east-1
 3344   2871   
    #[test]
 3345   2872   
    fn test_113() {
 3346   2873   
        let params = crate::config::endpoint::Params::builder()
 3347   2874   
            .region("aws-global".to_string())
 3348   2875   
            .bucket("bucket".to_string())
 3349   2876   
            .use_dual_stack(false)
 3350   2877   
            .use_fips(false)
 3351   2878   
            .accelerate(false)
 3352   2879   
            .endpoint("https://foo.com".to_string())
 3353   2880   
            .build()
 3354   2881   
            .expect("invalid params");
 3355   2882   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3356   2883   
        let endpoint = resolver.resolve_endpoint(&params);
 3357   2884   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket.foo.com");
 3358   2885   
        assert_eq!(
 3359   2886   
            endpoint,
 3360   2887   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3361   2888   
                .url("https://bucket.foo.com")
 3362         -
                .property(
 3363         -
                    "authSchemes",
 3364         -
                    vec![{
 3365         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3366         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3367         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3368         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3369         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3370         -
                        out
 3371         -
                    }
 3372         -
                    .into()]
        2889  +
                .auth_scheme(
        2890  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2891  +
                        .put("disableDoubleEncoding", true)
        2892  +
                        .put("signingName", "s3".to_string())
        2893  +
                        .put("signingRegion", "us-east-1".to_string())
 3373   2894   
                )
 3374   2895   
                .build()
 3375   2896   
        );
 3376   2897   
    }
 3377   2898   
 3378   2899   
    /// aws-global + dualstack + path-only bucket
 3379   2900   
    #[test]
 3380   2901   
    fn test_114() {
 3381   2902   
        let params = crate::config::endpoint::Params::builder()
 3382   2903   
            .region("aws-global".to_string())
 3383   2904   
            .bucket("bucket!".to_string())
 3384   2905   
            .use_dual_stack(true)
 3385   2906   
            .use_fips(false)
 3386   2907   
            .accelerate(false)
 3387   2908   
            .build()
 3388   2909   
            .expect("invalid params");
 3389   2910   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3390   2911   
        let endpoint = resolver.resolve_endpoint(&params);
 3391   2912   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com/bucket%21");
 3392   2913   
        assert_eq!(
 3393   2914   
            endpoint,
 3394   2915   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3395   2916   
                .url("https://s3.dualstack.us-east-1.amazonaws.com/bucket%21")
 3396         -
                .property(
 3397         -
                    "authSchemes",
 3398         -
                    vec![{
 3399         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3400         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3401         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3402         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3403         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3404         -
                        out
 3405         -
                    }
 3406         -
                    .into()]
        2917  +
                .auth_scheme(
        2918  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2919  +
                        .put("disableDoubleEncoding", true)
        2920  +
                        .put("signingName", "s3".to_string())
        2921  +
                        .put("signingRegion", "us-east-1".to_string())
 3407   2922   
                )
 3408   2923   
                .build()
 3409   2924   
        );
 3410   2925   
    }
 3411   2926   
 3412   2927   
    /// aws-global + path-only bucket
 3413   2928   
    #[test]
 3414   2929   
    fn test_115() {
 3415   2930   
        let params = crate::config::endpoint::Params::builder()
 3416   2931   
            .region("aws-global".to_string())
 3417   2932   
            .bucket("bucket!".to_string())
 3418   2933   
            .build()
 3419   2934   
            .expect("invalid params");
 3420   2935   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3421   2936   
        let endpoint = resolver.resolve_endpoint(&params);
 3422   2937   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com/bucket%21");
 3423   2938   
        assert_eq!(
 3424   2939   
            endpoint,
 3425   2940   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3426   2941   
                .url("https://s3.amazonaws.com/bucket%21")
 3427         -
                .property(
 3428         -
                    "authSchemes",
 3429         -
                    vec![{
 3430         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3431         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3432         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3433         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3434         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3435         -
                        out
 3436         -
                    }
 3437         -
                    .into()]
        2942  +
                .auth_scheme(
        2943  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2944  +
                        .put("disableDoubleEncoding", true)
        2945  +
                        .put("signingName", "s3".to_string())
        2946  +
                        .put("signingRegion", "us-east-1".to_string())
 3438   2947   
                )
 3439   2948   
                .build()
 3440   2949   
        );
 3441   2950   
    }
 3442   2951   
 3443   2952   
    /// aws-global + fips + custom endpoint
 3444   2953   
    #[test]
 3445   2954   
    fn test_116() {
 3446   2955   
        let params = crate::config::endpoint::Params::builder()
 3447   2956   
            .region("aws-global".to_string())
 3448   2957   
            .bucket("bucket!".to_string())
 3449   2958   
            .use_dual_stack(false)
 3450   2959   
            .use_fips(true)
 3451   2960   
            .accelerate(false)
 3452   2961   
            .endpoint("http://foo.com".to_string())
 3453   2962   
            .build()
 3454   2963   
            .expect("invalid params");
 3455   2964   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3456   2965   
        let endpoint = resolver.resolve_endpoint(&params);
 3457   2966   
        let error = endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [aws-global + fips + custom endpoint]");
 3458   2967   
        assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
 3459   2968   
    }
 3460   2969   
 3461   2970   
    /// aws-global, endpoint override & path only-bucket
 3462   2971   
    #[test]
 3463   2972   
    fn test_117() {
 3464   2973   
        let params = crate::config::endpoint::Params::builder()
 3465   2974   
            .region("aws-global".to_string())
 3466   2975   
            .bucket("bucket!".to_string())
 3467   2976   
            .use_dual_stack(false)
 3468   2977   
            .use_fips(false)
 3469   2978   
            .accelerate(false)
 3470   2979   
            .endpoint("http://foo.com".to_string())
 3471   2980   
            .build()
 3472   2981   
            .expect("invalid params");
 3473   2982   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3474   2983   
        let endpoint = resolver.resolve_endpoint(&params);
 3475   2984   
        let endpoint = endpoint.expect("Expected valid endpoint: http://foo.com/bucket%21");
 3476   2985   
        assert_eq!(
 3477   2986   
            endpoint,
 3478   2987   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3479   2988   
                .url("http://foo.com/bucket%21")
 3480         -
                .property(
 3481         -
                    "authSchemes",
 3482         -
                    vec![{
 3483         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3484         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3485         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3486         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3487         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3488         -
                        out
 3489         -
                    }
 3490         -
                    .into()]
        2989  +
                .auth_scheme(
        2990  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2991  +
                        .put("disableDoubleEncoding", true)
        2992  +
                        .put("signingName", "s3".to_string())
        2993  +
                        .put("signingRegion", "us-east-1".to_string())
 3491   2994   
                )
 3492   2995   
                .build()
 3493   2996   
        );
 3494   2997   
    }
 3495   2998   
 3496   2999   
    /// aws-global + dualstack + custom endpoint
 3497   3000   
    #[test]
 3498   3001   
    fn test_118() {
 3499   3002   
        let params = crate::config::endpoint::Params::builder()
 3500   3003   
            .region("aws-global".to_string())
 3501   3004   
            .use_dual_stack(true)
 3502   3005   
            .use_fips(false)
 3503   3006   
            .accelerate(false)
 3504   3007   
            .endpoint("http://foo.com".to_string())
 3505   3008   
            .build()
 3506   3009   
            .expect("invalid params");
 3507   3010   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3508   3011   
        let endpoint = resolver.resolve_endpoint(&params);
 3509   3012   
        let error = endpoint
 3510   3013   
            .expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [aws-global + dualstack + custom endpoint]");
 3511   3014   
        assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
 3512   3015   
    }
 3513   3016   
 3514   3017   
    /// accelerate, dualstack + aws-global
 3515   3018   
    #[test]
 3516   3019   
    fn test_119() {
 3517   3020   
        let params = crate::config::endpoint::Params::builder()
 3518   3021   
            .region("aws-global".to_string())
 3519   3022   
            .bucket("bucket".to_string())
 3520   3023   
            .use_dual_stack(true)
 3521   3024   
            .use_fips(false)
 3522   3025   
            .accelerate(true)
 3523   3026   
            .build()
 3524   3027   
            .expect("invalid params");
 3525   3028   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3526   3029   
        let endpoint = resolver.resolve_endpoint(&params);
 3527   3030   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket.s3-accelerate.dualstack.us-east-1.amazonaws.com");
 3528   3031   
        assert_eq!(
 3529   3032   
            endpoint,
 3530   3033   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3531   3034   
                .url("https://bucket.s3-accelerate.dualstack.us-east-1.amazonaws.com")
 3532         -
                .property(
 3533         -
                    "authSchemes",
 3534         -
                    vec![{
 3535         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3536         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3537         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3538         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3539         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3540         -
                        out
 3541         -
                    }
 3542         -
                    .into()]
        3035  +
                .auth_scheme(
        3036  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3037  +
                        .put("disableDoubleEncoding", true)
        3038  +
                        .put("signingName", "s3".to_string())
        3039  +
                        .put("signingRegion", "us-east-1".to_string())
 3543   3040   
                )
 3544   3041   
                .build()
 3545   3042   
        );
 3546   3043   
    }
 3547   3044   
 3548   3045   
    /// FIPS + aws-global + path only bucket. This is not supported by S3 but we allow garbage in garbage out
 3549   3046   
    #[test]
 3550   3047   
    fn test_120() {
 3551   3048   
        let params = crate::config::endpoint::Params::builder()
 3552   3049   
            .region("aws-global".to_string())
 3553   3050   
            .bucket("bucket!".to_string())
 3554   3051   
            .force_path_style(true)
 3555   3052   
            .use_dual_stack(true)
 3556   3053   
            .use_fips(true)
 3557   3054   
            .accelerate(false)
 3558   3055   
            .build()
 3559   3056   
            .expect("invalid params");
 3560   3057   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3561   3058   
        let endpoint = resolver.resolve_endpoint(&params);
 3562   3059   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
 3563   3060   
        assert_eq!(
 3564   3061   
            endpoint,
 3565   3062   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3566   3063   
                .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
 3567         -
                .property(
 3568         -
                    "authSchemes",
 3569         -
                    vec![{
 3570         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3571         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3572         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3573         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3574         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3575         -
                        out
 3576         -
                    }
 3577         -
                    .into()]
        3064  +
                .auth_scheme(
        3065  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3066  +
                        .put("disableDoubleEncoding", true)
        3067  +
                        .put("signingName", "s3".to_string())
        3068  +
                        .put("signingRegion", "us-east-1".to_string())
 3578   3069   
                )
 3579   3070   
                .build()
 3580   3071   
        );
 3581   3072   
    }
 3582   3073   
 3583   3074   
    /// aws-global + FIPS + endpoint override.
 3584   3075   
    #[test]
 3585   3076   
    fn test_121() {
 3586   3077   
        let params = crate::config::endpoint::Params::builder()
 3587   3078   
            .region("aws-global".to_string())
 3588   3079   
            .use_fips(true)
 3589   3080   
            .endpoint("http://foo.com".to_string())
 3590   3081   
            .build()
 3591   3082   
            .expect("invalid params");
 3592   3083   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3593   3084   
        let endpoint = resolver.resolve_endpoint(&params);
 3594   3085   
        let error = endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [aws-global + FIPS + endpoint override.]");
 3595   3086   
        assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
 3596   3087   
    }
 3597   3088   
 3598   3089   
    /// force path style, FIPS, aws-global & endpoint override
 3599   3090   
    #[test]
 3600   3091   
    fn test_122() {
 3601   3092   
        let params = crate::config::endpoint::Params::builder()
 3602   3093   
            .region("aws-global".to_string())
 3603   3094   
            .bucket("bucket!".to_string())
 3604   3095   
            .force_path_style(true)
 3605   3096   
            .use_fips(true)
 3606   3097   
            .endpoint("http://foo.com".to_string())
 3607   3098   
            .build()
 3608   3099   
            .expect("invalid params");
 3609   3100   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3610   3101   
        let endpoint = resolver.resolve_endpoint(&params);
 3611   3102   
        let error = endpoint
 3612   3103   
            .expect_err("expected error: A custom endpoint cannot be combined with FIPS [force path style, FIPS, aws-global & endpoint override]");
 3613   3104   
        assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
 3614   3105   
    }
 3615   3106   
 3616   3107   
    /// ip address causes path style to be forced
 3617   3108   
    #[test]
 3618   3109   
    fn test_123() {
 3619   3110   
        let params = crate::config::endpoint::Params::builder()
 3620   3111   
            .region("aws-global".to_string())
 3621   3112   
            .bucket("bucket".to_string())
 3622   3113   
            .endpoint("http://192.168.1.1".to_string())
 3623   3114   
            .build()
 3624   3115   
            .expect("invalid params");
 3625   3116   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3626   3117   
        let endpoint = resolver.resolve_endpoint(&params);
 3627   3118   
        let endpoint = endpoint.expect("Expected valid endpoint: http://192.168.1.1/bucket");
 3628   3119   
        assert_eq!(
 3629   3120   
            endpoint,
 3630   3121   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3631   3122   
                .url("http://192.168.1.1/bucket")
 3632         -
                .property(
 3633         -
                    "authSchemes",
 3634         -
                    vec![{
 3635         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3636         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3637         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3638         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3639         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3640         -
                        out
 3641         -
                    }
 3642         -
                    .into()]
        3123  +
                .auth_scheme(
        3124  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3125  +
                        .put("disableDoubleEncoding", true)
        3126  +
                        .put("signingName", "s3".to_string())
        3127  +
                        .put("signingRegion", "us-east-1".to_string())
 3643   3128   
                )
 3644   3129   
                .build()
 3645   3130   
        );
 3646   3131   
    }
 3647   3132   
 3648   3133   
    /// endpoint override with aws-global region
 3649   3134   
    #[test]
 3650   3135   
    fn test_124() {
 3651   3136   
        let params = crate::config::endpoint::Params::builder()
 3652   3137   
            .region("aws-global".to_string())
 3653   3138   
            .use_fips(true)
 3654   3139   
            .use_dual_stack(true)
 3655   3140   
            .endpoint("http://foo.com".to_string())
 3656   3141   
            .build()
 3657   3142   
            .expect("invalid params");
 3658   3143   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3659   3144   
        let endpoint = resolver.resolve_endpoint(&params);
 3660   3145   
        let error = endpoint
 3661   3146   
            .expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [endpoint override with aws-global region]");
 3662   3147   
        assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
 3663   3148   
    }
 3664   3149   
 3665   3150   
    /// FIPS + path-only (TODO: consider making this an error)
 3666   3151   
    #[test]
 3667   3152   
    fn test_125() {
 3668   3153   
        let params = crate::config::endpoint::Params::builder()
 3669   3154   
            .region("aws-global".to_string())
 3670   3155   
            .bucket("bucket!".to_string())
 3671   3156   
            .use_fips(true)
 3672   3157   
            .build()
 3673   3158   
            .expect("invalid params");
 3674   3159   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3675   3160   
        let endpoint = resolver.resolve_endpoint(&params);
 3676   3161   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket%21");
 3677   3162   
        assert_eq!(
 3678   3163   
            endpoint,
 3679   3164   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3680   3165   
                .url("https://s3-fips.us-east-1.amazonaws.com/bucket%21")
 3681         -
                .property(
 3682         -
                    "authSchemes",
 3683         -
                    vec![{
 3684         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3685         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3686         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3687         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3688         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3689         -
                        out
 3690         -
                    }
 3691         -
                    .into()]
        3166  +
                .auth_scheme(
        3167  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3168  +
                        .put("disableDoubleEncoding", true)
        3169  +
                        .put("signingName", "s3".to_string())
        3170  +
                        .put("signingRegion", "us-east-1".to_string())
 3692   3171   
                )
 3693   3172   
                .build()
 3694   3173   
        );
 3695   3174   
    }
 3696   3175   
 3697   3176   
    /// empty arn type
 3698   3177   
    #[test]
 3699   3178   
    fn test_126() {
 3700   3179   
        let params = crate::config::endpoint::Params::builder()
 3701   3180   
            .region("us-east-2".to_string())
@@ -3900,3379 +4943,4266 @@
 3920   3399   
            .use_global_endpoint(true)
 3921   3400   
            .build()
 3922   3401   
            .expect("invalid params");
 3923   3402   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3924   3403   
        let endpoint = resolver.resolve_endpoint(&params);
 3925   3404   
        let endpoint = endpoint.expect("Expected valid endpoint: http://bucket.example.com");
 3926   3405   
        assert_eq!(
 3927   3406   
            endpoint,
 3928   3407   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3929   3408   
                .url("http://bucket.example.com")
 3930         -
                .property(
 3931         -
                    "authSchemes",
 3932         -
                    vec![{
 3933         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3934         -
                        out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
 3935         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3936         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3937         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3938         -
                        out
 3939         -
                    }
 3940         -
                    .into()]
        3409  +
                .auth_scheme(
        3410  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3411  +
                        .put("disableDoubleEncoding", true)
        3412  +
                        .put("signingName", "s3".to_string())
        3413  +
                        .put("signingRegion", "us-east-2".to_string())
 3941   3414   
                )
 3942   3415   
                .build()
 3943   3416   
        );
 3944   3417   
    }
 3945   3418   
 3946   3419   
    /// global endpoint + ip address
 3947   3420   
    #[test]
 3948   3421   
    fn test_141() {
 3949   3422   
        let params = crate::config::endpoint::Params::builder()
 3950   3423   
            .region("us-east-2".to_string())
 3951   3424   
            .bucket("bucket".to_string())
 3952   3425   
            .endpoint("http://192.168.0.1".to_string())
 3953   3426   
            .use_global_endpoint(true)
 3954   3427   
            .build()
 3955   3428   
            .expect("invalid params");
 3956   3429   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3957   3430   
        let endpoint = resolver.resolve_endpoint(&params);
 3958   3431   
        let endpoint = endpoint.expect("Expected valid endpoint: http://192.168.0.1/bucket");
 3959   3432   
        assert_eq!(
 3960   3433   
            endpoint,
 3961   3434   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3962   3435   
                .url("http://192.168.0.1/bucket")
 3963         -
                .property(
 3964         -
                    "authSchemes",
 3965         -
                    vec![{
 3966         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3967         -
                        out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
 3968         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3969         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3970         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3971         -
                        out
 3972         -
                    }
 3973         -
                    .into()]
        3436  +
                .auth_scheme(
        3437  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3438  +
                        .put("disableDoubleEncoding", true)
        3439  +
                        .put("signingName", "s3".to_string())
        3440  +
                        .put("signingRegion", "us-east-2".to_string())
 3974   3441   
                )
 3975   3442   
                .build()
 3976   3443   
        );
 3977   3444   
    }
 3978   3445   
 3979   3446   
    /// invalid outpost type
 3980   3447   
    #[test]
 3981   3448   
    fn test_142() {
 3982   3449   
        let params = crate::config::endpoint::Params::builder()
 3983   3450   
            .region("us-east-2".to_string())
 3984   3451   
            .bucket("bucket!".to_string())
 3985   3452   
            .use_global_endpoint(true)
 3986   3453   
            .build()
 3987   3454   
            .expect("invalid params");
 3988   3455   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3989   3456   
        let endpoint = resolver.resolve_endpoint(&params);
 3990   3457   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-east-2.amazonaws.com/bucket%21");
 3991   3458   
        assert_eq!(
 3992   3459   
            endpoint,
 3993   3460   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3994   3461   
                .url("https://s3.us-east-2.amazonaws.com/bucket%21")
 3995         -
                .property(
 3996         -
                    "authSchemes",
 3997         -
                    vec![{
 3998         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3999         -
                        out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
 4000         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4001         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4002         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4003         -
                        out
 4004         -
                    }
 4005         -
                    .into()]
        3462  +
                .auth_scheme(
        3463  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3464  +
                        .put("disableDoubleEncoding", true)
        3465  +
                        .put("signingName", "s3".to_string())
        3466  +
                        .put("signingRegion", "us-east-2".to_string())
 4006   3467   
                )
 4007   3468   
                .build()
 4008   3469   
        );
 4009   3470   
    }
 4010   3471   
 4011   3472   
    /// invalid outpost type
 4012   3473   
    #[test]
 4013   3474   
    fn test_143() {
 4014   3475   
        let params = crate::config::endpoint::Params::builder()
 4015   3476   
            .region("us-east-2".to_string())
 4016   3477   
            .bucket("bucket".to_string())
 4017   3478   
            .accelerate(true)
 4018   3479   
            .use_global_endpoint(true)
 4019   3480   
            .build()
 4020   3481   
            .expect("invalid params");
 4021   3482   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4022   3483   
        let endpoint = resolver.resolve_endpoint(&params);
 4023   3484   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket.s3-accelerate.amazonaws.com");
 4024   3485   
        assert_eq!(
 4025   3486   
            endpoint,
 4026   3487   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4027   3488   
                .url("https://bucket.s3-accelerate.amazonaws.com")
 4028         -
                .property(
 4029         -
                    "authSchemes",
 4030         -
                    vec![{
 4031         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4032         -
                        out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
 4033         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4034         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4035         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4036         -
                        out
 4037         -
                    }
 4038         -
                    .into()]
        3489  +
                .auth_scheme(
        3490  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3491  +
                        .put("disableDoubleEncoding", true)
        3492  +
                        .put("signingName", "s3".to_string())
        3493  +
                        .put("signingRegion", "us-east-2".to_string())
 4039   3494   
                )
 4040   3495   
                .build()
 4041   3496   
        );
 4042   3497   
    }
 4043   3498   
 4044   3499   
    /// use global endpoint + custom endpoint
 4045   3500   
    #[test]
 4046   3501   
    fn test_144() {
 4047   3502   
        let params = crate::config::endpoint::Params::builder()
 4048   3503   
            .region("us-east-2".to_string())
 4049   3504   
            .bucket("bucket!".to_string())
 4050   3505   
            .use_global_endpoint(true)
 4051   3506   
            .endpoint("http://foo.com".to_string())
 4052   3507   
            .build()
 4053   3508   
            .expect("invalid params");
 4054   3509   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4055   3510   
        let endpoint = resolver.resolve_endpoint(&params);
 4056   3511   
        let endpoint = endpoint.expect("Expected valid endpoint: http://foo.com/bucket%21");
 4057   3512   
        assert_eq!(
 4058   3513   
            endpoint,
 4059   3514   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4060   3515   
                .url("http://foo.com/bucket%21")
 4061         -
                .property(
 4062         -
                    "authSchemes",
 4063         -
                    vec![{
 4064         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4065         -
                        out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
 4066         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4067         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4068         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4069         -
                        out
 4070         -
                    }
 4071         -
                    .into()]
        3516  +
                .auth_scheme(
        3517  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3518  +
                        .put("disableDoubleEncoding", true)
        3519  +
                        .put("signingName", "s3".to_string())
        3520  +
                        .put("signingRegion", "us-east-2".to_string())
 4072   3521   
                )
 4073   3522   
                .build()
 4074   3523   
        );
 4075   3524   
    }
 4076   3525   
 4077   3526   
    /// use global endpoint, not us-east-1, force path style
 4078   3527   
    #[test]
 4079   3528   
    fn test_145() {
 4080   3529   
        let params = crate::config::endpoint::Params::builder()
 4081   3530   
            .region("us-east-2".to_string())
 4082   3531   
            .bucket("bucket!".to_string())
 4083   3532   
            .use_global_endpoint(true)
 4084   3533   
            .force_path_style(true)
 4085   3534   
            .endpoint("http://foo.com".to_string())
 4086   3535   
            .build()
 4087   3536   
            .expect("invalid params");
 4088   3537   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4089   3538   
        let endpoint = resolver.resolve_endpoint(&params);
 4090   3539   
        let endpoint = endpoint.expect("Expected valid endpoint: http://foo.com/bucket%21");
 4091   3540   
        assert_eq!(
 4092   3541   
            endpoint,
 4093   3542   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4094   3543   
                .url("http://foo.com/bucket%21")
 4095         -
                .property(
 4096         -
                    "authSchemes",
 4097         -
                    vec![{
 4098         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4099         -
                        out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
 4100         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4101         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4102         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4103         -
                        out
 4104         -
                    }
 4105         -
                    .into()]
        3544  +
                .auth_scheme(
        3545  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3546  +
                        .put("disableDoubleEncoding", true)
        3547  +
                        .put("signingName", "s3".to_string())
        3548  +
                        .put("signingRegion", "us-east-2".to_string())
 4106   3549   
                )
 4107   3550   
                .build()
 4108   3551   
        );
 4109   3552   
    }
 4110   3553   
 4111   3554   
    /// vanilla virtual addressing@us-west-2
 4112   3555   
    #[test]
 4113   3556   
    fn test_146() {
 4114   3557   
        let params = crate::config::endpoint::Params::builder()
 4115   3558   
            .accelerate(false)
 4116   3559   
            .bucket("bucket-name".to_string())
 4117   3560   
            .force_path_style(false)
 4118   3561   
            .region("us-west-2".to_string())
 4119   3562   
            .use_dual_stack(false)
 4120   3563   
            .use_fips(false)
 4121   3564   
            .build()
 4122   3565   
            .expect("invalid params");
 4123   3566   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4124   3567   
        let endpoint = resolver.resolve_endpoint(&params);
 4125   3568   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.us-west-2.amazonaws.com");
 4126   3569   
        assert_eq!(
 4127   3570   
            endpoint,
 4128   3571   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4129   3572   
                .url("https://bucket-name.s3.us-west-2.amazonaws.com")
 4130         -
                .property(
 4131         -
                    "authSchemes",
 4132         -
                    vec![{
 4133         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4134         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4135         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4136         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4137         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4138         -
                        out
 4139         -
                    }
 4140         -
                    .into()]
        3573  +
                .auth_scheme(
        3574  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3575  +
                        .put("disableDoubleEncoding", true)
        3576  +
                        .put("signingName", "s3".to_string())
        3577  +
                        .put("signingRegion", "us-west-2".to_string())
 4141   3578   
                )
 4142   3579   
                .build()
 4143   3580   
        );
 4144   3581   
    }
 4145   3582   
 4146   3583   
    /// virtual addressing + dualstack@us-west-2
 4147   3584   
    #[test]
 4148   3585   
    fn test_147() {
 4149   3586   
        let params = crate::config::endpoint::Params::builder()
 4150   3587   
            .accelerate(false)
 4151   3588   
            .bucket("bucket-name".to_string())
 4152   3589   
            .force_path_style(false)
 4153   3590   
            .region("us-west-2".to_string())
 4154   3591   
            .use_dual_stack(true)
 4155   3592   
            .use_fips(false)
 4156   3593   
            .build()
 4157   3594   
            .expect("invalid params");
 4158   3595   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4159   3596   
        let endpoint = resolver.resolve_endpoint(&params);
 4160   3597   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.dualstack.us-west-2.amazonaws.com");
 4161   3598   
        assert_eq!(
 4162   3599   
            endpoint,
 4163   3600   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4164   3601   
                .url("https://bucket-name.s3.dualstack.us-west-2.amazonaws.com")
 4165         -
                .property(
 4166         -
                    "authSchemes",
 4167         -
                    vec![{
 4168         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4169         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4170         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4171         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4172         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4173         -
                        out
 4174         -
                    }
 4175         -
                    .into()]
        3602  +
                .auth_scheme(
        3603  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3604  +
                        .put("disableDoubleEncoding", true)
        3605  +
                        .put("signingName", "s3".to_string())
        3606  +
                        .put("signingRegion", "us-west-2".to_string())
 4176   3607   
                )
 4177   3608   
                .build()
 4178   3609   
        );
 4179   3610   
    }
 4180   3611   
 4181   3612   
    /// accelerate + dualstack@us-west-2
 4182   3613   
    #[test]
 4183   3614   
    fn test_148() {
 4184   3615   
        let params = crate::config::endpoint::Params::builder()
 4185   3616   
            .accelerate(true)
 4186   3617   
            .bucket("bucket-name".to_string())
 4187   3618   
            .force_path_style(false)
 4188   3619   
            .region("us-west-2".to_string())
 4189   3620   
            .use_dual_stack(true)
 4190   3621   
            .use_fips(false)
 4191   3622   
            .build()
 4192   3623   
            .expect("invalid params");
 4193   3624   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4194   3625   
        let endpoint = resolver.resolve_endpoint(&params);
 4195   3626   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.dualstack.amazonaws.com");
 4196   3627   
        assert_eq!(
 4197   3628   
            endpoint,
 4198   3629   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4199   3630   
                .url("https://bucket-name.s3-accelerate.dualstack.amazonaws.com")
 4200         -
                .property(
 4201         -
                    "authSchemes",
 4202         -
                    vec![{
 4203         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4204         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4205         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4206         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4207         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4208         -
                        out
 4209         -
                    }
 4210         -
                    .into()]
        3631  +
                .auth_scheme(
        3632  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3633  +
                        .put("disableDoubleEncoding", true)
        3634  +
                        .put("signingName", "s3".to_string())
        3635  +
                        .put("signingRegion", "us-west-2".to_string())
 4211   3636   
                )
 4212   3637   
                .build()
 4213   3638   
        );
 4214   3639   
    }
 4215   3640   
 4216   3641   
    /// accelerate (dualstack=false)@us-west-2
 4217   3642   
    #[test]
 4218   3643   
    fn test_149() {
 4219   3644   
        let params = crate::config::endpoint::Params::builder()
 4220   3645   
            .accelerate(true)
 4221   3646   
            .bucket("bucket-name".to_string())
 4222   3647   
            .force_path_style(false)
 4223   3648   
            .region("us-west-2".to_string())
 4224   3649   
            .use_dual_stack(false)
 4225   3650   
            .use_fips(false)
 4226   3651   
            .build()
 4227   3652   
            .expect("invalid params");
 4228   3653   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4229   3654   
        let endpoint = resolver.resolve_endpoint(&params);
 4230   3655   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.amazonaws.com");
 4231   3656   
        assert_eq!(
 4232   3657   
            endpoint,
 4233   3658   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4234   3659   
                .url("https://bucket-name.s3-accelerate.amazonaws.com")
 4235         -
                .property(
 4236         -
                    "authSchemes",
 4237         -
                    vec![{
 4238         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4239         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4240         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4241         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4242         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4243         -
                        out
 4244         -
                    }
 4245         -
                    .into()]
        3660  +
                .auth_scheme(
        3661  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3662  +
                        .put("disableDoubleEncoding", true)
        3663  +
                        .put("signingName", "s3".to_string())
        3664  +
                        .put("signingRegion", "us-west-2".to_string())
 4246   3665   
                )
 4247   3666   
                .build()
 4248   3667   
        );
 4249   3668   
    }
 4250   3669   
 4251   3670   
    /// virtual addressing + fips@us-west-2
 4252   3671   
    #[test]
 4253   3672   
    fn test_150() {
 4254   3673   
        let params = crate::config::endpoint::Params::builder()
 4255   3674   
            .accelerate(false)
 4256   3675   
            .bucket("bucket-name".to_string())
 4257   3676   
            .force_path_style(false)
 4258   3677   
            .region("us-west-2".to_string())
 4259   3678   
            .use_dual_stack(false)
 4260   3679   
            .use_fips(true)
 4261   3680   
            .build()
 4262   3681   
            .expect("invalid params");
 4263   3682   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4264   3683   
        let endpoint = resolver.resolve_endpoint(&params);
 4265   3684   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.us-west-2.amazonaws.com");
 4266   3685   
        assert_eq!(
 4267   3686   
            endpoint,
 4268   3687   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4269   3688   
                .url("https://bucket-name.s3-fips.us-west-2.amazonaws.com")
 4270         -
                .property(
 4271         -
                    "authSchemes",
 4272         -
                    vec![{
 4273         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4274         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4275         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4276         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4277         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4278         -
                        out
 4279         -
                    }
 4280         -
                    .into()]
        3689  +
                .auth_scheme(
        3690  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3691  +
                        .put("disableDoubleEncoding", true)
        3692  +
                        .put("signingName", "s3".to_string())
        3693  +
                        .put("signingRegion", "us-west-2".to_string())
 4281   3694   
                )
 4282   3695   
                .build()
 4283   3696   
        );
 4284   3697   
    }
 4285   3698   
 4286   3699   
    /// virtual addressing + dualstack + fips@us-west-2
 4287   3700   
    #[test]
 4288   3701   
    fn test_151() {
 4289   3702   
        let params = crate::config::endpoint::Params::builder()
 4290   3703   
            .accelerate(false)
 4291   3704   
            .bucket("bucket-name".to_string())
 4292   3705   
            .force_path_style(false)
 4293   3706   
            .region("us-west-2".to_string())
 4294   3707   
            .use_dual_stack(true)
 4295   3708   
            .use_fips(true)
 4296   3709   
            .build()
 4297   3710   
            .expect("invalid params");
 4298   3711   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4299   3712   
        let endpoint = resolver.resolve_endpoint(&params);
 4300   3713   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.dualstack.us-west-2.amazonaws.com");
 4301   3714   
        assert_eq!(
 4302   3715   
            endpoint,
 4303   3716   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4304   3717   
                .url("https://bucket-name.s3-fips.dualstack.us-west-2.amazonaws.com")
 4305         -
                .property(
 4306         -
                    "authSchemes",
 4307         -
                    vec![{
 4308         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4309         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4310         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4311         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4312         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4313         -
                        out
 4314         -
                    }
 4315         -
                    .into()]
        3718  +
                .auth_scheme(
        3719  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3720  +
                        .put("disableDoubleEncoding", true)
        3721  +
                        .put("signingName", "s3".to_string())
        3722  +
                        .put("signingRegion", "us-west-2".to_string())
 4316   3723   
                )
 4317   3724   
                .build()
 4318   3725   
        );
 4319   3726   
    }
 4320   3727   
 4321   3728   
    /// accelerate + fips = error@us-west-2
 4322   3729   
    #[test]
 4323   3730   
    fn test_152() {
 4324   3731   
        let params = crate::config::endpoint::Params::builder()
 4325   3732   
            .accelerate(true)
 4326   3733   
            .bucket("bucket-name".to_string())
 4327   3734   
            .force_path_style(false)
 4328   3735   
            .region("us-west-2".to_string())
 4329   3736   
            .use_dual_stack(false)
 4330   3737   
            .use_fips(true)
 4331   3738   
            .build()
 4332   3739   
            .expect("invalid params");
 4333   3740   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4334   3741   
        let endpoint = resolver.resolve_endpoint(&params);
 4335   3742   
        let error = endpoint.expect_err("expected error: Accelerate cannot be used with FIPS [accelerate + fips = error@us-west-2]");
 4336   3743   
        assert_eq!(format!("{}", error), "Accelerate cannot be used with FIPS")
 4337   3744   
    }
 4338   3745   
 4339   3746   
    /// vanilla virtual addressing@cn-north-1
 4340   3747   
    #[test]
 4341   3748   
    fn test_153() {
 4342   3749   
        let params = crate::config::endpoint::Params::builder()
 4343   3750   
            .accelerate(false)
 4344   3751   
            .bucket("bucket-name".to_string())
 4345   3752   
            .force_path_style(false)
 4346   3753   
            .region("cn-north-1".to_string())
 4347   3754   
            .use_dual_stack(false)
 4348   3755   
            .use_fips(false)
 4349   3756   
            .build()
 4350   3757   
            .expect("invalid params");
 4351   3758   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4352   3759   
        let endpoint = resolver.resolve_endpoint(&params);
 4353   3760   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.cn-north-1.amazonaws.com.cn");
 4354   3761   
        assert_eq!(
 4355   3762   
            endpoint,
 4356   3763   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4357   3764   
                .url("https://bucket-name.s3.cn-north-1.amazonaws.com.cn")
 4358         -
                .property(
 4359         -
                    "authSchemes",
 4360         -
                    vec![{
 4361         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4362         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4363         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4364         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 4365         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4366         -
                        out
 4367         -
                    }
 4368         -
                    .into()]
        3765  +
                .auth_scheme(
        3766  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3767  +
                        .put("disableDoubleEncoding", true)
        3768  +
                        .put("signingName", "s3".to_string())
        3769  +
                        .put("signingRegion", "cn-north-1".to_string())
 4369   3770   
                )
 4370   3771   
                .build()
 4371   3772   
        );
 4372   3773   
    }
 4373   3774   
 4374   3775   
    /// virtual addressing + dualstack@cn-north-1
 4375   3776   
    #[test]
 4376   3777   
    fn test_154() {
 4377   3778   
        let params = crate::config::endpoint::Params::builder()
 4378   3779   
            .accelerate(false)
 4379   3780   
            .bucket("bucket-name".to_string())
 4380   3781   
            .force_path_style(false)
 4381   3782   
            .region("cn-north-1".to_string())
 4382   3783   
            .use_dual_stack(true)
 4383   3784   
            .use_fips(false)
 4384   3785   
            .build()
 4385   3786   
            .expect("invalid params");
 4386   3787   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4387   3788   
        let endpoint = resolver.resolve_endpoint(&params);
 4388   3789   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.dualstack.cn-north-1.amazonaws.com.cn");
 4389   3790   
        assert_eq!(
 4390   3791   
            endpoint,
 4391   3792   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4392   3793   
                .url("https://bucket-name.s3.dualstack.cn-north-1.amazonaws.com.cn")
 4393         -
                .property(
 4394         -
                    "authSchemes",
 4395         -
                    vec![{
 4396         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4397         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4398         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4399         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 4400         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4401         -
                        out
 4402         -
                    }
 4403         -
                    .into()]
        3794  +
                .auth_scheme(
        3795  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3796  +
                        .put("disableDoubleEncoding", true)
        3797  +
                        .put("signingName", "s3".to_string())
        3798  +
                        .put("signingRegion", "cn-north-1".to_string())
 4404   3799   
                )
 4405   3800   
                .build()
 4406   3801   
        );
 4407   3802   
    }
 4408   3803   
 4409   3804   
    /// accelerate (dualstack=false)@cn-north-1
 4410   3805   
    #[test]
 4411   3806   
    fn test_155() {
 4412   3807   
        let params = crate::config::endpoint::Params::builder()
 4413   3808   
            .accelerate(true)
 4414   3809   
            .bucket("bucket-name".to_string())
 4415   3810   
            .force_path_style(false)
 4416   3811   
            .region("cn-north-1".to_string())
 4417   3812   
            .use_dual_stack(false)
 4418   3813   
            .use_fips(false)
 4419   3814   
            .build()
 4420   3815   
            .expect("invalid params");
 4421   3816   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4422   3817   
        let endpoint = resolver.resolve_endpoint(&params);
 4423   3818   
        let error = endpoint.expect_err("expected error: S3 Accelerate cannot be used in this region [accelerate (dualstack=false)@cn-north-1]");
 4424   3819   
        assert_eq!(format!("{}", error), "S3 Accelerate cannot be used in this region")
 4425   3820   
    }
 4426   3821   
 4427   3822   
    /// virtual addressing + fips@cn-north-1
 4428   3823   
    #[test]
 4429   3824   
    fn test_156() {
 4430   3825   
        let params = crate::config::endpoint::Params::builder()
 4431   3826   
            .accelerate(false)
 4432   3827   
            .bucket("bucket-name".to_string())
 4433   3828   
            .force_path_style(false)
 4434   3829   
            .region("cn-north-1".to_string())
 4435   3830   
            .use_dual_stack(false)
 4436   3831   
            .use_fips(true)
 4437   3832   
            .build()
 4438   3833   
            .expect("invalid params");
 4439   3834   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4440   3835   
        let endpoint = resolver.resolve_endpoint(&params);
 4441   3836   
        let error = endpoint.expect_err("expected error: Partition does not support FIPS [virtual addressing + fips@cn-north-1]");
 4442   3837   
        assert_eq!(format!("{}", error), "Partition does not support FIPS")
 4443   3838   
    }
 4444   3839   
 4445   3840   
    /// vanilla virtual addressing@af-south-1
 4446   3841   
    #[test]
 4447   3842   
    fn test_157() {
 4448   3843   
        let params = crate::config::endpoint::Params::builder()
 4449   3844   
            .accelerate(false)
 4450   3845   
            .bucket("bucket-name".to_string())
 4451   3846   
            .force_path_style(false)
 4452   3847   
            .region("af-south-1".to_string())
 4453   3848   
            .use_dual_stack(false)
 4454   3849   
            .use_fips(false)
 4455   3850   
            .build()
 4456   3851   
            .expect("invalid params");
 4457   3852   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4458   3853   
        let endpoint = resolver.resolve_endpoint(&params);
 4459   3854   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.af-south-1.amazonaws.com");
 4460   3855   
        assert_eq!(
 4461   3856   
            endpoint,
 4462   3857   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4463   3858   
                .url("https://bucket-name.s3.af-south-1.amazonaws.com")
 4464         -
                .property(
 4465         -
                    "authSchemes",
 4466         -
                    vec![{
 4467         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4468         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4469         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4470         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 4471         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4472         -
                        out
 4473         -
                    }
 4474         -
                    .into()]
        3859  +
                .auth_scheme(
        3860  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3861  +
                        .put("disableDoubleEncoding", true)
        3862  +
                        .put("signingName", "s3".to_string())
        3863  +
                        .put("signingRegion", "af-south-1".to_string())
 4475   3864   
                )
 4476   3865   
                .build()
 4477   3866   
        );
 4478   3867   
    }
 4479   3868   
 4480   3869   
    /// virtual addressing + dualstack@af-south-1
 4481   3870   
    #[test]
 4482   3871   
    fn test_158() {
 4483   3872   
        let params = crate::config::endpoint::Params::builder()
 4484   3873   
            .accelerate(false)
 4485   3874   
            .bucket("bucket-name".to_string())
 4486   3875   
            .force_path_style(false)
 4487   3876   
            .region("af-south-1".to_string())
 4488   3877   
            .use_dual_stack(true)
 4489   3878   
            .use_fips(false)
 4490   3879   
            .build()
 4491   3880   
            .expect("invalid params");
 4492   3881   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4493   3882   
        let endpoint = resolver.resolve_endpoint(&params);
 4494   3883   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.dualstack.af-south-1.amazonaws.com");
 4495   3884   
        assert_eq!(
 4496   3885   
            endpoint,
 4497   3886   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4498   3887   
                .url("https://bucket-name.s3.dualstack.af-south-1.amazonaws.com")
 4499         -
                .property(
 4500         -
                    "authSchemes",
 4501         -
                    vec![{
 4502         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4503         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4504         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4505         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 4506         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4507         -
                        out
 4508         -
                    }
 4509         -
                    .into()]
        3888  +
                .auth_scheme(
        3889  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3890  +
                        .put("disableDoubleEncoding", true)
        3891  +
                        .put("signingName", "s3".to_string())
        3892  +
                        .put("signingRegion", "af-south-1".to_string())
 4510   3893   
                )
 4511   3894   
                .build()
 4512   3895   
        );
 4513   3896   
    }
 4514   3897   
 4515   3898   
    /// accelerate + dualstack@af-south-1
 4516   3899   
    #[test]
 4517   3900   
    fn test_159() {
 4518   3901   
        let params = crate::config::endpoint::Params::builder()
 4519   3902   
            .accelerate(true)
 4520   3903   
            .bucket("bucket-name".to_string())
 4521   3904   
            .force_path_style(false)
 4522   3905   
            .region("af-south-1".to_string())
 4523   3906   
            .use_dual_stack(true)
 4524   3907   
            .use_fips(false)
 4525   3908   
            .build()
 4526   3909   
            .expect("invalid params");
 4527   3910   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4528   3911   
        let endpoint = resolver.resolve_endpoint(&params);
 4529   3912   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.dualstack.amazonaws.com");
 4530   3913   
        assert_eq!(
 4531   3914   
            endpoint,
 4532   3915   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4533   3916   
                .url("https://bucket-name.s3-accelerate.dualstack.amazonaws.com")
 4534         -
                .property(
 4535         -
                    "authSchemes",
 4536         -
                    vec![{
 4537         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4538         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4539         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4540         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 4541         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4542         -
                        out
 4543         -
                    }
 4544         -
                    .into()]
        3917  +
                .auth_scheme(
        3918  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3919  +
                        .put("disableDoubleEncoding", true)
        3920  +
                        .put("signingName", "s3".to_string())
        3921  +
                        .put("signingRegion", "af-south-1".to_string())
 4545   3922   
                )
 4546   3923   
                .build()
 4547   3924   
        );
 4548   3925   
    }
 4549   3926   
 4550   3927   
    /// accelerate (dualstack=false)@af-south-1
 4551   3928   
    #[test]
 4552   3929   
    fn test_160() {
 4553   3930   
        let params = crate::config::endpoint::Params::builder()
 4554   3931   
            .accelerate(true)
 4555   3932   
            .bucket("bucket-name".to_string())
 4556   3933   
            .force_path_style(false)
 4557   3934   
            .region("af-south-1".to_string())
 4558   3935   
            .use_dual_stack(false)
 4559   3936   
            .use_fips(false)
 4560   3937   
            .build()
 4561   3938   
            .expect("invalid params");
 4562   3939   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4563   3940   
        let endpoint = resolver.resolve_endpoint(&params);
 4564   3941   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.amazonaws.com");
 4565   3942   
        assert_eq!(
 4566   3943   
            endpoint,
 4567   3944   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4568   3945   
                .url("https://bucket-name.s3-accelerate.amazonaws.com")
 4569         -
                .property(
 4570         -
                    "authSchemes",
 4571         -
                    vec![{
 4572         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4573         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4574         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4575         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 4576         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4577         -
                        out
 4578         -
                    }
 4579         -
                    .into()]
        3946  +
                .auth_scheme(
        3947  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3948  +
                        .put("disableDoubleEncoding", true)
        3949  +
                        .put("signingName", "s3".to_string())
        3950  +
                        .put("signingRegion", "af-south-1".to_string())
 4580   3951   
                )
 4581   3952   
                .build()
 4582   3953   
        );
 4583   3954   
    }
 4584   3955   
 4585   3956   
    /// virtual addressing + fips@af-south-1
 4586   3957   
    #[test]
 4587   3958   
    fn test_161() {
 4588   3959   
        let params = crate::config::endpoint::Params::builder()
 4589   3960   
            .accelerate(false)
 4590   3961   
            .bucket("bucket-name".to_string())
 4591   3962   
            .force_path_style(false)
 4592   3963   
            .region("af-south-1".to_string())
 4593   3964   
            .use_dual_stack(false)
 4594   3965   
            .use_fips(true)
 4595   3966   
            .build()
 4596   3967   
            .expect("invalid params");
 4597   3968   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4598   3969   
        let endpoint = resolver.resolve_endpoint(&params);
 4599   3970   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.af-south-1.amazonaws.com");
 4600   3971   
        assert_eq!(
 4601   3972   
            endpoint,
 4602   3973   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4603   3974   
                .url("https://bucket-name.s3-fips.af-south-1.amazonaws.com")
 4604         -
                .property(
 4605         -
                    "authSchemes",
 4606         -
                    vec![{
 4607         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4608         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4609         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4610         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 4611         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4612         -
                        out
 4613         -
                    }
 4614         -
                    .into()]
        3975  +
                .auth_scheme(
        3976  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3977  +
                        .put("disableDoubleEncoding", true)
        3978  +
                        .put("signingName", "s3".to_string())
        3979  +
                        .put("signingRegion", "af-south-1".to_string())
 4615   3980   
                )
 4616   3981   
                .build()
 4617   3982   
        );
 4618   3983   
    }
 4619   3984   
 4620   3985   
    /// virtual addressing + dualstack + fips@af-south-1
 4621   3986   
    #[test]
 4622   3987   
    fn test_162() {
 4623   3988   
        let params = crate::config::endpoint::Params::builder()
 4624   3989   
            .accelerate(false)
 4625   3990   
            .bucket("bucket-name".to_string())
 4626   3991   
            .force_path_style(false)
 4627   3992   
            .region("af-south-1".to_string())
 4628   3993   
            .use_dual_stack(true)
 4629   3994   
            .use_fips(true)
 4630   3995   
            .build()
 4631   3996   
            .expect("invalid params");
 4632   3997   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4633   3998   
        let endpoint = resolver.resolve_endpoint(&params);
 4634   3999   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.dualstack.af-south-1.amazonaws.com");
 4635   4000   
        assert_eq!(
 4636   4001   
            endpoint,
 4637   4002   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4638   4003   
                .url("https://bucket-name.s3-fips.dualstack.af-south-1.amazonaws.com")
 4639         -
                .property(
 4640         -
                    "authSchemes",
 4641         -
                    vec![{
 4642         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4643         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4644         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4645         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 4646         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4647         -
                        out
 4648         -
                    }
 4649         -
                    .into()]
        4004  +
                .auth_scheme(
        4005  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4006  +
                        .put("disableDoubleEncoding", true)
        4007  +
                        .put("signingName", "s3".to_string())
        4008  +
                        .put("signingRegion", "af-south-1".to_string())
 4650   4009   
                )
 4651   4010   
                .build()
 4652   4011   
        );
 4653   4012   
    }
 4654   4013   
 4655   4014   
    /// accelerate + fips = error@af-south-1
 4656   4015   
    #[test]
 4657   4016   
    fn test_163() {
 4658   4017   
        let params = crate::config::endpoint::Params::builder()
 4659   4018   
            .accelerate(true)
 4660   4019   
            .bucket("bucket-name".to_string())
 4661   4020   
            .force_path_style(false)
 4662   4021   
            .region("af-south-1".to_string())
 4663   4022   
            .use_dual_stack(false)
 4664   4023   
            .use_fips(true)
 4665   4024   
            .build()
 4666   4025   
            .expect("invalid params");
 4667   4026   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4668   4027   
        let endpoint = resolver.resolve_endpoint(&params);
 4669   4028   
        let error = endpoint.expect_err("expected error: Accelerate cannot be used with FIPS [accelerate + fips = error@af-south-1]");
 4670   4029   
        assert_eq!(format!("{}", error), "Accelerate cannot be used with FIPS")
 4671   4030   
    }
 4672   4031   
 4673   4032   
    /// vanilla path style@us-west-2
 4674   4033   
    #[test]
 4675   4034   
    fn test_164() {
 4676   4035   
        let params = crate::config::endpoint::Params::builder()
 4677   4036   
            .accelerate(false)
 4678   4037   
            .bucket("bucket-name".to_string())
 4679   4038   
            .force_path_style(true)
 4680   4039   
            .region("us-west-2".to_string())
 4681   4040   
            .use_dual_stack(false)
 4682   4041   
            .use_fips(false)
 4683   4042   
            .build()
 4684   4043   
            .expect("invalid params");
 4685   4044   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4686   4045   
        let endpoint = resolver.resolve_endpoint(&params);
 4687   4046   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/bucket-name");
 4688   4047   
        assert_eq!(
 4689   4048   
            endpoint,
 4690   4049   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4691   4050   
                .url("https://s3.us-west-2.amazonaws.com/bucket-name")
 4692         -
                .property(
 4693         -
                    "authSchemes",
 4694         -
                    vec![{
 4695         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4696         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4697         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4698         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4699         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4700         -
                        out
 4701         -
                    }
 4702         -
                    .into()]
        4051  +
                .auth_scheme(
        4052  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4053  +
                        .put("disableDoubleEncoding", true)
        4054  +
                        .put("signingName", "s3".to_string())
        4055  +
                        .put("signingRegion", "us-west-2".to_string())
 4703   4056   
                )
 4704   4057   
                .build()
 4705   4058   
        );
 4706   4059   
    }
 4707   4060   
 4708   4061   
    /// fips@us-gov-west-2, bucket is not S3-dns-compatible (subdomains)
 4709   4062   
    #[test]
 4710   4063   
    fn test_165() {
 4711   4064   
        let params = crate::config::endpoint::Params::builder()
 4712   4065   
            .accelerate(false)
 4713   4066   
            .bucket("bucket.with.dots".to_string())
 4714   4067   
            .region("us-gov-west-1".to_string())
 4715   4068   
            .use_dual_stack(false)
 4716   4069   
            .use_fips(true)
 4717   4070   
            .build()
 4718   4071   
            .expect("invalid params");
 4719   4072   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4720   4073   
        let endpoint = resolver.resolve_endpoint(&params);
 4721   4074   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-gov-west-1.amazonaws.com/bucket.with.dots");
 4722   4075   
        assert_eq!(
 4723   4076   
            endpoint,
 4724   4077   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4725   4078   
                .url("https://s3-fips.us-gov-west-1.amazonaws.com/bucket.with.dots")
 4726         -
                .property(
 4727         -
                    "authSchemes",
 4728         -
                    vec![{
 4729         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4730         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4731         -
                        out.insert("signingRegion".to_string(), "us-gov-west-1".to_string().into());
 4732         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4733         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4734         -
                        out
 4735         -
                    }
 4736         -
                    .into()]
        4079  +
                .auth_scheme(
        4080  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4081  +
                        .put("disableDoubleEncoding", true)
        4082  +
                        .put("signingName", "s3".to_string())
        4083  +
                        .put("signingRegion", "us-gov-west-1".to_string())
 4737   4084   
                )
 4738   4085   
                .build()
 4739   4086   
        );
 4740   4087   
    }
 4741   4088   
 4742   4089   
    /// path style + accelerate = error@us-west-2
 4743   4090   
    #[test]
 4744   4091   
    fn test_166() {
 4745   4092   
        let params = crate::config::endpoint::Params::builder()
 4746   4093   
            .accelerate(true)
 4747   4094   
            .bucket("bucket-name".to_string())
 4748   4095   
            .force_path_style(true)
 4749   4096   
            .region("us-west-2".to_string())
 4750   4097   
            .use_dual_stack(false)
 4751   4098   
            .use_fips(false)
 4752   4099   
            .build()
 4753   4100   
            .expect("invalid params");
 4754   4101   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4755   4102   
        let endpoint = resolver.resolve_endpoint(&params);
 4756   4103   
        let error = endpoint
 4757   4104   
            .expect_err("expected error: Path-style addressing cannot be used with S3 Accelerate [path style + accelerate = error@us-west-2]");
 4758   4105   
        assert_eq!(format!("{}", error), "Path-style addressing cannot be used with S3 Accelerate")
 4759   4106   
    }
 4760   4107   
 4761   4108   
    /// path style + dualstack@us-west-2
 4762   4109   
    #[test]
 4763   4110   
    fn test_167() {
 4764   4111   
        let params = crate::config::endpoint::Params::builder()
 4765   4112   
            .accelerate(false)
 4766   4113   
            .bucket("bucket-name".to_string())
 4767   4114   
            .force_path_style(true)
 4768   4115   
            .region("us-west-2".to_string())
 4769   4116   
            .use_dual_stack(true)
 4770   4117   
            .use_fips(false)
 4771   4118   
            .build()
 4772   4119   
            .expect("invalid params");
 4773   4120   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4774   4121   
        let endpoint = resolver.resolve_endpoint(&params);
 4775   4122   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-west-2.amazonaws.com/bucket-name");
 4776   4123   
        assert_eq!(
 4777   4124   
            endpoint,
 4778   4125   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4779   4126   
                .url("https://s3.dualstack.us-west-2.amazonaws.com/bucket-name")
 4780         -
                .property(
 4781         -
                    "authSchemes",
 4782         -
                    vec![{
 4783         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4784         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4785         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4786         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4787         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4788         -
                        out
 4789         -
                    }
 4790         -
                    .into()]
        4127  +
                .auth_scheme(
        4128  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4129  +
                        .put("disableDoubleEncoding", true)
        4130  +
                        .put("signingName", "s3".to_string())
        4131  +
                        .put("signingRegion", "us-west-2".to_string())
 4791   4132   
                )
 4792   4133   
                .build()
 4793   4134   
        );
 4794   4135   
    }
 4795   4136   
 4796   4137   
    /// path style + arn is error@us-west-2
 4797   4138   
    #[test]
 4798   4139   
    fn test_168() {
 4799   4140   
        let params = crate::config::endpoint::Params::builder()
 4800   4141   
            .accelerate(false)
 4801   4142   
            .bucket("arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket".to_string())
 4802   4143   
            .force_path_style(true)
 4803   4144   
            .region("us-west-2".to_string())
 4804   4145   
            .use_dual_stack(false)
 4805   4146   
            .use_fips(false)
 4806   4147   
            .build()
 4807   4148   
            .expect("invalid params");
 4808   4149   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4809   4150   
        let endpoint = resolver.resolve_endpoint(&params);
 4810   4151   
        let error =
 4811   4152   
            endpoint.expect_err("expected error: Path-style addressing cannot be used with ARN buckets [path style + arn is error@us-west-2]");
 4812   4153   
        assert_eq!(format!("{}", error), "Path-style addressing cannot be used with ARN buckets")
 4813   4154   
    }
 4814   4155   
 4815   4156   
    /// path style + invalid DNS name@us-west-2
 4816   4157   
    #[test]
 4817   4158   
    fn test_169() {
 4818   4159   
        let params = crate::config::endpoint::Params::builder()
 4819   4160   
            .accelerate(false)
 4820   4161   
            .bucket("99a_b".to_string())
 4821   4162   
            .force_path_style(true)
 4822   4163   
            .region("us-west-2".to_string())
 4823   4164   
            .use_dual_stack(false)
 4824   4165   
            .use_fips(false)
 4825   4166   
            .build()
 4826   4167   
            .expect("invalid params");
 4827   4168   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4828   4169   
        let endpoint = resolver.resolve_endpoint(&params);
 4829   4170   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/99a_b");
 4830   4171   
        assert_eq!(
 4831   4172   
            endpoint,
 4832   4173   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4833   4174   
                .url("https://s3.us-west-2.amazonaws.com/99a_b")
 4834         -
                .property(
 4835         -
                    "authSchemes",
 4836         -
                    vec![{
 4837         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4838         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4839         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4840         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4841         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4842         -
                        out
 4843         -
                    }
 4844         -
                    .into()]
        4175  +
                .auth_scheme(
        4176  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4177  +
                        .put("disableDoubleEncoding", true)
        4178  +
                        .put("signingName", "s3".to_string())
        4179  +
                        .put("signingRegion", "us-west-2".to_string())
 4845   4180   
                )
 4846   4181   
                .build()
 4847   4182   
        );
 4848   4183   
    }
 4849   4184   
 4850   4185   
    /// no path style + invalid DNS name@us-west-2
 4851   4186   
    #[test]
 4852   4187   
    fn test_170() {
 4853   4188   
        let params = crate::config::endpoint::Params::builder()
 4854   4189   
            .accelerate(false)
 4855   4190   
            .bucket("99a_b".to_string())
 4856   4191   
            .region("us-west-2".to_string())
 4857   4192   
            .use_dual_stack(false)
 4858   4193   
            .use_fips(false)
 4859   4194   
            .build()
 4860   4195   
            .expect("invalid params");
 4861   4196   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4862   4197   
        let endpoint = resolver.resolve_endpoint(&params);
 4863   4198   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/99a_b");
 4864   4199   
        assert_eq!(
 4865   4200   
            endpoint,
 4866   4201   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4867   4202   
                .url("https://s3.us-west-2.amazonaws.com/99a_b")
 4868         -
                .property(
 4869         -
                    "authSchemes",
 4870         -
                    vec![{
 4871         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4872         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4873         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4874         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4875         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4876         -
                        out
 4877         -
                    }
 4878         -
                    .into()]
        4203  +
                .auth_scheme(
        4204  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4205  +
                        .put("disableDoubleEncoding", true)
        4206  +
                        .put("signingName", "s3".to_string())
        4207  +
                        .put("signingRegion", "us-west-2".to_string())
 4879   4208   
                )
 4880   4209   
                .build()
 4881   4210   
        );
 4882   4211   
    }
 4883   4212   
 4884   4213   
    /// vanilla path style@cn-north-1
 4885   4214   
    #[test]
 4886   4215   
    fn test_171() {
 4887   4216   
        let params = crate::config::endpoint::Params::builder()
 4888   4217   
            .accelerate(false)
 4889   4218   
            .bucket("bucket-name".to_string())
 4890   4219   
            .force_path_style(true)
 4891   4220   
            .region("cn-north-1".to_string())
 4892   4221   
            .use_dual_stack(false)
 4893   4222   
            .use_fips(false)
 4894   4223   
            .build()
 4895   4224   
            .expect("invalid params");
 4896   4225   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4897   4226   
        let endpoint = resolver.resolve_endpoint(&params);
 4898   4227   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.cn-north-1.amazonaws.com.cn/bucket-name");
 4899   4228   
        assert_eq!(
 4900   4229   
            endpoint,
 4901   4230   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4902   4231   
                .url("https://s3.cn-north-1.amazonaws.com.cn/bucket-name")
 4903         -
                .property(
 4904         -
                    "authSchemes",
 4905         -
                    vec![{
 4906         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4907         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4908         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4909         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 4910         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4911         -
                        out
 4912         -
                    }
 4913         -
                    .into()]
        4232  +
                .auth_scheme(
        4233  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4234  +
                        .put("disableDoubleEncoding", true)
        4235  +
                        .put("signingName", "s3".to_string())
        4236  +
                        .put("signingRegion", "cn-north-1".to_string())
 4914   4237   
                )
 4915   4238   
                .build()
 4916   4239   
        );
 4917   4240   
    }
 4918   4241   
 4919   4242   
    /// path style + fips@cn-north-1
 4920   4243   
    #[test]
 4921   4244   
    fn test_172() {
 4922   4245   
        let params = crate::config::endpoint::Params::builder()
 4923   4246   
            .accelerate(false)
@@ -4945,4268 +5387,4650 @@
 4965   4288   
            .use_fips(false)
 4966   4289   
            .build()
 4967   4290   
            .expect("invalid params");
 4968   4291   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4969   4292   
        let endpoint = resolver.resolve_endpoint(&params);
 4970   4293   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.cn-north-1.amazonaws.com.cn/bucket-name");
 4971   4294   
        assert_eq!(
 4972   4295   
            endpoint,
 4973   4296   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4974   4297   
                .url("https://s3.dualstack.cn-north-1.amazonaws.com.cn/bucket-name")
 4975         -
                .property(
 4976         -
                    "authSchemes",
 4977         -
                    vec![{
 4978         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4979         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4980         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4981         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 4982         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4983         -
                        out
 4984         -
                    }
 4985         -
                    .into()]
        4298  +
                .auth_scheme(
        4299  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4300  +
                        .put("disableDoubleEncoding", true)
        4301  +
                        .put("signingName", "s3".to_string())
        4302  +
                        .put("signingRegion", "cn-north-1".to_string())
 4986   4303   
                )
 4987   4304   
                .build()
 4988   4305   
        );
 4989   4306   
    }
 4990   4307   
 4991   4308   
    /// path style + arn is error@cn-north-1
 4992   4309   
    #[test]
 4993   4310   
    fn test_175() {
 4994   4311   
        let params = crate::config::endpoint::Params::builder()
 4995   4312   
            .accelerate(false)
 4996   4313   
            .bucket("arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket".to_string())
 4997   4314   
            .force_path_style(true)
 4998   4315   
            .region("cn-north-1".to_string())
 4999   4316   
            .use_dual_stack(false)
 5000   4317   
            .use_fips(false)
 5001   4318   
            .build()
 5002   4319   
            .expect("invalid params");
 5003   4320   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5004   4321   
        let endpoint = resolver.resolve_endpoint(&params);
 5005   4322   
        let error =
 5006   4323   
            endpoint.expect_err("expected error: Path-style addressing cannot be used with ARN buckets [path style + arn is error@cn-north-1]");
 5007   4324   
        assert_eq!(format!("{}", error), "Path-style addressing cannot be used with ARN buckets")
 5008   4325   
    }
 5009   4326   
 5010   4327   
    /// path style + invalid DNS name@cn-north-1
 5011   4328   
    #[test]
 5012   4329   
    fn test_176() {
 5013   4330   
        let params = crate::config::endpoint::Params::builder()
 5014   4331   
            .accelerate(false)
 5015   4332   
            .bucket("99a_b".to_string())
 5016   4333   
            .force_path_style(true)
 5017   4334   
            .region("cn-north-1".to_string())
 5018   4335   
            .use_dual_stack(false)
 5019   4336   
            .use_fips(false)
 5020   4337   
            .build()
 5021   4338   
            .expect("invalid params");
 5022   4339   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5023   4340   
        let endpoint = resolver.resolve_endpoint(&params);
 5024   4341   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.cn-north-1.amazonaws.com.cn/99a_b");
 5025   4342   
        assert_eq!(
 5026   4343   
            endpoint,
 5027   4344   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5028   4345   
                .url("https://s3.cn-north-1.amazonaws.com.cn/99a_b")
 5029         -
                .property(
 5030         -
                    "authSchemes",
 5031         -
                    vec![{
 5032         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5033         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5034         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5035         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 5036         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5037         -
                        out
 5038         -
                    }
 5039         -
                    .into()]
        4346  +
                .auth_scheme(
        4347  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4348  +
                        .put("disableDoubleEncoding", true)
        4349  +
                        .put("signingName", "s3".to_string())
        4350  +
                        .put("signingRegion", "cn-north-1".to_string())
 5040   4351   
                )
 5041   4352   
                .build()
 5042   4353   
        );
 5043   4354   
    }
 5044   4355   
 5045   4356   
    /// no path style + invalid DNS name@cn-north-1
 5046   4357   
    #[test]
 5047   4358   
    fn test_177() {
 5048   4359   
        let params = crate::config::endpoint::Params::builder()
 5049   4360   
            .accelerate(false)
 5050   4361   
            .bucket("99a_b".to_string())
 5051   4362   
            .region("cn-north-1".to_string())
 5052   4363   
            .use_dual_stack(false)
 5053   4364   
            .use_fips(false)
 5054   4365   
            .build()
 5055   4366   
            .expect("invalid params");
 5056   4367   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5057   4368   
        let endpoint = resolver.resolve_endpoint(&params);
 5058   4369   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.cn-north-1.amazonaws.com.cn/99a_b");
 5059   4370   
        assert_eq!(
 5060   4371   
            endpoint,
 5061   4372   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5062   4373   
                .url("https://s3.cn-north-1.amazonaws.com.cn/99a_b")
 5063         -
                .property(
 5064         -
                    "authSchemes",
 5065         -
                    vec![{
 5066         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5067         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5068         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5069         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 5070         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5071         -
                        out
 5072         -
                    }
 5073         -
                    .into()]
        4374  +
                .auth_scheme(
        4375  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4376  +
                        .put("disableDoubleEncoding", true)
        4377  +
                        .put("signingName", "s3".to_string())
        4378  +
                        .put("signingRegion", "cn-north-1".to_string())
 5074   4379   
                )
 5075   4380   
                .build()
 5076   4381   
        );
 5077   4382   
    }
 5078   4383   
 5079   4384   
    /// vanilla path style@af-south-1
 5080   4385   
    #[test]
 5081   4386   
    fn test_178() {
 5082   4387   
        let params = crate::config::endpoint::Params::builder()
 5083   4388   
            .accelerate(false)
 5084   4389   
            .bucket("bucket-name".to_string())
 5085   4390   
            .force_path_style(true)
 5086   4391   
            .region("af-south-1".to_string())
 5087   4392   
            .use_dual_stack(false)
 5088   4393   
            .use_fips(false)
 5089   4394   
            .build()
 5090   4395   
            .expect("invalid params");
 5091   4396   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5092   4397   
        let endpoint = resolver.resolve_endpoint(&params);
 5093   4398   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.af-south-1.amazonaws.com/bucket-name");
 5094   4399   
        assert_eq!(
 5095   4400   
            endpoint,
 5096   4401   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5097   4402   
                .url("https://s3.af-south-1.amazonaws.com/bucket-name")
 5098         -
                .property(
 5099         -
                    "authSchemes",
 5100         -
                    vec![{
 5101         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5102         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5103         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5104         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 5105         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5106         -
                        out
 5107         -
                    }
 5108         -
                    .into()]
        4403  +
                .auth_scheme(
        4404  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4405  +
                        .put("disableDoubleEncoding", true)
        4406  +
                        .put("signingName", "s3".to_string())
        4407  +
                        .put("signingRegion", "af-south-1".to_string())
 5109   4408   
                )
 5110   4409   
                .build()
 5111   4410   
        );
 5112   4411   
    }
 5113   4412   
 5114   4413   
    /// path style + fips@af-south-1
 5115   4414   
    #[test]
 5116   4415   
    fn test_179() {
 5117   4416   
        let params = crate::config::endpoint::Params::builder()
 5118   4417   
            .accelerate(false)
 5119   4418   
            .bucket("bucket-name".to_string())
 5120   4419   
            .force_path_style(true)
 5121   4420   
            .region("af-south-1".to_string())
 5122   4421   
            .use_dual_stack(false)
 5123   4422   
            .use_fips(true)
 5124   4423   
            .build()
 5125   4424   
            .expect("invalid params");
 5126   4425   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5127   4426   
        let endpoint = resolver.resolve_endpoint(&params);
 5128   4427   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.af-south-1.amazonaws.com/bucket-name");
 5129   4428   
        assert_eq!(
 5130   4429   
            endpoint,
 5131   4430   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5132   4431   
                .url("https://s3-fips.af-south-1.amazonaws.com/bucket-name")
 5133         -
                .property(
 5134         -
                    "authSchemes",
 5135         -
                    vec![{
 5136         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5137         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5138         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 5139         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5140         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5141         -
                        out
 5142         -
                    }
 5143         -
                    .into()]
        4432  +
                .auth_scheme(
        4433  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4434  +
                        .put("disableDoubleEncoding", true)
        4435  +
                        .put("signingName", "s3".to_string())
        4436  +
                        .put("signingRegion", "af-south-1".to_string())
 5144   4437   
                )
 5145   4438   
                .build()
 5146   4439   
        );
 5147   4440   
    }
 5148   4441   
 5149   4442   
    /// path style + accelerate = error@af-south-1
 5150   4443   
    #[test]
 5151   4444   
    fn test_180() {
 5152   4445   
        let params = crate::config::endpoint::Params::builder()
 5153   4446   
            .accelerate(true)
 5154   4447   
            .bucket("bucket-name".to_string())
 5155   4448   
            .force_path_style(true)
 5156   4449   
            .region("af-south-1".to_string())
 5157   4450   
            .use_dual_stack(false)
 5158   4451   
            .use_fips(false)
 5159   4452   
            .build()
 5160   4453   
            .expect("invalid params");
 5161   4454   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5162   4455   
        let endpoint = resolver.resolve_endpoint(&params);
 5163   4456   
        let error = endpoint
 5164   4457   
            .expect_err("expected error: Path-style addressing cannot be used with S3 Accelerate [path style + accelerate = error@af-south-1]");
 5165   4458   
        assert_eq!(format!("{}", error), "Path-style addressing cannot be used with S3 Accelerate")
 5166   4459   
    }
 5167   4460   
 5168   4461   
    /// path style + dualstack@af-south-1
 5169   4462   
    #[test]
 5170   4463   
    fn test_181() {
 5171   4464   
        let params = crate::config::endpoint::Params::builder()
 5172   4465   
            .accelerate(false)
 5173   4466   
            .bucket("bucket-name".to_string())
 5174   4467   
            .force_path_style(true)
 5175   4468   
            .region("af-south-1".to_string())
 5176   4469   
            .use_dual_stack(true)
 5177   4470   
            .use_fips(false)
 5178   4471   
            .build()
 5179   4472   
            .expect("invalid params");
 5180   4473   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5181   4474   
        let endpoint = resolver.resolve_endpoint(&params);
 5182   4475   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.af-south-1.amazonaws.com/bucket-name");
 5183   4476   
        assert_eq!(
 5184   4477   
            endpoint,
 5185   4478   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5186   4479   
                .url("https://s3.dualstack.af-south-1.amazonaws.com/bucket-name")
 5187         -
                .property(
 5188         -
                    "authSchemes",
 5189         -
                    vec![{
 5190         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5191         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5192         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5193         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 5194         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5195         -
                        out
 5196         -
                    }
 5197         -
                    .into()]
        4480  +
                .auth_scheme(
        4481  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4482  +
                        .put("disableDoubleEncoding", true)
        4483  +
                        .put("signingName", "s3".to_string())
        4484  +
                        .put("signingRegion", "af-south-1".to_string())
 5198   4485   
                )
 5199   4486   
                .build()
 5200   4487   
        );
 5201   4488   
    }
 5202   4489   
 5203   4490   
    /// path style + arn is error@af-south-1
 5204   4491   
    #[test]
 5205   4492   
    fn test_182() {
 5206   4493   
        let params = crate::config::endpoint::Params::builder()
 5207   4494   
            .accelerate(false)
 5208   4495   
            .bucket("arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket".to_string())
 5209   4496   
            .force_path_style(true)
 5210   4497   
            .region("af-south-1".to_string())
 5211   4498   
            .use_dual_stack(false)
 5212   4499   
            .use_fips(false)
 5213   4500   
            .build()
 5214   4501   
            .expect("invalid params");
 5215   4502   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5216   4503   
        let endpoint = resolver.resolve_endpoint(&params);
 5217   4504   
        let error =
 5218   4505   
            endpoint.expect_err("expected error: Path-style addressing cannot be used with ARN buckets [path style + arn is error@af-south-1]");
 5219   4506   
        assert_eq!(format!("{}", error), "Path-style addressing cannot be used with ARN buckets")
 5220   4507   
    }
 5221   4508   
 5222   4509   
    /// path style + invalid DNS name@af-south-1
 5223   4510   
    #[test]
 5224   4511   
    fn test_183() {
 5225   4512   
        let params = crate::config::endpoint::Params::builder()
 5226   4513   
            .accelerate(false)
 5227   4514   
            .bucket("99a_b".to_string())
 5228   4515   
            .force_path_style(true)
 5229   4516   
            .region("af-south-1".to_string())
 5230   4517   
            .use_dual_stack(false)
 5231   4518   
            .use_fips(false)
 5232   4519   
            .build()
 5233   4520   
            .expect("invalid params");
 5234   4521   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5235   4522   
        let endpoint = resolver.resolve_endpoint(&params);
 5236   4523   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.af-south-1.amazonaws.com/99a_b");
 5237   4524   
        assert_eq!(
 5238   4525   
            endpoint,
 5239   4526   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5240   4527   
                .url("https://s3.af-south-1.amazonaws.com/99a_b")
 5241         -
                .property(
 5242         -
                    "authSchemes",
 5243         -
                    vec![{
 5244         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5245         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5246         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5247         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 5248         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5249         -
                        out
 5250         -
                    }
 5251         -
                    .into()]
        4528  +
                .auth_scheme(
        4529  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4530  +
                        .put("disableDoubleEncoding", true)
        4531  +
                        .put("signingName", "s3".to_string())
        4532  +
                        .put("signingRegion", "af-south-1".to_string())
 5252   4533   
                )
 5253   4534   
                .build()
 5254   4535   
        );
 5255   4536   
    }
 5256   4537   
 5257   4538   
    /// no path style + invalid DNS name@af-south-1
 5258   4539   
    #[test]
 5259   4540   
    fn test_184() {
 5260   4541   
        let params = crate::config::endpoint::Params::builder()
 5261   4542   
            .accelerate(false)
 5262   4543   
            .bucket("99a_b".to_string())
 5263   4544   
            .region("af-south-1".to_string())
 5264   4545   
            .use_dual_stack(false)
 5265   4546   
            .use_fips(false)
 5266   4547   
            .build()
 5267   4548   
            .expect("invalid params");
 5268   4549   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5269   4550   
        let endpoint = resolver.resolve_endpoint(&params);
 5270   4551   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.af-south-1.amazonaws.com/99a_b");
 5271   4552   
        assert_eq!(
 5272   4553   
            endpoint,
 5273   4554   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5274   4555   
                .url("https://s3.af-south-1.amazonaws.com/99a_b")
 5275         -
                .property(
 5276         -
                    "authSchemes",
 5277         -
                    vec![{
 5278         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5279         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5280         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5281         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 5282         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5283         -
                        out
 5284         -
                    }
 5285         -
                    .into()]
        4556  +
                .auth_scheme(
        4557  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4558  +
                        .put("disableDoubleEncoding", true)
        4559  +
                        .put("signingName", "s3".to_string())
        4560  +
                        .put("signingRegion", "af-south-1".to_string())
 5286   4561   
                )
 5287   4562   
                .build()
 5288   4563   
        );
 5289   4564   
    }
 5290   4565   
 5291   4566   
    /// virtual addressing + private link@us-west-2
 5292   4567   
    #[test]
 5293   4568   
    fn test_185() {
 5294   4569   
        let params = crate::config::endpoint::Params::builder()
 5295   4570   
            .accelerate(false)
 5296   4571   
            .bucket("bucket-name".to_string())
 5297   4572   
            .force_path_style(false)
 5298   4573   
            .endpoint("http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
 5299   4574   
            .region("us-west-2".to_string())
 5300   4575   
            .use_dual_stack(false)
 5301   4576   
            .use_fips(false)
 5302   4577   
            .build()
 5303   4578   
            .expect("invalid params");
 5304   4579   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5305   4580   
        let endpoint = resolver.resolve_endpoint(&params);
 5306   4581   
        let endpoint = endpoint.expect("Expected valid endpoint: http://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com");
 5307   4582   
        assert_eq!(
 5308   4583   
            endpoint,
 5309   4584   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5310   4585   
                .url("http://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com")
 5311         -
                .property(
 5312         -
                    "authSchemes",
 5313         -
                    vec![{
 5314         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5315         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5316         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5317         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 5318         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5319         -
                        out
 5320         -
                    }
 5321         -
                    .into()]
        4586  +
                .auth_scheme(
        4587  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4588  +
                        .put("disableDoubleEncoding", true)
        4589  +
                        .put("signingName", "s3".to_string())
        4590  +
                        .put("signingRegion", "us-west-2".to_string())
 5322   4591   
                )
 5323   4592   
                .build()
 5324   4593   
        );
 5325   4594   
    }
 5326   4595   
 5327   4596   
    /// path style + private link@us-west-2
 5328   4597   
    #[test]
 5329   4598   
    fn test_186() {
 5330   4599   
        let params = crate::config::endpoint::Params::builder()
 5331   4600   
            .accelerate(false)
 5332   4601   
            .bucket("bucket-name".to_string())
 5333   4602   
            .force_path_style(true)
 5334   4603   
            .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
 5335   4604   
            .region("us-west-2".to_string())
 5336   4605   
            .use_dual_stack(false)
 5337   4606   
            .use_fips(false)
 5338   4607   
            .build()
 5339   4608   
            .expect("invalid params");
 5340   4609   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5341   4610   
        let endpoint = resolver.resolve_endpoint(&params);
 5342   4611   
        let endpoint = endpoint.expect("Expected valid endpoint: https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name");
 5343   4612   
        assert_eq!(
 5344   4613   
            endpoint,
 5345   4614   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5346   4615   
                .url("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name")
 5347         -
                .property(
 5348         -
                    "authSchemes",
 5349         -
                    vec![{
 5350         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5351         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5352         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5353         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 5354         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5355         -
                        out
 5356         -
                    }
 5357         -
                    .into()]
        4616  +
                .auth_scheme(
        4617  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4618  +
                        .put("disableDoubleEncoding", true)
        4619  +
                        .put("signingName", "s3".to_string())
        4620  +
                        .put("signingRegion", "us-west-2".to_string())
 5358   4621   
                )
 5359   4622   
                .build()
 5360   4623   
        );
 5361   4624   
    }
 5362   4625   
 5363   4626   
    /// SDK::Host + FIPS@us-west-2
 5364   4627   
    #[test]
 5365   4628   
    fn test_187() {
 5366   4629   
        let params = crate::config::endpoint::Params::builder()
 5367   4630   
            .accelerate(false)
@@ -5411,4674 +5553,4798 @@
 5431   4694   
            .use_fips(false)
 5432   4695   
            .build()
 5433   4696   
            .expect("invalid params");
 5434   4697   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5435   4698   
        let endpoint = resolver.resolve_endpoint(&params);
 5436   4699   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.beta.example.com");
 5437   4700   
        assert_eq!(
 5438   4701   
            endpoint,
 5439   4702   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5440   4703   
                .url("https://myendpoint-123456789012.beta.example.com")
 5441         -
                .property(
 5442         -
                    "authSchemes",
 5443         -
                    vec![{
 5444         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5445         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5446         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5447         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 5448         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5449         -
                        out
 5450         -
                    }
 5451         -
                    .into()]
        4704  +
                .auth_scheme(
        4705  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4706  +
                        .put("disableDoubleEncoding", true)
        4707  +
                        .put("signingName", "s3".to_string())
        4708  +
                        .put("signingRegion", "us-west-2".to_string())
 5452   4709   
                )
 5453   4710   
                .build()
 5454   4711   
        );
 5455   4712   
    }
 5456   4713   
 5457   4714   
    /// virtual addressing + private link@cn-north-1
 5458   4715   
    #[test]
 5459   4716   
    fn test_191() {
 5460   4717   
        let params = crate::config::endpoint::Params::builder()
 5461   4718   
            .accelerate(false)
 5462   4719   
            .bucket("bucket-name".to_string())
 5463   4720   
            .force_path_style(false)
 5464   4721   
            .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
 5465   4722   
            .region("cn-north-1".to_string())
 5466   4723   
            .use_dual_stack(false)
 5467   4724   
            .use_fips(false)
 5468   4725   
            .build()
 5469   4726   
            .expect("invalid params");
 5470   4727   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5471   4728   
        let endpoint = resolver.resolve_endpoint(&params);
 5472   4729   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com");
 5473   4730   
        assert_eq!(
 5474   4731   
            endpoint,
 5475   4732   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5476   4733   
                .url("https://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com")
 5477         -
                .property(
 5478         -
                    "authSchemes",
 5479         -
                    vec![{
 5480         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5481         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5482         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5483         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 5484         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5485         -
                        out
 5486         -
                    }
 5487         -
                    .into()]
        4734  +
                .auth_scheme(
        4735  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4736  +
                        .put("disableDoubleEncoding", true)
        4737  +
                        .put("signingName", "s3".to_string())
        4738  +
                        .put("signingRegion", "cn-north-1".to_string())
 5488   4739   
                )
 5489   4740   
                .build()
 5490   4741   
        );
 5491   4742   
    }
 5492   4743   
 5493   4744   
    /// path style + private link@cn-north-1
 5494   4745   
    #[test]
 5495   4746   
    fn test_192() {
 5496   4747   
        let params = crate::config::endpoint::Params::builder()
 5497   4748   
            .accelerate(false)
 5498   4749   
            .bucket("bucket-name".to_string())
 5499   4750   
            .force_path_style(true)
 5500   4751   
            .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
 5501   4752   
            .region("cn-north-1".to_string())
 5502   4753   
            .use_dual_stack(false)
 5503   4754   
            .use_fips(false)
 5504   4755   
            .build()
 5505   4756   
            .expect("invalid params");
 5506   4757   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5507   4758   
        let endpoint = resolver.resolve_endpoint(&params);
 5508   4759   
        let endpoint = endpoint.expect("Expected valid endpoint: https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name");
 5509   4760   
        assert_eq!(
 5510   4761   
            endpoint,
 5511   4762   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5512   4763   
                .url("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name")
 5513         -
                .property(
 5514         -
                    "authSchemes",
 5515         -
                    vec![{
 5516         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5517         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5518         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5519         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 5520         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5521         -
                        out
 5522         -
                    }
 5523         -
                    .into()]
        4764  +
                .auth_scheme(
        4765  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4766  +
                        .put("disableDoubleEncoding", true)
        4767  +
                        .put("signingName", "s3".to_string())
        4768  +
                        .put("signingRegion", "cn-north-1".to_string())
 5524   4769   
                )
 5525   4770   
                .build()
 5526   4771   
        );
 5527   4772   
    }
 5528   4773   
 5529   4774   
    /// FIPS@cn-north-1
 5530   4775   
    #[test]
 5531   4776   
    fn test_193() {
 5532   4777   
        let params = crate::config::endpoint::Params::builder()
 5533   4778   
            .accelerate(false)
@@ -5577,4822 +5719,4946 @@
 5597   4842   
            .use_fips(false)
 5598   4843   
            .build()
 5599   4844   
            .expect("invalid params");
 5600   4845   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5601   4846   
        let endpoint = resolver.resolve_endpoint(&params);
 5602   4847   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.beta.example.com");
 5603   4848   
        assert_eq!(
 5604   4849   
            endpoint,
 5605   4850   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5606   4851   
                .url("https://myendpoint-123456789012.beta.example.com")
 5607         -
                .property(
 5608         -
                    "authSchemes",
 5609         -
                    vec![{
 5610         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5611         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5612         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5613         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 5614         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5615         -
                        out
 5616         -
                    }
 5617         -
                    .into()]
        4852  +
                .auth_scheme(
        4853  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4854  +
                        .put("disableDoubleEncoding", true)
        4855  +
                        .put("signingName", "s3".to_string())
        4856  +
                        .put("signingRegion", "cn-north-1".to_string())
 5618   4857   
                )
 5619   4858   
                .build()
 5620   4859   
        );
 5621   4860   
    }
 5622   4861   
 5623   4862   
    /// virtual addressing + private link@af-south-1
 5624   4863   
    #[test]
 5625   4864   
    fn test_197() {
 5626   4865   
        let params = crate::config::endpoint::Params::builder()
 5627   4866   
            .accelerate(false)
 5628   4867   
            .bucket("bucket-name".to_string())
 5629   4868   
            .force_path_style(false)
 5630   4869   
            .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
 5631   4870   
            .region("af-south-1".to_string())
 5632   4871   
            .use_dual_stack(false)
 5633   4872   
            .use_fips(false)
 5634   4873   
            .build()
 5635   4874   
            .expect("invalid params");
 5636   4875   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5637   4876   
        let endpoint = resolver.resolve_endpoint(&params);
 5638   4877   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com");
 5639   4878   
        assert_eq!(
 5640   4879   
            endpoint,
 5641   4880   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5642   4881   
                .url("https://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com")
 5643         -
                .property(
 5644         -
                    "authSchemes",
 5645         -
                    vec![{
 5646         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5647         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5648         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5649         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 5650         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5651         -
                        out
 5652         -
                    }
 5653         -
                    .into()]
        4882  +
                .auth_scheme(
        4883  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4884  +
                        .put("disableDoubleEncoding", true)
        4885  +
                        .put("signingName", "s3".to_string())
        4886  +
                        .put("signingRegion", "af-south-1".to_string())
 5654   4887   
                )
 5655   4888   
                .build()
 5656   4889   
        );
 5657   4890   
    }
 5658   4891   
 5659   4892   
    /// path style + private link@af-south-1
 5660   4893   
    #[test]
 5661   4894   
    fn test_198() {
 5662   4895   
        let params = crate::config::endpoint::Params::builder()
 5663   4896   
            .accelerate(false)
 5664   4897   
            .bucket("bucket-name".to_string())
 5665   4898   
            .force_path_style(true)
 5666   4899   
            .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
 5667   4900   
            .region("af-south-1".to_string())
 5668   4901   
            .use_dual_stack(false)
 5669   4902   
            .use_fips(false)
 5670   4903   
            .build()
 5671   4904   
            .expect("invalid params");
 5672   4905   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5673   4906   
        let endpoint = resolver.resolve_endpoint(&params);
 5674   4907   
        let endpoint = endpoint.expect("Expected valid endpoint: https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name");
 5675   4908   
        assert_eq!(
 5676   4909   
            endpoint,
 5677   4910   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5678   4911   
                .url("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name")
 5679         -
                .property(
 5680         -
                    "authSchemes",
 5681         -
                    vec![{
 5682         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5683         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5684         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5685         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 5686         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5687         -
                        out
 5688         -
                    }
 5689         -
                    .into()]
        4912  +
                .auth_scheme(
        4913  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4914  +
                        .put("disableDoubleEncoding", true)
        4915  +
                        .put("signingName", "s3".to_string())
        4916  +
                        .put("signingRegion", "af-south-1".to_string())
 5690   4917   
                )
 5691   4918   
                .build()
 5692   4919   
        );
 5693   4920   
    }
 5694   4921   
 5695   4922   
    /// SDK::Host + FIPS@af-south-1
 5696   4923   
    #[test]
 5697   4924   
    fn test_199() {
 5698   4925   
        let params = crate::config::endpoint::Params::builder()
 5699   4926   
            .accelerate(false)
@@ -5744,4971 +5974,5171 @@
 5764   4991   
            .use_fips(false)
 5765   4992   
            .build()
 5766   4993   
            .expect("invalid params");
 5767   4994   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5768   4995   
        let endpoint = resolver.resolve_endpoint(&params);
 5769   4996   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.beta.example.com");
 5770   4997   
        assert_eq!(
 5771   4998   
            endpoint,
 5772   4999   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5773   5000   
                .url("https://myendpoint-123456789012.beta.example.com")
 5774         -
                .property(
 5775         -
                    "authSchemes",
 5776         -
                    vec![{
 5777         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5778         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5779         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5780         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 5781         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5782         -
                        out
 5783         -
                    }
 5784         -
                    .into()]
        5001  +
                .auth_scheme(
        5002  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5003  +
                        .put("disableDoubleEncoding", true)
        5004  +
                        .put("signingName", "s3".to_string())
        5005  +
                        .put("signingRegion", "af-south-1".to_string())
 5785   5006   
                )
 5786   5007   
                .build()
 5787   5008   
        );
 5788   5009   
    }
 5789   5010   
 5790   5011   
    /// vanilla access point arn@us-west-2
 5791   5012   
    #[test]
 5792   5013   
    fn test_203() {
 5793   5014   
        let params = crate::config::endpoint::Params::builder()
 5794   5015   
            .accelerate(false)
 5795   5016   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
 5796   5017   
            .force_path_style(false)
 5797   5018   
            .region("us-west-2".to_string())
 5798   5019   
            .use_dual_stack(false)
 5799   5020   
            .use_fips(false)
 5800   5021   
            .build()
 5801   5022   
            .expect("invalid params");
 5802   5023   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5803   5024   
        let endpoint = resolver.resolve_endpoint(&params);
 5804   5025   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com");
 5805   5026   
        assert_eq!(
 5806   5027   
            endpoint,
 5807   5028   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5808   5029   
                .url("https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com")
 5809         -
                .property(
 5810         -
                    "authSchemes",
 5811         -
                    vec![{
 5812         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5813         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5814         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5815         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 5816         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5817         -
                        out
 5818         -
                    }
 5819         -
                    .into()]
        5030  +
                .auth_scheme(
        5031  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5032  +
                        .put("disableDoubleEncoding", true)
        5033  +
                        .put("signingName", "s3".to_string())
        5034  +
                        .put("signingRegion", "us-west-2".to_string())
 5820   5035   
                )
 5821   5036   
                .build()
 5822   5037   
        );
 5823   5038   
    }
 5824   5039   
 5825   5040   
    /// access point arn + FIPS@us-west-2
 5826   5041   
    #[test]
 5827   5042   
    fn test_204() {
 5828   5043   
        let params = crate::config::endpoint::Params::builder()
 5829   5044   
            .accelerate(false)
 5830   5045   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
 5831   5046   
            .force_path_style(false)
 5832   5047   
            .region("us-west-2".to_string())
 5833   5048   
            .use_dual_stack(false)
 5834   5049   
            .use_fips(true)
 5835   5050   
            .build()
 5836   5051   
            .expect("invalid params");
 5837   5052   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5838   5053   
        let endpoint = resolver.resolve_endpoint(&params);
 5839   5054   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint-fips.us-west-2.amazonaws.com");
 5840   5055   
        assert_eq!(
 5841   5056   
            endpoint,
 5842   5057   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5843   5058   
                .url("https://myendpoint-123456789012.s3-accesspoint-fips.us-west-2.amazonaws.com")
 5844         -
                .property(
 5845         -
                    "authSchemes",
 5846         -
                    vec![{
 5847         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5848         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5849         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5850         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 5851         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5852         -
                        out
 5853         -
                    }
 5854         -
                    .into()]
        5059  +
                .auth_scheme(
        5060  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5061  +
                        .put("disableDoubleEncoding", true)
        5062  +
                        .put("signingName", "s3".to_string())
        5063  +
                        .put("signingRegion", "us-west-2".to_string())
 5855   5064   
                )
 5856   5065   
                .build()
 5857   5066   
        );
 5858   5067   
    }
 5859   5068   
 5860   5069   
    /// access point arn + accelerate = error@us-west-2
 5861   5070   
    #[test]
 5862   5071   
    fn test_205() {
 5863   5072   
        let params = crate::config::endpoint::Params::builder()
 5864   5073   
            .accelerate(true)
 5865   5074   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
 5866   5075   
            .force_path_style(false)
 5867   5076   
            .region("us-west-2".to_string())
 5868   5077   
            .use_dual_stack(false)
 5869   5078   
            .use_fips(false)
 5870   5079   
            .build()
 5871   5080   
            .expect("invalid params");
 5872   5081   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5873   5082   
        let endpoint = resolver.resolve_endpoint(&params);
 5874   5083   
        let error =
 5875   5084   
            endpoint.expect_err("expected error: Access Points do not support S3 Accelerate [access point arn + accelerate = error@us-west-2]");
 5876   5085   
        assert_eq!(format!("{}", error), "Access Points do not support S3 Accelerate")
 5877   5086   
    }
 5878   5087   
 5879   5088   
    /// access point arn + FIPS + DualStack@us-west-2
 5880   5089   
    #[test]
 5881   5090   
    fn test_206() {
 5882   5091   
        let params = crate::config::endpoint::Params::builder()
 5883   5092   
            .accelerate(false)
 5884   5093   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
 5885   5094   
            .force_path_style(false)
 5886   5095   
            .region("us-west-2".to_string())
 5887   5096   
            .use_dual_stack(true)
 5888   5097   
            .use_fips(true)
 5889   5098   
            .build()
 5890   5099   
            .expect("invalid params");
 5891   5100   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5892   5101   
        let endpoint = resolver.resolve_endpoint(&params);
 5893   5102   
        let endpoint =
 5894   5103   
            endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com");
 5895   5104   
        assert_eq!(
 5896   5105   
            endpoint,
 5897   5106   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5898   5107   
                .url("https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com")
 5899         -
                .property(
 5900         -
                    "authSchemes",
 5901         -
                    vec![{
 5902         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5903         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5904         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5905         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 5906         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5907         -
                        out
 5908         -
                    }
 5909         -
                    .into()]
        5108  +
                .auth_scheme(
        5109  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5110  +
                        .put("disableDoubleEncoding", true)
        5111  +
                        .put("signingName", "s3".to_string())
        5112  +
                        .put("signingRegion", "us-west-2".to_string())
 5910   5113   
                )
 5911   5114   
                .build()
 5912   5115   
        );
 5913   5116   
    }
 5914   5117   
 5915   5118   
    /// vanilla access point arn@cn-north-1
 5916   5119   
    #[test]
 5917   5120   
    fn test_207() {
 5918   5121   
        let params = crate::config::endpoint::Params::builder()
 5919   5122   
            .accelerate(false)
 5920   5123   
            .bucket("arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint".to_string())
 5921   5124   
            .force_path_style(false)
 5922   5125   
            .region("cn-north-1".to_string())
 5923   5126   
            .use_dual_stack(false)
 5924   5127   
            .use_fips(false)
 5925   5128   
            .build()
 5926   5129   
            .expect("invalid params");
 5927   5130   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5928   5131   
        let endpoint = resolver.resolve_endpoint(&params);
 5929   5132   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.cn-north-1.amazonaws.com.cn");
 5930   5133   
        assert_eq!(
 5931   5134   
            endpoint,
 5932   5135   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5933   5136   
                .url("https://myendpoint-123456789012.s3-accesspoint.cn-north-1.amazonaws.com.cn")
 5934         -
                .property(
 5935         -
                    "authSchemes",
 5936         -
                    vec![{
 5937         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5938         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5939         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5940         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 5941         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5942         -
                        out
 5943         -
                    }
 5944         -
                    .into()]
        5137  +
                .auth_scheme(
        5138  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5139  +
                        .put("disableDoubleEncoding", true)
        5140  +
                        .put("signingName", "s3".to_string())
        5141  +
                        .put("signingRegion", "cn-north-1".to_string())
 5945   5142   
                )
 5946   5143   
                .build()
 5947   5144   
        );
 5948   5145   
    }
 5949   5146   
 5950   5147   
    /// access point arn + FIPS@cn-north-1
 5951   5148   
    #[test]
 5952   5149   
    fn test_208() {
 5953   5150   
        let params = crate::config::endpoint::Params::builder()
 5954   5151   
            .accelerate(false)
@@ -5994,5191 +6246,5403 @@
 6014   5211   
            .use_fips(false)
 6015   5212   
            .build()
 6016   5213   
            .expect("invalid params");
 6017   5214   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6018   5215   
        let endpoint = resolver.resolve_endpoint(&params);
 6019   5216   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.af-south-1.amazonaws.com");
 6020   5217   
        assert_eq!(
 6021   5218   
            endpoint,
 6022   5219   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6023   5220   
                .url("https://myendpoint-123456789012.s3-accesspoint.af-south-1.amazonaws.com")
 6024         -
                .property(
 6025         -
                    "authSchemes",
 6026         -
                    vec![{
 6027         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6028         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6029         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 6030         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 6031         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6032         -
                        out
 6033         -
                    }
 6034         -
                    .into()]
        5221  +
                .auth_scheme(
        5222  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5223  +
                        .put("disableDoubleEncoding", true)
        5224  +
                        .put("signingName", "s3".to_string())
        5225  +
                        .put("signingRegion", "af-south-1".to_string())
 6035   5226   
                )
 6036   5227   
                .build()
 6037   5228   
        );
 6038   5229   
    }
 6039   5230   
 6040   5231   
    /// access point arn + FIPS@af-south-1
 6041   5232   
    #[test]
 6042   5233   
    fn test_212() {
 6043   5234   
        let params = crate::config::endpoint::Params::builder()
 6044   5235   
            .accelerate(false)
 6045   5236   
            .bucket("arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint".to_string())
 6046   5237   
            .force_path_style(false)
 6047   5238   
            .region("af-south-1".to_string())
 6048   5239   
            .use_dual_stack(false)
 6049   5240   
            .use_fips(true)
 6050   5241   
            .build()
 6051   5242   
            .expect("invalid params");
 6052   5243   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6053   5244   
        let endpoint = resolver.resolve_endpoint(&params);
 6054   5245   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint-fips.af-south-1.amazonaws.com");
 6055   5246   
        assert_eq!(
 6056   5247   
            endpoint,
 6057   5248   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6058   5249   
                .url("https://myendpoint-123456789012.s3-accesspoint-fips.af-south-1.amazonaws.com")
 6059         -
                .property(
 6060         -
                    "authSchemes",
 6061         -
                    vec![{
 6062         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6063         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6064         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 6065         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 6066         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6067         -
                        out
 6068         -
                    }
 6069         -
                    .into()]
        5250  +
                .auth_scheme(
        5251  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5252  +
                        .put("disableDoubleEncoding", true)
        5253  +
                        .put("signingName", "s3".to_string())
        5254  +
                        .put("signingRegion", "af-south-1".to_string())
 6070   5255   
                )
 6071   5256   
                .build()
 6072   5257   
        );
 6073   5258   
    }
 6074   5259   
 6075   5260   
    /// access point arn + accelerate = error@af-south-1
 6076   5261   
    #[test]
 6077   5262   
    fn test_213() {
 6078   5263   
        let params = crate::config::endpoint::Params::builder()
 6079   5264   
            .accelerate(true)
 6080   5265   
            .bucket("arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint".to_string())
 6081   5266   
            .force_path_style(false)
 6082   5267   
            .region("af-south-1".to_string())
 6083   5268   
            .use_dual_stack(false)
 6084   5269   
            .use_fips(false)
 6085   5270   
            .build()
 6086   5271   
            .expect("invalid params");
 6087   5272   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6088   5273   
        let endpoint = resolver.resolve_endpoint(&params);
 6089   5274   
        let error =
 6090   5275   
            endpoint.expect_err("expected error: Access Points do not support S3 Accelerate [access point arn + accelerate = error@af-south-1]");
 6091   5276   
        assert_eq!(format!("{}", error), "Access Points do not support S3 Accelerate")
 6092   5277   
    }
 6093   5278   
 6094   5279   
    /// access point arn + FIPS + DualStack@af-south-1
 6095   5280   
    #[test]
 6096   5281   
    fn test_214() {
 6097   5282   
        let params = crate::config::endpoint::Params::builder()
 6098   5283   
            .accelerate(false)
 6099   5284   
            .bucket("arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint".to_string())
 6100   5285   
            .force_path_style(false)
 6101   5286   
            .region("af-south-1".to_string())
 6102   5287   
            .use_dual_stack(true)
 6103   5288   
            .use_fips(true)
 6104   5289   
            .build()
 6105   5290   
            .expect("invalid params");
 6106   5291   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6107   5292   
        let endpoint = resolver.resolve_endpoint(&params);
 6108   5293   
        let endpoint =
 6109   5294   
            endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.af-south-1.amazonaws.com");
 6110   5295   
        assert_eq!(
 6111   5296   
            endpoint,
 6112   5297   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6113   5298   
                .url("https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.af-south-1.amazonaws.com")
 6114         -
                .property(
 6115         -
                    "authSchemes",
 6116         -
                    vec![{
 6117         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6118         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6119         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 6120         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 6121         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6122         -
                        out
 6123         -
                    }
 6124         -
                    .into()]
        5299  +
                .auth_scheme(
        5300  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5301  +
                        .put("disableDoubleEncoding", true)
        5302  +
                        .put("signingName", "s3".to_string())
        5303  +
                        .put("signingRegion", "af-south-1".to_string())
 6125   5304   
                )
 6126   5305   
                .build()
 6127   5306   
        );
 6128   5307   
    }
 6129   5308   
 6130   5309   
    /// S3 outposts vanilla test
 6131   5310   
    #[test]
 6132   5311   
    fn test_215() {
 6133   5312   
        let params = crate::config::endpoint::Params::builder()
 6134   5313   
            .region("us-west-2".to_string())
 6135   5314   
            .use_fips(false)
 6136   5315   
            .use_dual_stack(false)
 6137   5316   
            .accelerate(false)
 6138   5317   
            .bucket("arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
 6139   5318   
            .build()
 6140   5319   
            .expect("invalid params");
 6141   5320   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6142   5321   
        let endpoint = resolver.resolve_endpoint(&params);
 6143   5322   
        let endpoint =
 6144   5323   
            endpoint.expect("Expected valid endpoint: https://reports-123456789012.op-01234567890123456.s3-outposts.us-west-2.amazonaws.com");
 6145   5324   
        assert_eq!(
 6146   5325   
            endpoint,
 6147   5326   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6148   5327   
                .url("https://reports-123456789012.op-01234567890123456.s3-outposts.us-west-2.amazonaws.com")
 6149         -
                .property(
 6150         -
                    "authSchemes",
 6151         -
                    vec![
 6152         -
                        {
 6153         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6154         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 6155         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6156         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 6157         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6158         -
                            out
 6159         -
                        }
 6160         -
                        .into(),
 6161         -
                        {
 6162         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6163         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 6164         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6165         -
                            out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 6166         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6167         -
                            out
 6168         -
                        }
 6169         -
                        .into()
 6170         -
                    ]
        5328  +
                .auth_scheme(
        5329  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        5330  +
                        .put("disableDoubleEncoding", true)
        5331  +
                        .put("signingName", "s3-outposts".to_string())
        5332  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        5333  +
                )
        5334  +
                .auth_scheme(
        5335  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5336  +
                        .put("disableDoubleEncoding", true)
        5337  +
                        .put("signingName", "s3-outposts".to_string())
        5338  +
                        .put("signingRegion", "us-west-2".to_string())
 6171   5339   
                )
 6172   5340   
                .build()
 6173   5341   
        );
 6174   5342   
    }
 6175   5343   
 6176   5344   
    /// S3 outposts custom endpoint
 6177   5345   
    #[test]
 6178   5346   
    fn test_216() {
 6179   5347   
        let params = crate::config::endpoint::Params::builder()
 6180   5348   
            .region("us-west-2".to_string())
 6181   5349   
            .use_fips(false)
 6182   5350   
            .use_dual_stack(false)
 6183   5351   
            .accelerate(false)
 6184   5352   
            .bucket("arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
 6185   5353   
            .endpoint("https://example.amazonaws.com".to_string())
 6186   5354   
            .build()
 6187   5355   
            .expect("invalid params");
 6188   5356   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6189   5357   
        let endpoint = resolver.resolve_endpoint(&params);
 6190   5358   
        let endpoint = endpoint.expect("Expected valid endpoint: https://reports-123456789012.op-01234567890123456.example.amazonaws.com");
 6191   5359   
        assert_eq!(
 6192   5360   
            endpoint,
 6193   5361   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6194   5362   
                .url("https://reports-123456789012.op-01234567890123456.example.amazonaws.com")
 6195         -
                .property(
 6196         -
                    "authSchemes",
 6197         -
                    vec![
 6198         -
                        {
 6199         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6200         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 6201         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6202         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 6203         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6204         -
                            out
 6205         -
                        }
 6206         -
                        .into(),
 6207         -
                        {
 6208         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6209         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 6210         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6211         -
                            out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 6212         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6213         -
                            out
 6214         -
                        }
 6215         -
                        .into()
 6216         -
                    ]
        5363  +
                .auth_scheme(
        5364  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        5365  +
                        .put("disableDoubleEncoding", true)
        5366  +
                        .put("signingName", "s3-outposts".to_string())
        5367  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        5368  +
                )
        5369  +
                .auth_scheme(
        5370  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5371  +
                        .put("disableDoubleEncoding", true)
        5372  +
                        .put("signingName", "s3-outposts".to_string())
        5373  +
                        .put("signingRegion", "us-west-2".to_string())
 6217   5374   
                )
 6218   5375   
                .build()
 6219   5376   
        );
 6220   5377   
    }
 6221   5378   
 6222   5379   
    /// outposts arn with region mismatch and UseArnRegion=false
 6223   5380   
    #[test]
 6224   5381   
    fn test_217() {
 6225   5382   
        let params = crate::config::endpoint::Params::builder()
 6226   5383   
            .accelerate(false)
@@ -6258,5415 +6452,5576 @@
 6278   5435   
            .build()
 6279   5436   
            .expect("invalid params");
 6280   5437   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6281   5438   
        let endpoint = resolver.resolve_endpoint(&params);
 6282   5439   
        let endpoint =
 6283   5440   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com");
 6284   5441   
        assert_eq!(
 6285   5442   
            endpoint,
 6286   5443   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6287   5444   
                .url("https://myaccesspoint-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com")
 6288         -
                .property(
 6289         -
                    "authSchemes",
 6290         -
                    vec![
 6291         -
                        {
 6292         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6293         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 6294         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6295         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 6296         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6297         -
                            out
 6298         -
                        }
 6299         -
                        .into(),
 6300         -
                        {
 6301         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6302         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 6303         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6304         -
                            out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 6305         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6306         -
                            out
 6307         -
                        }
 6308         -
                        .into()
 6309         -
                    ]
        5445  +
                .auth_scheme(
        5446  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        5447  +
                        .put("disableDoubleEncoding", true)
        5448  +
                        .put("signingName", "s3-outposts".to_string())
        5449  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        5450  +
                )
        5451  +
                .auth_scheme(
        5452  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5453  +
                        .put("disableDoubleEncoding", true)
        5454  +
                        .put("signingName", "s3-outposts".to_string())
        5455  +
                        .put("signingRegion", "us-east-1".to_string())
 6310   5456   
                )
 6311   5457   
                .build()
 6312   5458   
        );
 6313   5459   
    }
 6314   5460   
 6315   5461   
    /// outposts arn with region mismatch and UseArnRegion unset
 6316   5462   
    #[test]
 6317   5463   
    fn test_220() {
 6318   5464   
        let params = crate::config::endpoint::Params::builder()
 6319   5465   
            .accelerate(false)
 6320   5466   
            .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint".to_string())
 6321   5467   
            .force_path_style(false)
 6322   5468   
            .region("us-west-2".to_string())
 6323   5469   
            .use_dual_stack(false)
 6324   5470   
            .use_fips(false)
 6325   5471   
            .build()
 6326   5472   
            .expect("invalid params");
 6327   5473   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6328   5474   
        let endpoint = resolver.resolve_endpoint(&params);
 6329   5475   
        let endpoint =
 6330   5476   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com");
 6331   5477   
        assert_eq!(
 6332   5478   
            endpoint,
 6333   5479   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6334   5480   
                .url("https://myaccesspoint-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com")
 6335         -
                .property(
 6336         -
                    "authSchemes",
 6337         -
                    vec![
 6338         -
                        {
 6339         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6340         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 6341         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6342         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 6343         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6344         -
                            out
 6345         -
                        }
 6346         -
                        .into(),
 6347         -
                        {
 6348         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6349         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 6350         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6351         -
                            out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 6352         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6353         -
                            out
 6354         -
                        }
 6355         -
                        .into()
 6356         -
                    ]
        5481  +
                .auth_scheme(
        5482  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        5483  +
                        .put("disableDoubleEncoding", true)
        5484  +
                        .put("signingName", "s3-outposts".to_string())
        5485  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        5486  +
                )
        5487  +
                .auth_scheme(
        5488  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5489  +
                        .put("disableDoubleEncoding", true)
        5490  +
                        .put("signingName", "s3-outposts".to_string())
        5491  +
                        .put("signingRegion", "us-east-1".to_string())
 6357   5492   
                )
 6358   5493   
                .build()
 6359   5494   
        );
 6360   5495   
    }
 6361   5496   
 6362   5497   
    /// outposts arn with partition mismatch and UseArnRegion=true
 6363   5498   
    #[test]
 6364   5499   
    fn test_221() {
 6365   5500   
        let params = crate::config::endpoint::Params::builder()
 6366   5501   
            .accelerate(false)
 6367   5502   
            .bucket("arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint".to_string())
 6368   5503   
            .force_path_style(false)
 6369   5504   
            .use_arn_region(true)
 6370   5505   
            .region("us-west-2".to_string())
 6371   5506   
            .use_dual_stack(false)
 6372   5507   
            .use_fips(false)
 6373   5508   
            .build()
 6374   5509   
            .expect("invalid params");
 6375   5510   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6376   5511   
        let endpoint = resolver.resolve_endpoint(&params);
 6377   5512   
        let error = endpoint.expect_err("expected error: Client was configured for partition `aws` but ARN (`arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint`) has `aws-cn` [outposts arn with partition mismatch and UseArnRegion=true]");
 6378   5513   
        assert_eq!(format!("{}", error), "Client was configured for partition `aws` but ARN (`arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint`) has `aws-cn`")
 6379   5514   
    }
 6380   5515   
 6381   5516   
    /// ARN with UseGlobalEndpoint and use-east-1 region uses the regional endpoint
 6382   5517   
    #[test]
 6383   5518   
    fn test_222() {
 6384   5519   
        let params = crate::config::endpoint::Params::builder()
 6385   5520   
            .region("us-east-1".to_string())
 6386   5521   
            .use_global_endpoint(true)
 6387   5522   
            .use_fips(false)
 6388   5523   
            .use_dual_stack(false)
 6389   5524   
            .accelerate(false)
 6390   5525   
            .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
 6391   5526   
            .build()
 6392   5527   
            .expect("invalid params");
 6393   5528   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6394   5529   
        let endpoint = resolver.resolve_endpoint(&params);
 6395   5530   
        let endpoint =
 6396   5531   
            endpoint.expect("Expected valid endpoint: https://reports-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com");
 6397   5532   
        assert_eq!(
 6398   5533   
            endpoint,
 6399   5534   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6400   5535   
                .url("https://reports-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com")
 6401         -
                .property(
 6402         -
                    "authSchemes",
 6403         -
                    vec![
 6404         -
                        {
 6405         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6406         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 6407         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6408         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 6409         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6410         -
                            out
 6411         -
                        }
 6412         -
                        .into(),
 6413         -
                        {
 6414         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6415         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 6416         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6417         -
                            out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 6418         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6419         -
                            out
 6420         -
                        }
 6421         -
                        .into()
 6422         -
                    ]
        5536  +
                .auth_scheme(
        5537  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        5538  +
                        .put("disableDoubleEncoding", true)
        5539  +
                        .put("signingName", "s3-outposts".to_string())
        5540  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        5541  +
                )
        5542  +
                .auth_scheme(
        5543  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5544  +
                        .put("disableDoubleEncoding", true)
        5545  +
                        .put("signingName", "s3-outposts".to_string())
        5546  +
                        .put("signingRegion", "us-east-1".to_string())
 6423   5547   
                )
 6424   5548   
                .build()
 6425   5549   
        );
 6426   5550   
    }
 6427   5551   
 6428   5552   
    /// S3 outposts does not support dualstack
 6429   5553   
    #[test]
 6430   5554   
    fn test_223() {
 6431   5555   
        let params = crate::config::endpoint::Params::builder()
 6432   5556   
            .region("us-east-1".to_string())
@@ -6486,5610 +6752,5840 @@
 6506   5630   
            .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
 6507   5631   
            .build()
 6508   5632   
            .expect("invalid params");
 6509   5633   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6510   5634   
        let endpoint = resolver.resolve_endpoint(&params);
 6511   5635   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com");
 6512   5636   
        assert_eq!(
 6513   5637   
            endpoint,
 6514   5638   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6515   5639   
                .url("https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com")
 6516         -
                .property(
 6517         -
                    "authSchemes",
 6518         -
                    vec![{
 6519         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6520         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6521         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 6522         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 6523         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6524         -
                        out
 6525         -
                    }
 6526         -
                    .into()]
        5640  +
                .auth_scheme(
        5641  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5642  +
                        .put("disableDoubleEncoding", true)
        5643  +
                        .put("signingName", "s3-object-lambda".to_string())
        5644  +
                        .put("signingRegion", "us-east-1".to_string())
 6527   5645   
                )
 6528   5646   
                .build()
 6529   5647   
        );
 6530   5648   
    }
 6531   5649   
 6532   5650   
    /// object lambda @us-west-2
 6533   5651   
    #[test]
 6534   5652   
    fn test_228() {
 6535   5653   
        let params = crate::config::endpoint::Params::builder()
 6536   5654   
            .region("us-west-2".to_string())
 6537   5655   
            .use_fips(false)
 6538   5656   
            .use_dual_stack(false)
 6539   5657   
            .accelerate(false)
 6540   5658   
            .use_arn_region(false)
 6541   5659   
            .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner".to_string())
 6542   5660   
            .build()
 6543   5661   
            .expect("invalid params");
 6544   5662   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6545   5663   
        let endpoint = resolver.resolve_endpoint(&params);
 6546   5664   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-west-2.amazonaws.com");
 6547   5665   
        assert_eq!(
 6548   5666   
            endpoint,
 6549   5667   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6550   5668   
                .url("https://mybanner-123456789012.s3-object-lambda.us-west-2.amazonaws.com")
 6551         -
                .property(
 6552         -
                    "authSchemes",
 6553         -
                    vec![{
 6554         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6555         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6556         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 6557         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 6558         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6559         -
                        out
 6560         -
                    }
 6561         -
                    .into()]
        5669  +
                .auth_scheme(
        5670  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5671  +
                        .put("disableDoubleEncoding", true)
        5672  +
                        .put("signingName", "s3-object-lambda".to_string())
        5673  +
                        .put("signingRegion", "us-west-2".to_string())
 6562   5674   
                )
 6563   5675   
                .build()
 6564   5676   
        );
 6565   5677   
    }
 6566   5678   
 6567   5679   
    /// object lambda, colon resource deliminator @us-west-2
 6568   5680   
    #[test]
 6569   5681   
    fn test_229() {
 6570   5682   
        let params = crate::config::endpoint::Params::builder()
 6571   5683   
            .region("us-west-2".to_string())
 6572   5684   
            .use_fips(false)
 6573   5685   
            .use_dual_stack(false)
 6574   5686   
            .accelerate(false)
 6575   5687   
            .use_arn_region(false)
 6576   5688   
            .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:mybanner".to_string())
 6577   5689   
            .build()
 6578   5690   
            .expect("invalid params");
 6579   5691   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6580   5692   
        let endpoint = resolver.resolve_endpoint(&params);
 6581   5693   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-west-2.amazonaws.com");
 6582   5694   
        assert_eq!(
 6583   5695   
            endpoint,
 6584   5696   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6585   5697   
                .url("https://mybanner-123456789012.s3-object-lambda.us-west-2.amazonaws.com")
 6586         -
                .property(
 6587         -
                    "authSchemes",
 6588         -
                    vec![{
 6589         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6590         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6591         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 6592         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 6593         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6594         -
                        out
 6595         -
                    }
 6596         -
                    .into()]
        5698  +
                .auth_scheme(
        5699  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5700  +
                        .put("disableDoubleEncoding", true)
        5701  +
                        .put("signingName", "s3-object-lambda".to_string())
        5702  +
                        .put("signingRegion", "us-west-2".to_string())
 6597   5703   
                )
 6598   5704   
                .build()
 6599   5705   
        );
 6600   5706   
    }
 6601   5707   
 6602   5708   
    /// object lambda @us-east-1, client region us-west-2, useArnRegion=true
 6603   5709   
    #[test]
 6604   5710   
    fn test_230() {
 6605   5711   
        let params = crate::config::endpoint::Params::builder()
 6606   5712   
            .region("us-west-2".to_string())
 6607   5713   
            .use_fips(false)
 6608   5714   
            .use_dual_stack(false)
 6609   5715   
            .accelerate(false)
 6610   5716   
            .use_arn_region(true)
 6611   5717   
            .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
 6612   5718   
            .build()
 6613   5719   
            .expect("invalid params");
 6614   5720   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6615   5721   
        let endpoint = resolver.resolve_endpoint(&params);
 6616   5722   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com");
 6617   5723   
        assert_eq!(
 6618   5724   
            endpoint,
 6619   5725   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6620   5726   
                .url("https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com")
 6621         -
                .property(
 6622         -
                    "authSchemes",
 6623         -
                    vec![{
 6624         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6625         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6626         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 6627         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 6628         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6629         -
                        out
 6630         -
                    }
 6631         -
                    .into()]
        5727  +
                .auth_scheme(
        5728  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5729  +
                        .put("disableDoubleEncoding", true)
        5730  +
                        .put("signingName", "s3-object-lambda".to_string())
        5731  +
                        .put("signingRegion", "us-east-1".to_string())
 6632   5732   
                )
 6633   5733   
                .build()
 6634   5734   
        );
 6635   5735   
    }
 6636   5736   
 6637   5737   
    /// object lambda @us-east-1, client region s3-external-1, useArnRegion=true
 6638   5738   
    #[test]
 6639   5739   
    fn test_231() {
 6640   5740   
        let params = crate::config::endpoint::Params::builder()
 6641   5741   
            .region("s3-external-1".to_string())
 6642   5742   
            .use_fips(false)
 6643   5743   
            .use_dual_stack(false)
 6644   5744   
            .accelerate(false)
 6645   5745   
            .use_arn_region(true)
 6646   5746   
            .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
 6647   5747   
            .build()
 6648   5748   
            .expect("invalid params");
 6649   5749   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6650   5750   
        let endpoint = resolver.resolve_endpoint(&params);
 6651   5751   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com");
 6652   5752   
        assert_eq!(
 6653   5753   
            endpoint,
 6654   5754   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6655   5755   
                .url("https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com")
 6656         -
                .property(
 6657         -
                    "authSchemes",
 6658         -
                    vec![{
 6659         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6660         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6661         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 6662         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 6663         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6664         -
                        out
 6665         -
                    }
 6666         -
                    .into()]
        5756  +
                .auth_scheme(
        5757  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5758  +
                        .put("disableDoubleEncoding", true)
        5759  +
                        .put("signingName", "s3-object-lambda".to_string())
        5760  +
                        .put("signingRegion", "us-east-1".to_string())
 6667   5761   
                )
 6668   5762   
                .build()
 6669   5763   
        );
 6670   5764   
    }
 6671   5765   
 6672   5766   
    /// object lambda @us-east-1, client region s3-external-1, useArnRegion=false
 6673   5767   
    #[test]
 6674   5768   
    fn test_232() {
 6675   5769   
        let params = crate::config::endpoint::Params::builder()
 6676   5770   
            .region("s3-external-1".to_string())
 6677   5771   
            .use_fips(false)
 6678   5772   
            .use_dual_stack(false)
 6679   5773   
            .accelerate(false)
 6680   5774   
            .use_arn_region(false)
 6681   5775   
            .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
 6682   5776   
            .build()
 6683   5777   
            .expect("invalid params");
 6684   5778   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6685   5779   
        let endpoint = resolver.resolve_endpoint(&params);
 6686   5780   
        let error = endpoint.expect_err("expected error: Invalid configuration: region from ARN `us-east-1` does not match client region `s3-external-1` and UseArnRegion is `false` [object lambda @us-east-1, client region s3-external-1, useArnRegion=false]");
 6687   5781   
        assert_eq!(
 6688   5782   
            format!("{}", error),
 6689   5783   
            "Invalid configuration: region from ARN `us-east-1` does not match client region `s3-external-1` and UseArnRegion is `false`"
 6690   5784   
        )
 6691   5785   
    }
 6692   5786   
 6693   5787   
    /// object lambda @us-east-1, client region aws-global, useArnRegion=true
 6694   5788   
    #[test]
 6695   5789   
    fn test_233() {
 6696   5790   
        let params = crate::config::endpoint::Params::builder()
 6697   5791   
            .region("aws-global".to_string())
 6698   5792   
            .use_fips(false)
 6699   5793   
            .use_dual_stack(false)
 6700   5794   
            .accelerate(false)
 6701   5795   
            .use_arn_region(true)
 6702   5796   
            .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
 6703   5797   
            .build()
 6704   5798   
            .expect("invalid params");
 6705   5799   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6706   5800   
        let endpoint = resolver.resolve_endpoint(&params);
 6707   5801   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com");
 6708   5802   
        assert_eq!(
 6709   5803   
            endpoint,
 6710   5804   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6711   5805   
                .url("https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com")
 6712         -
                .property(
 6713         -
                    "authSchemes",
 6714         -
                    vec![{
 6715         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6716         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6717         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 6718         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 6719         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6720         -
                        out
 6721         -
                    }
 6722         -
                    .into()]
        5806  +
                .auth_scheme(
        5807  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5808  +
                        .put("disableDoubleEncoding", true)
        5809  +
                        .put("signingName", "s3-object-lambda".to_string())
        5810  +
                        .put("signingRegion", "us-east-1".to_string())
 6723   5811   
                )
 6724   5812   
                .build()
 6725   5813   
        );
 6726   5814   
    }
 6727   5815   
 6728   5816   
    /// object lambda @us-east-1, client region aws-global, useArnRegion=false
 6729   5817   
    #[test]
 6730   5818   
    fn test_234() {
 6731   5819   
        let params = crate::config::endpoint::Params::builder()
 6732   5820   
            .region("aws-global".to_string())
@@ -6774,5862 +6879,5955 @@
 6794   5882   
            .bucket("arn:aws-us-gov:s3-object-lambda:us-gov-east-1:123456789012:accesspoint/mybanner".to_string())
 6795   5883   
            .build()
 6796   5884   
            .expect("invalid params");
 6797   5885   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6798   5886   
        let endpoint = resolver.resolve_endpoint(&params);
 6799   5887   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-gov-east-1.amazonaws.com");
 6800   5888   
        assert_eq!(
 6801   5889   
            endpoint,
 6802   5890   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6803   5891   
                .url("https://mybanner-123456789012.s3-object-lambda.us-gov-east-1.amazonaws.com")
 6804         -
                .property(
 6805         -
                    "authSchemes",
 6806         -
                    vec![{
 6807         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6808         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6809         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 6810         -
                        out.insert("signingRegion".to_string(), "us-gov-east-1".to_string().into());
 6811         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6812         -
                        out
 6813         -
                    }
 6814         -
                    .into()]
        5892  +
                .auth_scheme(
        5893  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5894  +
                        .put("disableDoubleEncoding", true)
        5895  +
                        .put("signingName", "s3-object-lambda".to_string())
        5896  +
                        .put("signingRegion", "us-gov-east-1".to_string())
 6815   5897   
                )
 6816   5898   
                .build()
 6817   5899   
        );
 6818   5900   
    }
 6819   5901   
 6820   5902   
    /// object lambda @us-gov-east-1, with fips
 6821   5903   
    #[test]
 6822   5904   
    fn test_238() {
 6823   5905   
        let params = crate::config::endpoint::Params::builder()
 6824   5906   
            .region("us-gov-east-1".to_string())
 6825   5907   
            .use_fips(true)
 6826   5908   
            .use_dual_stack(false)
 6827   5909   
            .accelerate(false)
 6828   5910   
            .use_arn_region(false)
 6829   5911   
            .bucket("arn:aws-us-gov:s3-object-lambda:us-gov-east-1:123456789012:accesspoint/mybanner".to_string())
 6830   5912   
            .build()
 6831   5913   
            .expect("invalid params");
 6832   5914   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6833   5915   
        let endpoint = resolver.resolve_endpoint(&params);
 6834   5916   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda-fips.us-gov-east-1.amazonaws.com");
 6835   5917   
        assert_eq!(
 6836   5918   
            endpoint,
 6837   5919   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6838   5920   
                .url("https://mybanner-123456789012.s3-object-lambda-fips.us-gov-east-1.amazonaws.com")
 6839         -
                .property(
 6840         -
                    "authSchemes",
 6841         -
                    vec![{
 6842         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6843         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6844         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 6845         -
                        out.insert("signingRegion".to_string(), "us-gov-east-1".to_string().into());
 6846         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6847         -
                        out
 6848         -
                    }
 6849         -
                    .into()]
        5921  +
                .auth_scheme(
        5922  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5923  +
                        .put("disableDoubleEncoding", true)
        5924  +
                        .put("signingName", "s3-object-lambda".to_string())
        5925  +
                        .put("signingRegion", "us-gov-east-1".to_string())
 6850   5926   
                )
 6851   5927   
                .build()
 6852   5928   
        );
 6853   5929   
    }
 6854   5930   
 6855   5931   
    /// object lambda @cn-north-1, with fips
 6856   5932   
    #[test]
 6857   5933   
    fn test_239() {
 6858   5934   
        let params = crate::config::endpoint::Params::builder()
 6859   5935   
            .region("cn-north-1".to_string())
@@ -7065,6141 +7294,6340 @@
 7085   6161   
            .endpoint("https://my-endpoint.com".to_string())
 7086   6162   
            .build()
 7087   6163   
            .expect("invalid params");
 7088   6164   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7089   6165   
        let endpoint = resolver.resolve_endpoint(&params);
 7090   6166   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.my-endpoint.com");
 7091   6167   
        assert_eq!(
 7092   6168   
            endpoint,
 7093   6169   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7094   6170   
                .url("https://mybanner-123456789012.my-endpoint.com")
 7095         -
                .property(
 7096         -
                    "authSchemes",
 7097         -
                    vec![{
 7098         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7099         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7100         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 7101         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 7102         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7103         -
                        out
 7104         -
                    }
 7105         -
                    .into()]
        6171  +
                .auth_scheme(
        6172  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6173  +
                        .put("disableDoubleEncoding", true)
        6174  +
                        .put("signingName", "s3-object-lambda".to_string())
        6175  +
                        .put("signingRegion", "us-west-2".to_string())
 7106   6176   
                )
 7107   6177   
                .build()
 7108   6178   
        );
 7109   6179   
    }
 7110   6180   
 7111   6181   
    /// object lambda arn with region mismatch and UseArnRegion=false
 7112   6182   
    #[test]
 7113   6183   
    fn test_251() {
 7114   6184   
        let params = crate::config::endpoint::Params::builder()
 7115   6185   
            .accelerate(false)
 7116   6186   
            .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
 7117   6187   
            .force_path_style(false)
 7118   6188   
            .use_arn_region(false)
 7119   6189   
            .region("us-west-2".to_string())
 7120   6190   
            .use_dual_stack(false)
 7121   6191   
            .use_fips(false)
 7122   6192   
            .build()
 7123   6193   
            .expect("invalid params");
 7124   6194   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7125   6195   
        let endpoint = resolver.resolve_endpoint(&params);
 7126   6196   
        let error = endpoint.expect_err("expected error: Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false` [object lambda arn with region mismatch and UseArnRegion=false]");
 7127   6197   
        assert_eq!(
 7128   6198   
            format!("{}", error),
 7129   6199   
            "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"
 7130   6200   
        )
 7131   6201   
    }
 7132   6202   
 7133   6203   
    /// WriteGetObjectResponse @ us-west-2
 7134   6204   
    #[test]
 7135   6205   
    fn test_252() {
 7136   6206   
        let params = crate::config::endpoint::Params::builder()
 7137   6207   
            .accelerate(false)
 7138   6208   
            .use_object_lambda_endpoint(true)
 7139   6209   
            .region("us-west-2".to_string())
 7140   6210   
            .use_dual_stack(false)
 7141   6211   
            .use_fips(false)
 7142   6212   
            .build()
 7143   6213   
            .expect("invalid params");
 7144   6214   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7145   6215   
        let endpoint = resolver.resolve_endpoint(&params);
 7146   6216   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-object-lambda.us-west-2.amazonaws.com");
 7147   6217   
        assert_eq!(
 7148   6218   
            endpoint,
 7149   6219   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7150   6220   
                .url("https://s3-object-lambda.us-west-2.amazonaws.com")
 7151         -
                .property(
 7152         -
                    "authSchemes",
 7153         -
                    vec![{
 7154         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7155         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7156         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 7157         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 7158         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7159         -
                        out
 7160         -
                    }
 7161         -
                    .into()]
        6221  +
                .auth_scheme(
        6222  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6223  +
                        .put("disableDoubleEncoding", true)
        6224  +
                        .put("signingName", "s3-object-lambda".to_string())
        6225  +
                        .put("signingRegion", "us-west-2".to_string())
 7162   6226   
                )
 7163   6227   
                .build()
 7164   6228   
        );
 7165   6229   
    }
 7166   6230   
 7167   6231   
    /// WriteGetObjectResponse with custom endpoint
 7168   6232   
    #[test]
 7169   6233   
    fn test_253() {
 7170   6234   
        let params = crate::config::endpoint::Params::builder()
 7171   6235   
            .accelerate(false)
 7172   6236   
            .use_object_lambda_endpoint(true)
 7173   6237   
            .endpoint("https://my-endpoint.com".to_string())
 7174   6238   
            .region("us-west-2".to_string())
 7175   6239   
            .use_dual_stack(false)
 7176   6240   
            .use_fips(false)
 7177   6241   
            .build()
 7178   6242   
            .expect("invalid params");
 7179   6243   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7180   6244   
        let endpoint = resolver.resolve_endpoint(&params);
 7181   6245   
        let endpoint = endpoint.expect("Expected valid endpoint: https://my-endpoint.com");
 7182   6246   
        assert_eq!(
 7183   6247   
            endpoint,
 7184   6248   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7185   6249   
                .url("https://my-endpoint.com")
 7186         -
                .property(
 7187         -
                    "authSchemes",
 7188         -
                    vec![{
 7189         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7190         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7191         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 7192         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 7193         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7194         -
                        out
 7195         -
                    }
 7196         -
                    .into()]
        6250  +
                .auth_scheme(
        6251  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6252  +
                        .put("disableDoubleEncoding", true)
        6253  +
                        .put("signingName", "s3-object-lambda".to_string())
        6254  +
                        .put("signingRegion", "us-west-2".to_string())
 7197   6255   
                )
 7198   6256   
                .build()
 7199   6257   
        );
 7200   6258   
    }
 7201   6259   
 7202   6260   
    /// WriteGetObjectResponse @ us-east-1
 7203   6261   
    #[test]
 7204   6262   
    fn test_254() {
 7205   6263   
        let params = crate::config::endpoint::Params::builder()
 7206   6264   
            .accelerate(false)
 7207   6265   
            .use_object_lambda_endpoint(true)
 7208   6266   
            .region("us-east-1".to_string())
 7209   6267   
            .use_dual_stack(false)
 7210   6268   
            .use_fips(false)
 7211   6269   
            .build()
 7212   6270   
            .expect("invalid params");
 7213   6271   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7214   6272   
        let endpoint = resolver.resolve_endpoint(&params);
 7215   6273   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-object-lambda.us-east-1.amazonaws.com");
 7216   6274   
        assert_eq!(
 7217   6275   
            endpoint,
 7218   6276   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7219   6277   
                .url("https://s3-object-lambda.us-east-1.amazonaws.com")
 7220         -
                .property(
 7221         -
                    "authSchemes",
 7222         -
                    vec![{
 7223         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7224         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7225         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 7226         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 7227         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7228         -
                        out
 7229         -
                    }
 7230         -
                    .into()]
        6278  +
                .auth_scheme(
        6279  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6280  +
                        .put("disableDoubleEncoding", true)
        6281  +
                        .put("signingName", "s3-object-lambda".to_string())
        6282  +
                        .put("signingRegion", "us-east-1".to_string())
 7231   6283   
                )
 7232   6284   
                .build()
 7233   6285   
        );
 7234   6286   
    }
 7235   6287   
 7236   6288   
    /// WriteGetObjectResponse with fips
 7237   6289   
    #[test]
 7238   6290   
    fn test_255() {
 7239   6291   
        let params = crate::config::endpoint::Params::builder()
 7240   6292   
            .accelerate(false)
 7241   6293   
            .use_object_lambda_endpoint(true)
 7242   6294   
            .region("us-east-1".to_string())
 7243   6295   
            .use_dual_stack(false)
 7244   6296   
            .use_fips(true)
 7245   6297   
            .build()
 7246   6298   
            .expect("invalid params");
 7247   6299   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7248   6300   
        let endpoint = resolver.resolve_endpoint(&params);
 7249   6301   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-object-lambda-fips.us-east-1.amazonaws.com");
 7250   6302   
        assert_eq!(
 7251   6303   
            endpoint,
 7252   6304   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7253   6305   
                .url("https://s3-object-lambda-fips.us-east-1.amazonaws.com")
 7254         -
                .property(
 7255         -
                    "authSchemes",
 7256         -
                    vec![{
 7257         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7258         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7259         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 7260         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 7261         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7262         -
                        out
 7263         -
                    }
 7264         -
                    .into()]
        6306  +
                .auth_scheme(
        6307  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6308  +
                        .put("disableDoubleEncoding", true)
        6309  +
                        .put("signingName", "s3-object-lambda".to_string())
        6310  +
                        .put("signingRegion", "us-east-1".to_string())
 7265   6311   
                )
 7266   6312   
                .build()
 7267   6313   
        );
 7268   6314   
    }
 7269   6315   
 7270   6316   
    /// WriteGetObjectResponse with dualstack
 7271   6317   
    #[test]
 7272   6318   
    fn test_256() {
 7273   6319   
        let params = crate::config::endpoint::Params::builder()
 7274   6320   
            .accelerate(false)
@@ -7327,6373 +7648,6632 @@
 7347   6393   
            .use_fips(false)
 7348   6394   
            .build()
 7349   6395   
            .expect("invalid params");
 7350   6396   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7351   6397   
        let endpoint = resolver.resolve_endpoint(&params);
 7352   6398   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-object-lambda.us-east.special.amazonaws.com");
 7353   6399   
        assert_eq!(
 7354   6400   
            endpoint,
 7355   6401   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7356   6402   
                .url("https://s3-object-lambda.us-east.special.amazonaws.com")
 7357         -
                .property(
 7358         -
                    "authSchemes",
 7359         -
                    vec![{
 7360         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7361         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7362         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 7363         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7364         -
                        out.insert("signingRegion".to_string(), "us-east.special".to_string().into());
 7365         -
                        out
 7366         -
                    }
 7367         -
                    .into()]
        6403  +
                .auth_scheme(
        6404  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6405  +
                        .put("disableDoubleEncoding", true)
        6406  +
                        .put("signingName", "s3-object-lambda".to_string())
        6407  +
                        .put("signingRegion", "us-east.special".to_string())
 7368   6408   
                )
 7369   6409   
                .build()
 7370   6410   
        );
 7371   6411   
    }
 7372   6412   
 7373   6413   
    /// S3 Outposts bucketAlias Real Outpost Prod us-west-1
 7374   6414   
    #[test]
 7375   6415   
    fn test_261() {
 7376   6416   
        let params = crate::config::endpoint::Params::builder()
 7377   6417   
            .region("us-west-1".to_string())
 7378   6418   
            .bucket("test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3".to_string())
 7379   6419   
            .use_fips(false)
 7380   6420   
            .use_dual_stack(false)
 7381   6421   
            .accelerate(false)
 7382   6422   
            .build()
 7383   6423   
            .expect("invalid params");
 7384   6424   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7385   6425   
        let endpoint = resolver.resolve_endpoint(&params);
 7386   6426   
        let endpoint = endpoint.expect("Expected valid endpoint: https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.op-0b1d075431d83bebd.s3-outposts.us-west-1.amazonaws.com");
 7387   6427   
        assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.op-0b1d075431d83bebd.s3-outposts.us-west-1.amazonaws.com")
 7388         -
    .property("authSchemes", vec![ {
 7389         -
        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7390         -
        out.insert("name".to_string(), "sigv4a".to_string().into());
 7391         -
        out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7392         -
        out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 7393         -
        out.insert("disableDoubleEncoding".to_string(), true.into());
 7394         -
        out
 7395         -
    }.into()
 7396         -
    , {
 7397         -
        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7398         -
        out.insert("name".to_string(), "sigv4".to_string().into());
 7399         -
        out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7400         -
        out.insert("signingRegion".to_string(), "us-west-1".to_string().into());
 7401         -
        out.insert("disableDoubleEncoding".to_string(), true.into());
 7402         -
        out
 7403         -
    }.into()])
        6428  +
    .auth_scheme(::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        6429  +
    .put("disableDoubleEncoding", true)
        6430  +
    .put("signingName", "s3-outposts".to_string())
        6431  +
    .put("signingRegionSet", vec!["*".to_string().into()])
        6432  +
    )
        6433  +
    .auth_scheme(::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6434  +
    .put("disableDoubleEncoding", true)
        6435  +
    .put("signingName", "s3-outposts".to_string())
        6436  +
    .put("signingRegion", "us-west-1".to_string())
        6437  +
    )
 7404   6438   
    .build());
 7405   6439   
    }
 7406   6440   
 7407   6441   
    /// S3 Outposts bucketAlias Real Outpost Prod ap-east-1
 7408   6442   
    #[test]
 7409   6443   
    fn test_262() {
 7410   6444   
        let params = crate::config::endpoint::Params::builder()
 7411   6445   
            .region("ap-east-1".to_string())
 7412   6446   
            .bucket("test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3".to_string())
 7413   6447   
            .use_fips(false)
 7414   6448   
            .use_dual_stack(false)
 7415   6449   
            .accelerate(false)
 7416   6450   
            .build()
 7417   6451   
            .expect("invalid params");
 7418   6452   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7419   6453   
        let endpoint = resolver.resolve_endpoint(&params);
 7420   6454   
        let endpoint = endpoint.expect("Expected valid endpoint: https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.op-0b1d075431d83bebd.s3-outposts.ap-east-1.amazonaws.com");
 7421   6455   
        assert_eq!(endpoint, ::aws_smithy_types::endpoint::Endpoint::builder().url("https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.op-0b1d075431d83bebd.s3-outposts.ap-east-1.amazonaws.com")
 7422         -
    .property("authSchemes", vec![ {
 7423         -
        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7424         -
        out.insert("name".to_string(), "sigv4a".to_string().into());
 7425         -
        out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7426         -
        out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 7427         -
        out.insert("disableDoubleEncoding".to_string(), true.into());
 7428         -
        out
 7429         -
    }.into()
 7430         -
    , {
 7431         -
        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7432         -
        out.insert("name".to_string(), "sigv4".to_string().into());
 7433         -
        out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7434         -
        out.insert("signingRegion".to_string(), "ap-east-1".to_string().into());
 7435         -
        out.insert("disableDoubleEncoding".to_string(), true.into());
 7436         -
        out
 7437         -
    }.into()])
        6456  +
    .auth_scheme(::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        6457  +
    .put("disableDoubleEncoding", true)
        6458  +
    .put("signingName", "s3-outposts".to_string())
        6459  +
    .put("signingRegionSet", vec!["*".to_string().into()])
        6460  +
    )
        6461  +
    .auth_scheme(::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6462  +
    .put("disableDoubleEncoding", true)
        6463  +
    .put("signingName", "s3-outposts".to_string())
        6464  +
    .put("signingRegion", "ap-east-1".to_string())
        6465  +
    )
 7438   6466   
    .build());
 7439   6467   
    }
 7440   6468   
 7441   6469   
    /// S3 Outposts bucketAlias Ec2 Outpost Prod us-east-1
 7442   6470   
    #[test]
 7443   6471   
    fn test_263() {
 7444   6472   
        let params = crate::config::endpoint::Params::builder()
 7445   6473   
            .region("us-east-1".to_string())
 7446   6474   
            .bucket("test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3".to_string())
 7447   6475   
            .use_fips(false)
 7448   6476   
            .use_dual_stack(false)
 7449   6477   
            .accelerate(false)
 7450   6478   
            .build()
 7451   6479   
            .expect("invalid params");
 7452   6480   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7453   6481   
        let endpoint = resolver.resolve_endpoint(&params);
 7454   6482   
        let endpoint = endpoint.expect("Expected valid endpoint: https://test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.ec2.s3-outposts.us-east-1.amazonaws.com");
 7455   6483   
        assert_eq!(
 7456   6484   
            endpoint,
 7457   6485   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7458   6486   
                .url("https://test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.ec2.s3-outposts.us-east-1.amazonaws.com")
 7459         -
                .property(
 7460         -
                    "authSchemes",
 7461         -
                    vec![
 7462         -
                        {
 7463         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7464         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 7465         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7466         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 7467         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 7468         -
                            out
 7469         -
                        }
 7470         -
                        .into(),
 7471         -
                        {
 7472         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7473         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 7474         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7475         -
                            out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 7476         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 7477         -
                            out
 7478         -
                        }
 7479         -
                        .into()
 7480         -
                    ]
        6487  +
                .auth_scheme(
        6488  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        6489  +
                        .put("disableDoubleEncoding", true)
        6490  +
                        .put("signingName", "s3-outposts".to_string())
        6491  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        6492  +
                )
        6493  +
                .auth_scheme(
        6494  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6495  +
                        .put("disableDoubleEncoding", true)
        6496  +
                        .put("signingName", "s3-outposts".to_string())
        6497  +
                        .put("signingRegion", "us-east-1".to_string())
 7481   6498   
                )
 7482   6499   
                .build()
 7483   6500   
        );
 7484   6501   
    }
 7485   6502   
 7486   6503   
    /// S3 Outposts bucketAlias Ec2 Outpost Prod me-south-1
 7487   6504   
    #[test]
 7488   6505   
    fn test_264() {
 7489   6506   
        let params = crate::config::endpoint::Params::builder()
 7490   6507   
            .region("me-south-1".to_string())
 7491   6508   
            .bucket("test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3".to_string())
 7492   6509   
            .use_fips(false)
 7493   6510   
            .use_dual_stack(false)
 7494   6511   
            .accelerate(false)
 7495   6512   
            .build()
 7496   6513   
            .expect("invalid params");
 7497   6514   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7498   6515   
        let endpoint = resolver.resolve_endpoint(&params);
 7499   6516   
        let endpoint = endpoint.expect("Expected valid endpoint: https://test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.ec2.s3-outposts.me-south-1.amazonaws.com");
 7500   6517   
        assert_eq!(
 7501   6518   
            endpoint,
 7502   6519   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7503   6520   
                .url("https://test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.ec2.s3-outposts.me-south-1.amazonaws.com")
 7504         -
                .property(
 7505         -
                    "authSchemes",
 7506         -
                    vec![
 7507         -
                        {
 7508         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7509         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 7510         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7511         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 7512         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 7513         -
                            out
 7514         -
                        }
 7515         -
                        .into(),
 7516         -
                        {
 7517         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7518         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 7519         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7520         -
                            out.insert("signingRegion".to_string(), "me-south-1".to_string().into());
 7521         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 7522         -
                            out
 7523         -
                        }
 7524         -
                        .into()
 7525         -
                    ]
        6521  +
                .auth_scheme(
        6522  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        6523  +
                        .put("disableDoubleEncoding", true)
        6524  +
                        .put("signingName", "s3-outposts".to_string())
        6525  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        6526  +
                )
        6527  +
                .auth_scheme(
        6528  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6529  +
                        .put("disableDoubleEncoding", true)
        6530  +
                        .put("signingName", "s3-outposts".to_string())
        6531  +
                        .put("signingRegion", "me-south-1".to_string())
 7526   6532   
                )
 7527   6533   
                .build()
 7528   6534   
        );
 7529   6535   
    }
 7530   6536   
 7531   6537   
    /// S3 Outposts bucketAlias Real Outpost Beta
 7532   6538   
    #[test]
 7533   6539   
    fn test_265() {
 7534   6540   
        let params = crate::config::endpoint::Params::builder()
 7535   6541   
            .region("us-east-1".to_string())
 7536   6542   
            .bucket("test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3".to_string())
 7537   6543   
            .endpoint("https://example.amazonaws.com".to_string())
 7538   6544   
            .use_fips(false)
 7539   6545   
            .use_dual_stack(false)
 7540   6546   
            .accelerate(false)
 7541   6547   
            .build()
 7542   6548   
            .expect("invalid params");
 7543   6549   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7544   6550   
        let endpoint = resolver.resolve_endpoint(&params);
 7545   6551   
        let endpoint = endpoint.expect("Expected valid endpoint: https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3.op-0b1d075431d83bebd.example.amazonaws.com");
 7546   6552   
        assert_eq!(
 7547   6553   
            endpoint,
 7548   6554   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7549   6555   
                .url("https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3.op-0b1d075431d83bebd.example.amazonaws.com")
 7550         -
                .property(
 7551         -
                    "authSchemes",
 7552         -
                    vec![
 7553         -
                        {
 7554         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7555         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 7556         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7557         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 7558         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 7559         -
                            out
 7560         -
                        }
 7561         -
                        .into(),
 7562         -
                        {
 7563         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7564         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 7565         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7566         -
                            out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 7567         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 7568         -
                            out
 7569         -
                        }
 7570         -
                        .into()
 7571         -
                    ]
        6556  +
                .auth_scheme(
        6557  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        6558  +
                        .put("disableDoubleEncoding", true)
        6559  +
                        .put("signingName", "s3-outposts".to_string())
        6560  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        6561  +
                )
        6562  +
                .auth_scheme(
        6563  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6564  +
                        .put("disableDoubleEncoding", true)
        6565  +
                        .put("signingName", "s3-outposts".to_string())
        6566  +
                        .put("signingRegion", "us-east-1".to_string())
 7572   6567   
                )
 7573   6568   
                .build()
 7574   6569   
        );
 7575   6570   
    }
 7576   6571   
 7577   6572   
    /// S3 Outposts bucketAlias Ec2 Outpost Beta
 7578   6573   
    #[test]
 7579   6574   
    fn test_266() {
 7580   6575   
        let params = crate::config::endpoint::Params::builder()
 7581   6576   
            .region("us-east-1".to_string())
 7582   6577   
            .bucket("161743052723-e00000136899934034jeahy1t8gpzpbwjj8kb7beta0--op-s3".to_string())
 7583   6578   
            .endpoint("https://example.amazonaws.com".to_string())
 7584   6579   
            .use_fips(false)
 7585   6580   
            .use_dual_stack(false)
 7586   6581   
            .accelerate(false)
 7587   6582   
            .build()
 7588   6583   
            .expect("invalid params");
 7589   6584   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7590   6585   
        let endpoint = resolver.resolve_endpoint(&params);
 7591   6586   
        let endpoint = endpoint
 7592   6587   
            .expect("Expected valid endpoint: https://161743052723-e00000136899934034jeahy1t8gpzpbwjj8kb7beta0--op-s3.ec2.example.amazonaws.com");
 7593   6588   
        assert_eq!(
 7594   6589   
            endpoint,
 7595   6590   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7596   6591   
                .url("https://161743052723-e00000136899934034jeahy1t8gpzpbwjj8kb7beta0--op-s3.ec2.example.amazonaws.com")
 7597         -
                .property(
 7598         -
                    "authSchemes",
 7599         -
                    vec![
 7600         -
                        {
 7601         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7602         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 7603         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7604         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 7605         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 7606         -
                            out
 7607         -
                        }
 7608         -
                        .into(),
 7609         -
                        {
 7610         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7611         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 7612         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7613         -
                            out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 7614         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 7615         -
                            out
 7616         -
                        }
 7617         -
                        .into()
 7618         -
                    ]
        6592  +
                .auth_scheme(
        6593  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        6594  +
                        .put("disableDoubleEncoding", true)
        6595  +
                        .put("signingName", "s3-outposts".to_string())
        6596  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        6597  +
                )
        6598  +
                .auth_scheme(
        6599  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6600  +
                        .put("disableDoubleEncoding", true)
        6601  +
                        .put("signingName", "s3-outposts".to_string())
        6602  +
                        .put("signingRegion", "us-east-1".to_string())
 7619   6603   
                )
 7620   6604   
                .build()
 7621   6605   
        );
 7622   6606   
    }
 7623   6607   
 7624   6608   
    /// S3 Outposts bucketAlias - No endpoint set for beta
 7625   6609   
    #[test]
 7626   6610   
    fn test_267() {
 7627   6611   
        let params = crate::config::endpoint::Params::builder()
 7628   6612   
            .region("us-east-1".to_string())
@@ -7693,6677 +9998,8622 @@
 7713   6697   
            .accelerate(false)
 7714   6698   
            .build()
 7715   6699   
            .expect("invalid params");
 7716   6700   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7717   6701   
        let endpoint = resolver.resolve_endpoint(&params);
 7718   6702   
        let endpoint = endpoint.expect("Expected valid endpoint: http://10.0.1.12:433/bucketName");
 7719   6703   
        assert_eq!(
 7720   6704   
            endpoint,
 7721   6705   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7722   6706   
                .url("http://10.0.1.12:433/bucketName")
 7723         -
                .property(
 7724         -
                    "authSchemes",
 7725         -
                    vec![{
 7726         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7727         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7728         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 7729         -
                        out.insert("signingRegion".to_string(), "snow".to_string().into());
 7730         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7731         -
                        out
 7732         -
                    }
 7733         -
                    .into()]
        6707  +
                .auth_scheme(
        6708  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6709  +
                        .put("disableDoubleEncoding", true)
        6710  +
                        .put("signingName", "s3".to_string())
        6711  +
                        .put("signingRegion", "snow".to_string())
 7734   6712   
                )
 7735   6713   
                .build()
 7736   6714   
        );
 7737   6715   
    }
 7738   6716   
 7739   6717   
    /// S3 Snow without bucket
 7740   6718   
    #[test]
 7741   6719   
    fn test_272() {
 7742   6720   
        let params = crate::config::endpoint::Params::builder()
 7743   6721   
            .region("snow".to_string())
 7744   6722   
            .endpoint("https://10.0.1.12:433".to_string())
 7745   6723   
            .use_fips(false)
 7746   6724   
            .use_dual_stack(false)
 7747   6725   
            .accelerate(false)
 7748   6726   
            .build()
 7749   6727   
            .expect("invalid params");
 7750   6728   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7751   6729   
        let endpoint = resolver.resolve_endpoint(&params);
 7752   6730   
        let endpoint = endpoint.expect("Expected valid endpoint: https://10.0.1.12:433");
 7753   6731   
        assert_eq!(
 7754   6732   
            endpoint,
 7755   6733   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7756   6734   
                .url("https://10.0.1.12:433")
 7757         -
                .property(
 7758         -
                    "authSchemes",
 7759         -
                    vec![{
 7760         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7761         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7762         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 7763         -
                        out.insert("signingRegion".to_string(), "snow".to_string().into());
 7764         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7765         -
                        out
 7766         -
                    }
 7767         -
                    .into()]
        6735  +
                .auth_scheme(
        6736  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6737  +
                        .put("disableDoubleEncoding", true)
        6738  +
                        .put("signingName", "s3".to_string())
        6739  +
                        .put("signingRegion", "snow".to_string())
 7768   6740   
                )
 7769   6741   
                .build()
 7770   6742   
        );
 7771   6743   
    }
 7772   6744   
 7773   6745   
    /// S3 Snow no port
 7774   6746   
    #[test]
 7775   6747   
    fn test_273() {
 7776   6748   
        let params = crate::config::endpoint::Params::builder()
 7777   6749   
            .region("snow".to_string())
 7778   6750   
            .bucket("bucketName".to_string())
 7779   6751   
            .endpoint("http://10.0.1.12".to_string())
 7780   6752   
            .use_fips(false)
 7781   6753   
            .use_dual_stack(false)
 7782   6754   
            .accelerate(false)
 7783   6755   
            .build()
 7784   6756   
            .expect("invalid params");
 7785   6757   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7786   6758   
        let endpoint = resolver.resolve_endpoint(&params);
 7787   6759   
        let endpoint = endpoint.expect("Expected valid endpoint: http://10.0.1.12/bucketName");
 7788   6760   
        assert_eq!(
 7789   6761   
            endpoint,
 7790   6762   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7791   6763   
                .url("http://10.0.1.12/bucketName")
 7792         -
                .property(
 7793         -
                    "authSchemes",
 7794         -
                    vec![{
 7795         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7796         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7797         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 7798         -
                        out.insert("signingRegion".to_string(), "snow".to_string().into());
 7799         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7800         -
                        out
 7801         -
                    }
 7802         -
                    .into()]
        6764  +
                .auth_scheme(
        6765  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6766  +
                        .put("disableDoubleEncoding", true)
        6767  +
                        .put("signingName", "s3".to_string())
        6768  +
                        .put("signingRegion", "snow".to_string())
 7803   6769   
                )
 7804   6770   
                .build()
 7805   6771   
        );
 7806   6772   
    }
 7807   6773   
 7808   6774   
    /// S3 Snow dns endpoint
 7809   6775   
    #[test]
 7810   6776   
    fn test_274() {
 7811   6777   
        let params = crate::config::endpoint::Params::builder()
 7812   6778   
            .region("snow".to_string())
 7813   6779   
            .bucket("bucketName".to_string())
 7814   6780   
            .endpoint("https://amazonaws.com".to_string())
 7815   6781   
            .use_fips(false)
 7816   6782   
            .use_dual_stack(false)
 7817   6783   
            .accelerate(false)
 7818   6784   
            .build()
 7819   6785   
            .expect("invalid params");
 7820   6786   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7821   6787   
        let endpoint = resolver.resolve_endpoint(&params);
 7822   6788   
        let endpoint = endpoint.expect("Expected valid endpoint: https://amazonaws.com/bucketName");
 7823   6789   
        assert_eq!(
 7824   6790   
            endpoint,
 7825   6791   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7826   6792   
                .url("https://amazonaws.com/bucketName")
 7827         -
                .property(
 7828         -
                    "authSchemes",
 7829         -
                    vec![{
 7830         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7831         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7832         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 7833         -
                        out.insert("signingRegion".to_string(), "snow".to_string().into());
 7834         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7835         -
                        out
 7836         -
                    }
 7837         -
                    .into()]
        6793  +
                .auth_scheme(
        6794  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6795  +
                        .put("disableDoubleEncoding", true)
        6796  +
                        .put("signingName", "s3".to_string())
        6797  +
                        .put("signingRegion", "snow".to_string())
 7838   6798   
                )
 7839   6799   
                .build()
 7840   6800   
        );
 7841   6801   
    }
 7842   6802   
 7843   6803   
    /// Data Plane with short zone name
 7844   6804   
    #[test]
 7845   6805   
    fn test_275() {
 7846   6806   
        let params = crate::config::endpoint::Params::builder()
 7847   6807   
            .region("us-east-1".to_string())
 7848   6808   
            .bucket("mybucket--abcd-ab1--x-s3".to_string())
 7849   6809   
            .use_fips(false)
 7850   6810   
            .use_dual_stack(false)
 7851   6811   
            .accelerate(false)
 7852   6812   
            .use_s3_express_control_endpoint(false)
 7853   6813   
            .build()
 7854   6814   
            .expect("invalid params");
 7855   6815   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7856   6816   
        let endpoint = resolver.resolve_endpoint(&params);
 7857   6817   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--abcd-ab1--x-s3.s3express-abcd-ab1.us-east-1.amazonaws.com");
 7858   6818   
        assert_eq!(
 7859   6819   
            endpoint,
 7860   6820   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7861   6821   
                .url("https://mybucket--abcd-ab1--x-s3.s3express-abcd-ab1.us-east-1.amazonaws.com")
 7862         -
                .property(
 7863         -
                    "authSchemes",
 7864         -
                    vec![{
 7865         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7866         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 7867         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 7868         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 7869         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7870         -
                        out
 7871         -
                    }
 7872         -
                    .into()]
        6822  +
                .auth_scheme(
        6823  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        6824  +
                        .put("disableDoubleEncoding", true)
        6825  +
                        .put("signingName", "s3express".to_string())
        6826  +
                        .put("signingRegion", "us-east-1".to_string())
 7873   6827   
                )
 7874   6828   
                .property("backend", "S3Express".to_string())
 7875   6829   
                .build()
 7876   6830   
        );
 7877   6831   
    }
 7878   6832   
 7879   6833   
    /// Data Plane with short zone name china region
 7880   6834   
    #[test]
 7881   6835   
    fn test_276() {
 7882   6836   
        let params = crate::config::endpoint::Params::builder()
 7883   6837   
            .region("cn-north-1".to_string())
 7884   6838   
            .bucket("mybucket--abcd-ab1--x-s3".to_string())
 7885   6839   
            .use_fips(false)
 7886   6840   
            .use_dual_stack(false)
 7887   6841   
            .accelerate(false)
 7888   6842   
            .use_s3_express_control_endpoint(false)
 7889   6843   
            .build()
 7890   6844   
            .expect("invalid params");
 7891   6845   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7892   6846   
        let endpoint = resolver.resolve_endpoint(&params);
 7893   6847   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--abcd-ab1--x-s3.s3express-abcd-ab1.cn-north-1.amazonaws.com.cn");
 7894   6848   
        assert_eq!(
 7895   6849   
            endpoint,
 7896   6850   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7897   6851   
                .url("https://mybucket--abcd-ab1--x-s3.s3express-abcd-ab1.cn-north-1.amazonaws.com.cn")
 7898         -
                .property(
 7899         -
                    "authSchemes",
 7900         -
                    vec![{
 7901         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7902         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 7903         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 7904         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 7905         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7906         -
                        out
 7907         -
                    }
 7908         -
                    .into()]
        6852  +
                .auth_scheme(
        6853  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        6854  +
                        .put("disableDoubleEncoding", true)
        6855  +
                        .put("signingName", "s3express".to_string())
        6856  +
                        .put("signingRegion", "cn-north-1".to_string())
 7909   6857   
                )
 7910   6858   
                .property("backend", "S3Express".to_string())
 7911   6859   
                .build()
 7912   6860   
        );
 7913   6861   
    }
 7914   6862   
 7915   6863   
    /// Data Plane with short zone name with AP
 7916   6864   
    #[test]
 7917   6865   
    fn test_277() {
 7918   6866   
        let params = crate::config::endpoint::Params::builder()
 7919   6867   
            .region("us-east-1".to_string())
 7920   6868   
            .bucket("myaccesspoint--abcd-ab1--xa-s3".to_string())
 7921   6869   
            .use_fips(false)
 7922   6870   
            .use_dual_stack(false)
 7923   6871   
            .accelerate(false)
 7924   6872   
            .use_s3_express_control_endpoint(false)
 7925   6873   
            .build()
 7926   6874   
            .expect("invalid params");
 7927   6875   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7928   6876   
        let endpoint = resolver.resolve_endpoint(&params);
 7929   6877   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myaccesspoint--abcd-ab1--xa-s3.s3express-abcd-ab1.us-east-1.amazonaws.com");
 7930   6878   
        assert_eq!(
 7931   6879   
            endpoint,
 7932   6880   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7933   6881   
                .url("https://myaccesspoint--abcd-ab1--xa-s3.s3express-abcd-ab1.us-east-1.amazonaws.com")
 7934         -
                .property(
 7935         -
                    "authSchemes",
 7936         -
                    vec![{
 7937         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7938         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 7939         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 7940         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 7941         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7942         -
                        out
 7943         -
                    }
 7944         -
                    .into()]
        6882  +
                .auth_scheme(
        6883  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        6884  +
                        .put("disableDoubleEncoding", true)
        6885  +
                        .put("signingName", "s3express".to_string())
        6886  +
                        .put("signingRegion", "us-east-1".to_string())
 7945   6887   
                )
 7946   6888   
                .property("backend", "S3Express".to_string())
 7947   6889   
                .build()
 7948   6890   
        );
 7949   6891   
    }
 7950   6892   
 7951   6893   
    /// Data Plane with short zone name with AP china region
 7952   6894   
    #[test]
 7953   6895   
    fn test_278() {
 7954   6896   
        let params = crate::config::endpoint::Params::builder()
 7955   6897   
            .region("cn-north-1".to_string())
 7956   6898   
            .bucket("myaccesspoint--abcd-ab1--xa-s3".to_string())
 7957   6899   
            .use_fips(false)
 7958   6900   
            .use_dual_stack(false)
 7959   6901   
            .accelerate(false)
 7960   6902   
            .use_s3_express_control_endpoint(false)
 7961   6903   
            .build()
 7962   6904   
            .expect("invalid params");
 7963   6905   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7964   6906   
        let endpoint = resolver.resolve_endpoint(&params);
 7965   6907   
        let endpoint =
 7966   6908   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--abcd-ab1--xa-s3.s3express-abcd-ab1.cn-north-1.amazonaws.com.cn");
 7967   6909   
        assert_eq!(
 7968   6910   
            endpoint,
 7969   6911   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7970   6912   
                .url("https://myaccesspoint--abcd-ab1--xa-s3.s3express-abcd-ab1.cn-north-1.amazonaws.com.cn")
 7971         -
                .property(
 7972         -
                    "authSchemes",
 7973         -
                    vec![{
 7974         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7975         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 7976         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 7977         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 7978         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7979         -
                        out
 7980         -
                    }
 7981         -
                    .into()]
        6913  +
                .auth_scheme(
        6914  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        6915  +
                        .put("disableDoubleEncoding", true)
        6916  +
                        .put("signingName", "s3express".to_string())
        6917  +
                        .put("signingRegion", "cn-north-1".to_string())
 7982   6918   
                )
 7983   6919   
                .property("backend", "S3Express".to_string())
 7984   6920   
                .build()
 7985   6921   
        );
 7986   6922   
    }
 7987   6923   
 7988   6924   
    /// Data Plane with short zone names (13 chars)
 7989   6925   
    #[test]
 7990   6926   
    fn test_279() {
 7991   6927   
        let params = crate::config::endpoint::Params::builder()
 7992   6928   
            .region("us-west-2".to_string())
 7993   6929   
            .bucket("mybucket--test-zone-ab1--x-s3".to_string())
 7994   6930   
            .use_fips(false)
 7995   6931   
            .use_dual_stack(false)
 7996   6932   
            .accelerate(false)
 7997   6933   
            .use_s3_express_control_endpoint(false)
 7998   6934   
            .build()
 7999   6935   
            .expect("invalid params");
 8000   6936   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8001   6937   
        let endpoint = resolver.resolve_endpoint(&params);
 8002   6938   
        let endpoint =
 8003   6939   
            endpoint.expect("Expected valid endpoint: https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com");
 8004   6940   
        assert_eq!(
 8005   6941   
            endpoint,
 8006   6942   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8007   6943   
                .url("https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com")
 8008         -
                .property(
 8009         -
                    "authSchemes",
 8010         -
                    vec![{
 8011         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8012         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8013         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8014         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8015         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8016         -
                        out
 8017         -
                    }
 8018         -
                    .into()]
        6944  +
                .auth_scheme(
        6945  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        6946  +
                        .put("disableDoubleEncoding", true)
        6947  +
                        .put("signingName", "s3express".to_string())
        6948  +
                        .put("signingRegion", "us-west-2".to_string())
 8019   6949   
                )
 8020   6950   
                .property("backend", "S3Express".to_string())
 8021   6951   
                .build()
 8022   6952   
        );
 8023   6953   
    }
 8024   6954   
 8025   6955   
    /// Data Plane with short zone names (13 chars) with AP
 8026   6956   
    #[test]
 8027   6957   
    fn test_280() {
 8028   6958   
        let params = crate::config::endpoint::Params::builder()
 8029   6959   
            .region("us-west-2".to_string())
 8030   6960   
            .bucket("myaccesspoint--test-zone-ab1--xa-s3".to_string())
 8031   6961   
            .use_fips(false)
 8032   6962   
            .use_dual_stack(false)
 8033   6963   
            .accelerate(false)
 8034   6964   
            .use_s3_express_control_endpoint(false)
 8035   6965   
            .build()
 8036   6966   
            .expect("invalid params");
 8037   6967   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8038   6968   
        let endpoint = resolver.resolve_endpoint(&params);
 8039   6969   
        let endpoint =
 8040   6970   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--test-zone-ab1--xa-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com");
 8041   6971   
        assert_eq!(
 8042   6972   
            endpoint,
 8043   6973   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8044   6974   
                .url("https://myaccesspoint--test-zone-ab1--xa-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com")
 8045         -
                .property(
 8046         -
                    "authSchemes",
 8047         -
                    vec![{
 8048         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8049         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8050         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8051         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8052         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8053         -
                        out
 8054         -
                    }
 8055         -
                    .into()]
        6975  +
                .auth_scheme(
        6976  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        6977  +
                        .put("disableDoubleEncoding", true)
        6978  +
                        .put("signingName", "s3express".to_string())
        6979  +
                        .put("signingRegion", "us-west-2".to_string())
 8056   6980   
                )
 8057   6981   
                .property("backend", "S3Express".to_string())
 8058   6982   
                .build()
 8059   6983   
        );
 8060   6984   
    }
 8061   6985   
 8062   6986   
    /// Data Plane with medium zone names (14 chars)
 8063   6987   
    #[test]
 8064   6988   
    fn test_281() {
 8065   6989   
        let params = crate::config::endpoint::Params::builder()
 8066   6990   
            .region("us-west-2".to_string())
 8067   6991   
            .bucket("mybucket--test1-zone-ab1--x-s3".to_string())
 8068   6992   
            .use_fips(false)
 8069   6993   
            .use_dual_stack(false)
 8070   6994   
            .accelerate(false)
 8071   6995   
            .use_s3_express_control_endpoint(false)
 8072   6996   
            .build()
 8073   6997   
            .expect("invalid params");
 8074   6998   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8075   6999   
        let endpoint = resolver.resolve_endpoint(&params);
 8076   7000   
        let endpoint =
 8077   7001   
            endpoint.expect("Expected valid endpoint: https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com");
 8078   7002   
        assert_eq!(
 8079   7003   
            endpoint,
 8080   7004   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8081   7005   
                .url("https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com")
 8082         -
                .property(
 8083         -
                    "authSchemes",
 8084         -
                    vec![{
 8085         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8086         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8087         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8088         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8089         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8090         -
                        out
 8091         -
                    }
 8092         -
                    .into()]
        7006  +
                .auth_scheme(
        7007  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7008  +
                        .put("disableDoubleEncoding", true)
        7009  +
                        .put("signingName", "s3express".to_string())
        7010  +
                        .put("signingRegion", "us-west-2".to_string())
 8093   7011   
                )
 8094   7012   
                .property("backend", "S3Express".to_string())
 8095   7013   
                .build()
 8096   7014   
        );
 8097   7015   
    }
 8098   7016   
 8099   7017   
    /// Data Plane with medium zone names (14 chars) with AP
 8100   7018   
    #[test]
 8101   7019   
    fn test_282() {
 8102   7020   
        let params = crate::config::endpoint::Params::builder()
 8103   7021   
            .region("us-west-2".to_string())
 8104   7022   
            .bucket("myaccesspoint--test1-zone-ab1--xa-s3".to_string())
 8105   7023   
            .use_fips(false)
 8106   7024   
            .use_dual_stack(false)
 8107   7025   
            .accelerate(false)
 8108   7026   
            .use_s3_express_control_endpoint(false)
 8109   7027   
            .build()
 8110   7028   
            .expect("invalid params");
 8111   7029   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8112   7030   
        let endpoint = resolver.resolve_endpoint(&params);
 8113   7031   
        let endpoint =
 8114   7032   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com");
 8115   7033   
        assert_eq!(
 8116   7034   
            endpoint,
 8117   7035   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8118   7036   
                .url("https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com")
 8119         -
                .property(
 8120         -
                    "authSchemes",
 8121         -
                    vec![{
 8122         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8123         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8124         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8125         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8126         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8127         -
                        out
 8128         -
                    }
 8129         -
                    .into()]
        7037  +
                .auth_scheme(
        7038  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7039  +
                        .put("disableDoubleEncoding", true)
        7040  +
                        .put("signingName", "s3express".to_string())
        7041  +
                        .put("signingRegion", "us-west-2".to_string())
 8130   7042   
                )
 8131   7043   
                .property("backend", "S3Express".to_string())
 8132   7044   
                .build()
 8133   7045   
        );
 8134   7046   
    }
 8135   7047   
 8136   7048   
    /// Data Plane with long zone names (20 chars)
 8137   7049   
    #[test]
 8138   7050   
    fn test_283() {
 8139   7051   
        let params = crate::config::endpoint::Params::builder()
 8140   7052   
            .region("us-west-2".to_string())
 8141   7053   
            .bucket("mybucket--test1-long1-zone-ab1--x-s3".to_string())
 8142   7054   
            .use_fips(false)
 8143   7055   
            .use_dual_stack(false)
 8144   7056   
            .accelerate(false)
 8145   7057   
            .use_s3_express_control_endpoint(false)
 8146   7058   
            .build()
 8147   7059   
            .expect("invalid params");
 8148   7060   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8149   7061   
        let endpoint = resolver.resolve_endpoint(&params);
 8150   7062   
        let endpoint = endpoint
 8151   7063   
            .expect("Expected valid endpoint: https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com");
 8152   7064   
        assert_eq!(
 8153   7065   
            endpoint,
 8154   7066   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8155   7067   
                .url("https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com")
 8156         -
                .property(
 8157         -
                    "authSchemes",
 8158         -
                    vec![{
 8159         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8160         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8161         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8162         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8163         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8164         -
                        out
 8165         -
                    }
 8166         -
                    .into()]
        7068  +
                .auth_scheme(
        7069  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7070  +
                        .put("disableDoubleEncoding", true)
        7071  +
                        .put("signingName", "s3express".to_string())
        7072  +
                        .put("signingRegion", "us-west-2".to_string())
 8167   7073   
                )
 8168   7074   
                .property("backend", "S3Express".to_string())
 8169   7075   
                .build()
 8170   7076   
        );
 8171   7077   
    }
 8172   7078   
 8173   7079   
    /// Data Plane with long zone names (20 chars)
 8174   7080   
    #[test]
 8175   7081   
    fn test_284() {
 8176   7082   
        let params = crate::config::endpoint::Params::builder()
 8177   7083   
            .region("us-west-2".to_string())
 8178   7084   
            .bucket("myaccesspoint--test1-long1-zone-ab1--xa-s3".to_string())
 8179   7085   
            .use_fips(false)
 8180   7086   
            .use_dual_stack(false)
 8181   7087   
            .accelerate(false)
 8182   7088   
            .use_s3_express_control_endpoint(false)
 8183   7089   
            .build()
 8184   7090   
            .expect("invalid params");
 8185   7091   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8186   7092   
        let endpoint = resolver.resolve_endpoint(&params);
 8187   7093   
        let endpoint = endpoint.expect(
 8188   7094   
            "Expected valid endpoint: https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com",
 8189   7095   
        );
 8190   7096   
        assert_eq!(
 8191   7097   
            endpoint,
 8192   7098   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8193   7099   
                .url("https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com")
 8194         -
                .property(
 8195         -
                    "authSchemes",
 8196         -
                    vec![{
 8197         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8198         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8199         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8200         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8201         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8202         -
                        out
 8203         -
                    }
 8204         -
                    .into()]
        7100  +
                .auth_scheme(
        7101  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7102  +
                        .put("disableDoubleEncoding", true)
        7103  +
                        .put("signingName", "s3express".to_string())
        7104  +
                        .put("signingRegion", "us-west-2".to_string())
 8205   7105   
                )
 8206   7106   
                .property("backend", "S3Express".to_string())
 8207   7107   
                .build()
 8208   7108   
        );
 8209   7109   
    }
 8210   7110   
 8211   7111   
    /// Data Plane with short zone fips
 8212   7112   
    #[test]
 8213   7113   
    fn test_285() {
 8214   7114   
        let params = crate::config::endpoint::Params::builder()
 8215   7115   
            .region("us-east-1".to_string())
 8216   7116   
            .bucket("mybucket--test-ab1--x-s3".to_string())
 8217   7117   
            .use_fips(true)
 8218   7118   
            .use_dual_stack(false)
 8219   7119   
            .accelerate(false)
 8220   7120   
            .use_s3_express_control_endpoint(false)
 8221   7121   
            .build()
 8222   7122   
            .expect("invalid params");
 8223   7123   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8224   7124   
        let endpoint = resolver.resolve_endpoint(&params);
 8225   7125   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--test-ab1--x-s3.s3express-fips-test-ab1.us-east-1.amazonaws.com");
 8226   7126   
        assert_eq!(
 8227   7127   
            endpoint,
 8228   7128   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8229   7129   
                .url("https://mybucket--test-ab1--x-s3.s3express-fips-test-ab1.us-east-1.amazonaws.com")
 8230         -
                .property(
 8231         -
                    "authSchemes",
 8232         -
                    vec![{
 8233         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8234         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8235         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8236         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 8237         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8238         -
                        out
 8239         -
                    }
 8240         -
                    .into()]
        7130  +
                .auth_scheme(
        7131  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7132  +
                        .put("disableDoubleEncoding", true)
        7133  +
                        .put("signingName", "s3express".to_string())
        7134  +
                        .put("signingRegion", "us-east-1".to_string())
 8241   7135   
                )
 8242   7136   
                .property("backend", "S3Express".to_string())
 8243   7137   
                .build()
 8244   7138   
        );
 8245   7139   
    }
 8246   7140   
 8247   7141   
    /// Data Plane with short zone fips china region
 8248   7142   
    #[test]
 8249   7143   
    fn test_286() {
 8250   7144   
        let params = crate::config::endpoint::Params::builder()
 8251   7145   
            .region("cn-north-1".to_string())
 8252   7146   
            .bucket("mybucket--test-ab1--x-s3".to_string())
 8253   7147   
            .use_fips(true)
 8254   7148   
            .use_dual_stack(false)
 8255   7149   
            .accelerate(false)
 8256   7150   
            .use_s3_express_control_endpoint(false)
 8257   7151   
            .build()
 8258   7152   
            .expect("invalid params");
 8259   7153   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8260   7154   
        let endpoint = resolver.resolve_endpoint(&params);
 8261   7155   
        let error = endpoint.expect_err("expected error: Partition does not support FIPS [Data Plane with short zone fips china region]");
 8262   7156   
        assert_eq!(format!("{}", error), "Partition does not support FIPS")
 8263   7157   
    }
 8264   7158   
 8265   7159   
    /// Data Plane with short zone fips with AP
 8266   7160   
    #[test]
 8267   7161   
    fn test_287() {
 8268   7162   
        let params = crate::config::endpoint::Params::builder()
 8269   7163   
            .region("us-east-1".to_string())
 8270   7164   
            .bucket("myaccesspoint--test-ab1--xa-s3".to_string())
 8271   7165   
            .use_fips(true)
 8272   7166   
            .use_dual_stack(false)
 8273   7167   
            .accelerate(false)
 8274   7168   
            .use_s3_express_control_endpoint(false)
 8275   7169   
            .build()
 8276   7170   
            .expect("invalid params");
 8277   7171   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8278   7172   
        let endpoint = resolver.resolve_endpoint(&params);
 8279   7173   
        let endpoint =
 8280   7174   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--test-ab1--xa-s3.s3express-fips-test-ab1.us-east-1.amazonaws.com");
 8281   7175   
        assert_eq!(
 8282   7176   
            endpoint,
 8283   7177   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8284   7178   
                .url("https://myaccesspoint--test-ab1--xa-s3.s3express-fips-test-ab1.us-east-1.amazonaws.com")
 8285         -
                .property(
 8286         -
                    "authSchemes",
 8287         -
                    vec![{
 8288         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8289         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8290         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8291         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 8292         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8293         -
                        out
 8294         -
                    }
 8295         -
                    .into()]
        7179  +
                .auth_scheme(
        7180  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7181  +
                        .put("disableDoubleEncoding", true)
        7182  +
                        .put("signingName", "s3express".to_string())
        7183  +
                        .put("signingRegion", "us-east-1".to_string())
 8296   7184   
                )
 8297   7185   
                .property("backend", "S3Express".to_string())
 8298   7186   
                .build()
 8299   7187   
        );
 8300   7188   
    }
 8301   7189   
 8302   7190   
    /// Data Plane with short zone fips with AP china region
 8303   7191   
    #[test]
 8304   7192   
    fn test_288() {
 8305   7193   
        let params = crate::config::endpoint::Params::builder()
 8306   7194   
            .region("cn-north-1".to_string())
 8307   7195   
            .bucket("myaccesspoint--test-ab1--xa-s3".to_string())
 8308   7196   
            .use_fips(true)
 8309   7197   
            .use_dual_stack(false)
 8310   7198   
            .accelerate(false)
 8311   7199   
            .use_s3_express_control_endpoint(false)
 8312   7200   
            .build()
 8313   7201   
            .expect("invalid params");
 8314   7202   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8315   7203   
        let endpoint = resolver.resolve_endpoint(&params);
 8316   7204   
        let error = endpoint.expect_err("expected error: Partition does not support FIPS [Data Plane with short zone fips with AP china region]");
 8317   7205   
        assert_eq!(format!("{}", error), "Partition does not support FIPS")
 8318   7206   
    }
 8319   7207   
 8320   7208   
    /// Data Plane with short zone (13 chars) fips
 8321   7209   
    #[test]
 8322   7210   
    fn test_289() {
 8323   7211   
        let params = crate::config::endpoint::Params::builder()
 8324   7212   
            .region("us-west-2".to_string())
 8325   7213   
            .bucket("mybucket--test-zone-ab1--x-s3".to_string())
 8326   7214   
            .use_fips(true)
 8327   7215   
            .use_dual_stack(false)
 8328   7216   
            .accelerate(false)
 8329   7217   
            .use_s3_express_control_endpoint(false)
 8330   7218   
            .build()
 8331   7219   
            .expect("invalid params");
 8332   7220   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8333   7221   
        let endpoint = resolver.resolve_endpoint(&params);
 8334   7222   
        let endpoint =
 8335   7223   
            endpoint.expect("Expected valid endpoint: https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com");
 8336   7224   
        assert_eq!(
 8337   7225   
            endpoint,
 8338   7226   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8339   7227   
                .url("https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com")
 8340         -
                .property(
 8341         -
                    "authSchemes",
 8342         -
                    vec![{
 8343         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8344         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8345         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8346         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8347         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8348         -
                        out
 8349         -
                    }
 8350         -
                    .into()]
        7228  +
                .auth_scheme(
        7229  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7230  +
                        .put("disableDoubleEncoding", true)
        7231  +
                        .put("signingName", "s3express".to_string())
        7232  +
                        .put("signingRegion", "us-west-2".to_string())
 8351   7233   
                )
 8352   7234   
                .property("backend", "S3Express".to_string())
 8353   7235   
                .build()
 8354   7236   
        );
 8355   7237   
    }
 8356   7238   
 8357   7239   
    /// Data Plane with short zone (13 chars) fips with AP
 8358   7240   
    #[test]
 8359   7241   
    fn test_290() {
 8360   7242   
        let params = crate::config::endpoint::Params::builder()
 8361   7243   
            .region("us-west-2".to_string())
 8362   7244   
            .bucket("myaccesspoint--test-zone-ab1--xa-s3".to_string())
 8363   7245   
            .use_fips(true)
 8364   7246   
            .use_dual_stack(false)
 8365   7247   
            .accelerate(false)
 8366   7248   
            .use_s3_express_control_endpoint(false)
 8367   7249   
            .build()
 8368   7250   
            .expect("invalid params");
 8369   7251   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8370   7252   
        let endpoint = resolver.resolve_endpoint(&params);
 8371   7253   
        let endpoint = endpoint
 8372   7254   
            .expect("Expected valid endpoint: https://myaccesspoint--test-zone-ab1--xa-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com");
 8373   7255   
        assert_eq!(
 8374   7256   
            endpoint,
 8375   7257   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8376   7258   
                .url("https://myaccesspoint--test-zone-ab1--xa-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com")
 8377         -
                .property(
 8378         -
                    "authSchemes",
 8379         -
                    vec![{
 8380         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8381         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8382         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8383         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8384         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8385         -
                        out
 8386         -
                    }
 8387         -
                    .into()]
        7259  +
                .auth_scheme(
        7260  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7261  +
                        .put("disableDoubleEncoding", true)
        7262  +
                        .put("signingName", "s3express".to_string())
        7263  +
                        .put("signingRegion", "us-west-2".to_string())
 8388   7264   
                )
 8389   7265   
                .property("backend", "S3Express".to_string())
 8390   7266   
                .build()
 8391   7267   
        );
 8392   7268   
    }
 8393   7269   
 8394   7270   
    /// Data Plane with medium zone (14 chars) fips
 8395   7271   
    #[test]
 8396   7272   
    fn test_291() {
 8397   7273   
        let params = crate::config::endpoint::Params::builder()
 8398   7274   
            .region("us-west-2".to_string())
 8399   7275   
            .bucket("mybucket--test1-zone-ab1--x-s3".to_string())
 8400   7276   
            .use_fips(true)
 8401   7277   
            .use_dual_stack(false)
 8402   7278   
            .accelerate(false)
 8403   7279   
            .use_s3_express_control_endpoint(false)
 8404   7280   
            .build()
 8405   7281   
            .expect("invalid params");
 8406   7282   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8407   7283   
        let endpoint = resolver.resolve_endpoint(&params);
 8408   7284   
        let endpoint =
 8409   7285   
            endpoint.expect("Expected valid endpoint: https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com");
 8410   7286   
        assert_eq!(
 8411   7287   
            endpoint,
 8412   7288   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8413   7289   
                .url("https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com")
 8414         -
                .property(
 8415         -
                    "authSchemes",
 8416         -
                    vec![{
 8417         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8418         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8419         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8420         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8421         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8422         -
                        out
 8423         -
                    }
 8424         -
                    .into()]
        7290  +
                .auth_scheme(
        7291  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7292  +
                        .put("disableDoubleEncoding", true)
        7293  +
                        .put("signingName", "s3express".to_string())
        7294  +
                        .put("signingRegion", "us-west-2".to_string())
 8425   7295   
                )
 8426   7296   
                .property("backend", "S3Express".to_string())
 8427   7297   
                .build()
 8428   7298   
        );
 8429   7299   
    }
 8430   7300   
 8431   7301   
    /// Data Plane with medium zone (14 chars) fips with AP
 8432   7302   
    #[test]
 8433   7303   
    fn test_292() {
 8434   7304   
        let params = crate::config::endpoint::Params::builder()
 8435   7305   
            .region("us-west-2".to_string())
 8436   7306   
            .bucket("myaccesspoint--test1-zone-ab1--xa-s3".to_string())
 8437   7307   
            .use_fips(true)
 8438   7308   
            .use_dual_stack(false)
 8439   7309   
            .accelerate(false)
 8440   7310   
            .use_s3_express_control_endpoint(false)
 8441   7311   
            .build()
 8442   7312   
            .expect("invalid params");
 8443   7313   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8444   7314   
        let endpoint = resolver.resolve_endpoint(&params);
 8445   7315   
        let endpoint = endpoint
 8446   7316   
            .expect("Expected valid endpoint: https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com");
 8447   7317   
        assert_eq!(
 8448   7318   
            endpoint,
 8449   7319   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8450   7320   
                .url("https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com")
 8451         -
                .property(
 8452         -
                    "authSchemes",
 8453         -
                    vec![{
 8454         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8455         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8456         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8457         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8458         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8459         -
                        out
 8460         -
                    }
 8461         -
                    .into()]
        7321  +
                .auth_scheme(
        7322  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7323  +
                        .put("disableDoubleEncoding", true)
        7324  +
                        .put("signingName", "s3express".to_string())
        7325  +
                        .put("signingRegion", "us-west-2".to_string())
 8462   7326   
                )
 8463   7327   
                .property("backend", "S3Express".to_string())
 8464   7328   
                .build()
 8465   7329   
        );
 8466   7330   
    }
 8467   7331   
 8468   7332   
    /// Data Plane with long zone (20 chars) fips
 8469   7333   
    #[test]
 8470   7334   
    fn test_293() {
 8471   7335   
        let params = crate::config::endpoint::Params::builder()
 8472   7336   
            .region("us-west-2".to_string())
 8473   7337   
            .bucket("mybucket--test1-long1-zone-ab1--x-s3".to_string())
 8474   7338   
            .use_fips(true)
 8475   7339   
            .use_dual_stack(false)
 8476   7340   
            .accelerate(false)
 8477   7341   
            .use_s3_express_control_endpoint(false)
 8478   7342   
            .build()
 8479   7343   
            .expect("invalid params");
 8480   7344   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8481   7345   
        let endpoint = resolver.resolve_endpoint(&params);
 8482   7346   
        let endpoint = endpoint.expect(
 8483   7347   
            "Expected valid endpoint: https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com",
 8484   7348   
        );
 8485   7349   
        assert_eq!(
 8486   7350   
            endpoint,
 8487   7351   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8488   7352   
                .url("https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com")
 8489         -
                .property(
 8490         -
                    "authSchemes",
 8491         -
                    vec![{
 8492         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8493         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8494         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8495         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8496         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8497         -
                        out
 8498         -
                    }
 8499         -
                    .into()]
        7353  +
                .auth_scheme(
        7354  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7355  +
                        .put("disableDoubleEncoding", true)
        7356  +
                        .put("signingName", "s3express".to_string())
        7357  +
                        .put("signingRegion", "us-west-2".to_string())
 8500   7358   
                )
 8501   7359   
                .property("backend", "S3Express".to_string())
 8502   7360   
                .build()
 8503   7361   
        );
 8504   7362   
    }
 8505   7363   
 8506   7364   
    /// Data Plane with long zone (20 chars) fips with AP
 8507   7365   
    #[test]
 8508   7366   
    fn test_294() {
 8509   7367   
        let params = crate::config::endpoint::Params::builder()
 8510   7368   
            .region("us-west-2".to_string())
 8511   7369   
            .bucket("myaccesspoint--test1-long1-zone-ab1--xa-s3".to_string())
 8512   7370   
            .use_fips(true)
 8513   7371   
            .use_dual_stack(false)
 8514   7372   
            .accelerate(false)
 8515   7373   
            .use_s3_express_control_endpoint(false)
 8516   7374   
            .build()
 8517   7375   
            .expect("invalid params");
 8518   7376   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8519   7377   
        let endpoint = resolver.resolve_endpoint(&params);
 8520   7378   
        let endpoint = endpoint.expect(
 8521   7379   
            "Expected valid endpoint: https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com",
 8522   7380   
        );
 8523   7381   
        assert_eq!(
 8524   7382   
            endpoint,
 8525   7383   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8526   7384   
                .url("https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com")
 8527         -
                .property(
 8528         -
                    "authSchemes",
 8529         -
                    vec![{
 8530         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8531         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8532         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8533         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8534         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8535         -
                        out
 8536         -
                    }
 8537         -
                    .into()]
        7385  +
                .auth_scheme(
        7386  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7387  +
                        .put("disableDoubleEncoding", true)
        7388  +
                        .put("signingName", "s3express".to_string())
        7389  +
                        .put("signingRegion", "us-west-2".to_string())
 8538   7390   
                )
 8539   7391   
                .property("backend", "S3Express".to_string())
 8540   7392   
                .build()
 8541   7393   
        );
 8542   7394   
    }
 8543   7395   
 8544   7396   
    /// Data Plane with long AZ
 8545   7397   
    #[test]
 8546   7398   
    fn test_295() {
 8547   7399   
        let params = crate::config::endpoint::Params::builder()
 8548   7400   
            .region("us-west-2".to_string())
 8549   7401   
            .bucket("mybucket--test1-az1--x-s3".to_string())
 8550   7402   
            .use_fips(false)
 8551   7403   
            .use_dual_stack(false)
 8552   7404   
            .accelerate(false)
 8553   7405   
            .use_s3_express_control_endpoint(false)
 8554   7406   
            .build()
 8555   7407   
            .expect("invalid params");
 8556   7408   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8557   7409   
        let endpoint = resolver.resolve_endpoint(&params);
 8558   7410   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--test1-az1--x-s3.s3express-test1-az1.us-west-2.amazonaws.com");
 8559   7411   
        assert_eq!(
 8560   7412   
            endpoint,
 8561   7413   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8562   7414   
                .url("https://mybucket--test1-az1--x-s3.s3express-test1-az1.us-west-2.amazonaws.com")
 8563         -
                .property(
 8564         -
                    "authSchemes",
 8565         -
                    vec![{
 8566         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8567         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8568         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8569         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8570         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8571         -
                        out
 8572         -
                    }
 8573         -
                    .into()]
        7415  +
                .auth_scheme(
        7416  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7417  +
                        .put("disableDoubleEncoding", true)
        7418  +
                        .put("signingName", "s3express".to_string())
        7419  +
                        .put("signingRegion", "us-west-2".to_string())
 8574   7420   
                )
 8575   7421   
                .property("backend", "S3Express".to_string())
 8576   7422   
                .build()
 8577   7423   
        );
 8578   7424   
    }
 8579   7425   
 8580   7426   
    /// Data Plane with long AZ with AP
 8581   7427   
    #[test]
 8582   7428   
    fn test_296() {
 8583   7429   
        let params = crate::config::endpoint::Params::builder()
 8584   7430   
            .region("us-west-2".to_string())
 8585   7431   
            .bucket("myaccesspoint--test1-az1--xa-s3".to_string())
 8586   7432   
            .use_fips(false)
 8587   7433   
            .use_dual_stack(false)
 8588   7434   
            .accelerate(false)
 8589   7435   
            .use_s3_express_control_endpoint(false)
 8590   7436   
            .build()
 8591   7437   
            .expect("invalid params");
 8592   7438   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8593   7439   
        let endpoint = resolver.resolve_endpoint(&params);
 8594   7440   
        let endpoint =
 8595   7441   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--test1-az1--xa-s3.s3express-test1-az1.us-west-2.amazonaws.com");
 8596   7442   
        assert_eq!(
 8597   7443   
            endpoint,
 8598   7444   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8599   7445   
                .url("https://myaccesspoint--test1-az1--xa-s3.s3express-test1-az1.us-west-2.amazonaws.com")
 8600         -
                .property(
 8601         -
                    "authSchemes",
 8602         -
                    vec![{
 8603         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8604         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8605         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8606         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8607         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8608         -
                        out
 8609         -
                    }
 8610         -
                    .into()]
        7446  +
                .auth_scheme(
        7447  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7448  +
                        .put("disableDoubleEncoding", true)
        7449  +
                        .put("signingName", "s3express".to_string())
        7450  +
                        .put("signingRegion", "us-west-2".to_string())
 8611   7451   
                )
 8612   7452   
                .property("backend", "S3Express".to_string())
 8613   7453   
                .build()
 8614   7454   
        );
 8615   7455   
    }
 8616   7456   
 8617   7457   
    /// Data Plane with long AZ fips
 8618   7458   
    #[test]
 8619   7459   
    fn test_297() {
 8620   7460   
        let params = crate::config::endpoint::Params::builder()
 8621   7461   
            .region("us-west-2".to_string())
 8622   7462   
            .bucket("mybucket--test1-az1--x-s3".to_string())
 8623   7463   
            .use_fips(true)
 8624   7464   
            .use_dual_stack(false)
 8625   7465   
            .accelerate(false)
 8626   7466   
            .use_s3_express_control_endpoint(false)
 8627   7467   
            .build()
 8628   7468   
            .expect("invalid params");
 8629   7469   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8630   7470   
        let endpoint = resolver.resolve_endpoint(&params);
 8631   7471   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--test1-az1--x-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com");
 8632   7472   
        assert_eq!(
 8633   7473   
            endpoint,
 8634   7474   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8635   7475   
                .url("https://mybucket--test1-az1--x-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com")
 8636         -
                .property(
 8637         -
                    "authSchemes",
 8638         -
                    vec![{
 8639         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8640         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8641         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8642         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8643         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8644         -
                        out
 8645         -
                    }
 8646         -
                    .into()]
        7476  +
                .auth_scheme(
        7477  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7478  +
                        .put("disableDoubleEncoding", true)
        7479  +
                        .put("signingName", "s3express".to_string())
        7480  +
                        .put("signingRegion", "us-west-2".to_string())
 8647   7481   
                )
 8648   7482   
                .property("backend", "S3Express".to_string())
 8649   7483   
                .build()
 8650   7484   
        );
 8651   7485   
    }
 8652   7486   
 8653   7487   
    /// Data Plane with long AZ fips with AP
 8654   7488   
    #[test]
 8655   7489   
    fn test_298() {
 8656   7490   
        let params = crate::config::endpoint::Params::builder()
 8657   7491   
            .region("us-west-2".to_string())
 8658   7492   
            .bucket("myaccesspoint--test1-az1--xa-s3".to_string())
 8659   7493   
            .use_fips(true)
 8660   7494   
            .use_dual_stack(false)
 8661   7495   
            .accelerate(false)
 8662   7496   
            .use_s3_express_control_endpoint(false)
 8663   7497   
            .build()
 8664   7498   
            .expect("invalid params");
 8665   7499   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8666   7500   
        let endpoint = resolver.resolve_endpoint(&params);
 8667   7501   
        let endpoint =
 8668   7502   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--test1-az1--xa-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com");
 8669   7503   
        assert_eq!(
 8670   7504   
            endpoint,
 8671   7505   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8672   7506   
                .url("https://myaccesspoint--test1-az1--xa-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com")
 8673         -
                .property(
 8674         -
                    "authSchemes",
 8675         -
                    vec![{
 8676         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8677         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8678         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8679         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8680         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8681         -
                        out
 8682         -
                    }
 8683         -
                    .into()]
        7507  +
                .auth_scheme(
        7508  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7509  +
                        .put("disableDoubleEncoding", true)
        7510  +
                        .put("signingName", "s3express".to_string())
        7511  +
                        .put("signingRegion", "us-west-2".to_string())
 8684   7512   
                )
 8685   7513   
                .property("backend", "S3Express".to_string())
 8686   7514   
                .build()
 8687   7515   
        );
 8688   7516   
    }
 8689   7517   
 8690   7518   
    /// Control plane with short AZ bucket
 8691   7519   
    #[test]
 8692   7520   
    fn test_299() {
 8693   7521   
        let params = crate::config::endpoint::Params::builder()
 8694   7522   
            .region("us-east-1".to_string())
 8695   7523   
            .bucket("mybucket--test-ab1--x-s3".to_string())
 8696   7524   
            .use_fips(false)
 8697   7525   
            .use_dual_stack(false)
 8698   7526   
            .accelerate(false)
 8699   7527   
            .use_s3_express_control_endpoint(true)
 8700   7528   
            .disable_s3_express_session_auth(false)
 8701   7529   
            .build()
 8702   7530   
            .expect("invalid params");
 8703   7531   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8704   7532   
        let endpoint = resolver.resolve_endpoint(&params);
 8705   7533   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3");
 8706   7534   
        assert_eq!(
 8707   7535   
            endpoint,
 8708   7536   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8709   7537   
                .url("https://s3express-control.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3")
 8710         -
                .property(
 8711         -
                    "authSchemes",
 8712         -
                    vec![{
 8713         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8714         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 8715         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8716         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 8717         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8718         -
                        out
 8719         -
                    }
 8720         -
                    .into()]
        7538  +
                .auth_scheme(
        7539  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7540  +
                        .put("disableDoubleEncoding", true)
        7541  +
                        .put("signingName", "s3express".to_string())
        7542  +
                        .put("signingRegion", "us-east-1".to_string())
 8721   7543   
                )
 8722   7544   
                .property("backend", "S3Express".to_string())
 8723   7545   
                .build()
 8724   7546   
        );
 8725   7547   
    }
 8726   7548   
 8727   7549   
    /// Control plane with short AZ bucket china region
 8728   7550   
    #[test]
 8729   7551   
    fn test_300() {
 8730   7552   
        let params = crate::config::endpoint::Params::builder()
 8731   7553   
            .region("cn-north-1".to_string())
 8732   7554   
            .bucket("mybucket--test-ab1--x-s3".to_string())
 8733   7555   
            .use_fips(false)
 8734   7556   
            .use_dual_stack(false)
 8735   7557   
            .accelerate(false)
 8736   7558   
            .use_s3_express_control_endpoint(true)
 8737   7559   
            .disable_s3_express_session_auth(false)
 8738   7560   
            .build()
 8739   7561   
            .expect("invalid params");
 8740   7562   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8741   7563   
        let endpoint = resolver.resolve_endpoint(&params);
 8742   7564   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control.cn-north-1.amazonaws.com.cn/mybucket--test-ab1--x-s3");
 8743   7565   
        assert_eq!(
 8744   7566   
            endpoint,
 8745   7567   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8746   7568   
                .url("https://s3express-control.cn-north-1.amazonaws.com.cn/mybucket--test-ab1--x-s3")
 8747         -
                .property(
 8748         -
                    "authSchemes",
 8749         -
                    vec![{
 8750         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8751         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 8752         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8753         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 8754         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8755         -
                        out
 8756         -
                    }
 8757         -
                    .into()]
        7569  +
                .auth_scheme(
        7570  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7571  +
                        .put("disableDoubleEncoding", true)
        7572  +
                        .put("signingName", "s3express".to_string())
        7573  +
                        .put("signingRegion", "cn-north-1".to_string())
 8758   7574   
                )
 8759   7575   
                .property("backend", "S3Express".to_string())
 8760   7576   
                .build()
 8761   7577   
        );
 8762   7578   
    }
 8763   7579   
 8764   7580   
    /// Control plane with short AZ bucket and fips
 8765   7581   
    #[test]
 8766   7582   
    fn test_301() {
 8767   7583   
        let params = crate::config::endpoint::Params::builder()
 8768   7584   
            .region("us-east-1".to_string())
 8769   7585   
            .bucket("mybucket--test-ab1--x-s3".to_string())
 8770   7586   
            .use_fips(true)
 8771   7587   
            .use_dual_stack(false)
 8772   7588   
            .accelerate(false)
 8773   7589   
            .use_s3_express_control_endpoint(true)
 8774   7590   
            .disable_s3_express_session_auth(false)
 8775   7591   
            .build()
 8776   7592   
            .expect("invalid params");
 8777   7593   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8778   7594   
        let endpoint = resolver.resolve_endpoint(&params);
 8779   7595   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control-fips.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3");
 8780   7596   
        assert_eq!(
 8781   7597   
            endpoint,
 8782   7598   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8783   7599   
                .url("https://s3express-control-fips.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3")
 8784         -
                .property(
 8785         -
                    "authSchemes",
 8786         -
                    vec![{
 8787         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8788         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 8789         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8790         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 8791         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8792         -
                        out
 8793         -
                    }
 8794         -
                    .into()]
        7600  +
                .auth_scheme(
        7601  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7602  +
                        .put("disableDoubleEncoding", true)
        7603  +
                        .put("signingName", "s3express".to_string())
        7604  +
                        .put("signingRegion", "us-east-1".to_string())
 8795   7605   
                )
 8796   7606   
                .property("backend", "S3Express".to_string())
 8797   7607   
                .build()
 8798   7608   
        );
 8799   7609   
    }
 8800   7610   
 8801   7611   
    /// Control plane with short AZ bucket and fips china region
 8802   7612   
    #[test]
 8803   7613   
    fn test_302() {
 8804   7614   
        let params = crate::config::endpoint::Params::builder()
 8805   7615   
            .region("cn-north-1".to_string())
 8806   7616   
            .bucket("mybucket--test-ab1--x-s3".to_string())
 8807   7617   
            .use_fips(true)
 8808   7618   
            .use_dual_stack(false)
 8809   7619   
            .accelerate(false)
 8810   7620   
            .use_s3_express_control_endpoint(true)
 8811   7621   
            .disable_s3_express_session_auth(false)
 8812   7622   
            .build()
 8813   7623   
            .expect("invalid params");
 8814   7624   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8815   7625   
        let endpoint = resolver.resolve_endpoint(&params);
 8816   7626   
        let error = endpoint.expect_err("expected error: Partition does not support FIPS [Control plane with short AZ bucket and fips china region]");
 8817   7627   
        assert_eq!(format!("{}", error), "Partition does not support FIPS")
 8818   7628   
    }
 8819   7629   
 8820   7630   
    /// Control plane without bucket
 8821   7631   
    #[test]
 8822   7632   
    fn test_303() {
 8823   7633   
        let params = crate::config::endpoint::Params::builder()
 8824   7634   
            .region("us-east-1".to_string())
 8825   7635   
            .use_fips(false)
 8826   7636   
            .use_dual_stack(false)
 8827   7637   
            .accelerate(false)
 8828   7638   
            .use_s3_express_control_endpoint(true)
 8829   7639   
            .disable_s3_express_session_auth(false)
 8830   7640   
            .build()
 8831   7641   
            .expect("invalid params");
 8832   7642   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8833   7643   
        let endpoint = resolver.resolve_endpoint(&params);
 8834   7644   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control.us-east-1.amazonaws.com");
 8835   7645   
        assert_eq!(
 8836   7646   
            endpoint,
 8837   7647   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8838   7648   
                .url("https://s3express-control.us-east-1.amazonaws.com")
 8839         -
                .property(
 8840         -
                    "authSchemes",
 8841         -
                    vec![{
 8842         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8843         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 8844         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8845         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 8846         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8847         -
                        out
 8848         -
                    }
 8849         -
                    .into()]
        7649  +
                .auth_scheme(
        7650  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7651  +
                        .put("disableDoubleEncoding", true)
        7652  +
                        .put("signingName", "s3express".to_string())
        7653  +
                        .put("signingRegion", "us-east-1".to_string())
 8850   7654   
                )
 8851   7655   
                .property("backend", "S3Express".to_string())
 8852   7656   
                .build()
 8853   7657   
        );
 8854   7658   
    }
 8855   7659   
 8856   7660   
    /// Control plane without bucket and fips
 8857   7661   
    #[test]
 8858   7662   
    fn test_304() {
 8859   7663   
        let params = crate::config::endpoint::Params::builder()
 8860   7664   
            .region("us-east-1".to_string())
 8861   7665   
            .use_fips(true)
 8862   7666   
            .use_dual_stack(false)
 8863   7667   
            .accelerate(false)
 8864   7668   
            .use_s3_express_control_endpoint(true)
 8865   7669   
            .disable_s3_express_session_auth(false)
 8866   7670   
            .build()
 8867   7671   
            .expect("invalid params");
 8868   7672   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8869   7673   
        let endpoint = resolver.resolve_endpoint(&params);
 8870   7674   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control-fips.us-east-1.amazonaws.com");
 8871   7675   
        assert_eq!(
 8872   7676   
            endpoint,
 8873   7677   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8874   7678   
                .url("https://s3express-control-fips.us-east-1.amazonaws.com")
 8875         -
                .property(
 8876         -
                    "authSchemes",
 8877         -
                    vec![{
 8878         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8879         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 8880         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8881         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 8882         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8883         -
                        out
 8884         -
                    }
 8885         -
                    .into()]
        7679  +
                .auth_scheme(
        7680  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7681  +
                        .put("disableDoubleEncoding", true)
        7682  +
                        .put("signingName", "s3express".to_string())
        7683  +
                        .put("signingRegion", "us-east-1".to_string())
 8886   7684   
                )
 8887   7685   
                .property("backend", "S3Express".to_string())
 8888   7686   
                .build()
 8889   7687   
        );
 8890   7688   
    }
 8891   7689   
 8892   7690   
    /// Data Plane sigv4 auth with short AZ
 8893   7691   
    #[test]
 8894   7692   
    fn test_305() {
 8895   7693   
        let params = crate::config::endpoint::Params::builder()
 8896   7694   
            .region("us-west-2".to_string())
 8897   7695   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
 8898   7696   
            .use_fips(false)
 8899   7697   
            .use_dual_stack(false)
 8900   7698   
            .accelerate(false)
 8901   7699   
            .disable_s3_express_session_auth(true)
 8902   7700   
            .build()
 8903   7701   
            .expect("invalid params");
 8904   7702   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8905   7703   
        let endpoint = resolver.resolve_endpoint(&params);
 8906   7704   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.s3express-usw2-az1.us-west-2.amazonaws.com");
 8907   7705   
        assert_eq!(
 8908   7706   
            endpoint,
 8909   7707   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8910   7708   
                .url("https://mybucket--usw2-az1--x-s3.s3express-usw2-az1.us-west-2.amazonaws.com")
 8911         -
                .property(
 8912         -
                    "authSchemes",
 8913         -
                    vec![{
 8914         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8915         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 8916         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8917         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8918         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8919         -
                        out
 8920         -
                    }
 8921         -
                    .into()]
        7709  +
                .auth_scheme(
        7710  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7711  +
                        .put("disableDoubleEncoding", true)
        7712  +
                        .put("signingName", "s3express".to_string())
        7713  +
                        .put("signingRegion", "us-west-2".to_string())
 8922   7714   
                )
 8923   7715   
                .property("backend", "S3Express".to_string())
 8924   7716   
                .build()
 8925   7717   
        );
 8926   7718   
    }
 8927   7719   
 8928   7720   
    /// Data Plane sigv4 auth with short AZ with AP
 8929   7721   
    #[test]
 8930   7722   
    fn test_306() {
 8931   7723   
        let params = crate::config::endpoint::Params::builder()
 8932   7724   
            .region("us-west-2".to_string())
 8933   7725   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
 8934   7726   
            .use_fips(false)
 8935   7727   
            .use_dual_stack(false)
 8936   7728   
            .accelerate(false)
 8937   7729   
            .disable_s3_express_session_auth(true)
 8938   7730   
            .build()
 8939   7731   
            .expect("invalid params");
 8940   7732   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8941   7733   
        let endpoint = resolver.resolve_endpoint(&params);
 8942   7734   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myaccesspoint--usw2-az1--xa-s3.s3express-usw2-az1.us-west-2.amazonaws.com");
 8943   7735   
        assert_eq!(
 8944   7736   
            endpoint,
 8945   7737   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8946   7738   
                .url("https://myaccesspoint--usw2-az1--xa-s3.s3express-usw2-az1.us-west-2.amazonaws.com")
 8947         -
                .property(
 8948         -
                    "authSchemes",
 8949         -
                    vec![{
 8950         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8951         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 8952         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8953         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8954         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8955         -
                        out
 8956         -
                    }
 8957         -
                    .into()]
        7739  +
                .auth_scheme(
        7740  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7741  +
                        .put("disableDoubleEncoding", true)
        7742  +
                        .put("signingName", "s3express".to_string())
        7743  +
                        .put("signingRegion", "us-west-2".to_string())
 8958   7744   
                )
 8959   7745   
                .property("backend", "S3Express".to_string())
 8960   7746   
                .build()
 8961   7747   
        );
 8962   7748   
    }
 8963   7749   
 8964   7750   
    /// Data Plane sigv4 auth with short zone (13 chars)
 8965   7751   
    #[test]
 8966   7752   
    fn test_307() {
 8967   7753   
        let params = crate::config::endpoint::Params::builder()
 8968   7754   
            .region("us-west-2".to_string())
 8969   7755   
            .bucket("mybucket--test-zone-ab1--x-s3".to_string())
 8970   7756   
            .use_fips(false)
 8971   7757   
            .use_dual_stack(false)
 8972   7758   
            .accelerate(false)
 8973   7759   
            .disable_s3_express_session_auth(true)
 8974   7760   
            .build()
 8975   7761   
            .expect("invalid params");
 8976   7762   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8977   7763   
        let endpoint = resolver.resolve_endpoint(&params);
 8978   7764   
        let endpoint =
 8979   7765   
            endpoint.expect("Expected valid endpoint: https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com");
 8980   7766   
        assert_eq!(
 8981   7767   
            endpoint,
 8982   7768   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8983   7769   
                .url("https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com")
 8984         -
                .property(
 8985         -
                    "authSchemes",
 8986         -
                    vec![{
 8987         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8988         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 8989         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8990         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8991         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8992         -
                        out
 8993         -
                    }
 8994         -
                    .into()]
        7770  +
                .auth_scheme(
        7771  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7772  +
                        .put("disableDoubleEncoding", true)
        7773  +
                        .put("signingName", "s3express".to_string())
        7774  +
                        .put("signingRegion", "us-west-2".to_string())
 8995   7775   
                )
 8996   7776   
                .property("backend", "S3Express".to_string())
 8997   7777   
                .build()
 8998   7778   
        );
 8999   7779   
    }
 9000   7780   
 9001   7781   
    /// Data Plane sigv4 auth with short zone (13 chars) with AP
 9002   7782   
    #[test]
 9003   7783   
    fn test_308() {
 9004   7784   
        let params = crate::config::endpoint::Params::builder()
 9005   7785   
            .region("us-west-2".to_string())
 9006   7786   
            .bucket("myaccesspoint--test-zone-ab1--xa-s3".to_string())
 9007   7787   
            .use_fips(false)
 9008   7788   
            .use_dual_stack(false)
 9009   7789   
            .accelerate(false)
 9010   7790   
            .disable_s3_express_session_auth(true)
 9011   7791   
            .build()
 9012   7792   
            .expect("invalid params");
 9013   7793   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9014   7794   
        let endpoint = resolver.resolve_endpoint(&params);
 9015   7795   
        let endpoint =
 9016   7796   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--test-zone-ab1--xa-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com");
 9017   7797   
        assert_eq!(
 9018   7798   
            endpoint,
 9019   7799   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9020   7800   
                .url("https://myaccesspoint--test-zone-ab1--xa-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com")
 9021         -
                .property(
 9022         -
                    "authSchemes",
 9023         -
                    vec![{
 9024         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9025         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9026         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9027         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9028         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9029         -
                        out
 9030         -
                    }
 9031         -
                    .into()]
        7801  +
                .auth_scheme(
        7802  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7803  +
                        .put("disableDoubleEncoding", true)
        7804  +
                        .put("signingName", "s3express".to_string())
        7805  +
                        .put("signingRegion", "us-west-2".to_string())
 9032   7806   
                )
 9033   7807   
                .property("backend", "S3Express".to_string())
 9034   7808   
                .build()
 9035   7809   
        );
 9036   7810   
    }
 9037   7811   
 9038   7812   
    /// Data Plane sigv4 auth with short AZ fips
 9039   7813   
    #[test]
 9040   7814   
    fn test_309() {
 9041   7815   
        let params = crate::config::endpoint::Params::builder()
 9042   7816   
            .region("us-west-2".to_string())
 9043   7817   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
 9044   7818   
            .use_fips(true)
 9045   7819   
            .use_dual_stack(false)
 9046   7820   
            .accelerate(false)
 9047   7821   
            .disable_s3_express_session_auth(true)
 9048   7822   
            .build()
 9049   7823   
            .expect("invalid params");
 9050   7824   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9051   7825   
        let endpoint = resolver.resolve_endpoint(&params);
 9052   7826   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.s3express-fips-usw2-az1.us-west-2.amazonaws.com");
 9053   7827   
        assert_eq!(
 9054   7828   
            endpoint,
 9055   7829   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9056   7830   
                .url("https://mybucket--usw2-az1--x-s3.s3express-fips-usw2-az1.us-west-2.amazonaws.com")
 9057         -
                .property(
 9058         -
                    "authSchemes",
 9059         -
                    vec![{
 9060         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9061         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9062         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9063         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9064         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9065         -
                        out
 9066         -
                    }
 9067         -
                    .into()]
        7831  +
                .auth_scheme(
        7832  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7833  +
                        .put("disableDoubleEncoding", true)
        7834  +
                        .put("signingName", "s3express".to_string())
        7835  +
                        .put("signingRegion", "us-west-2".to_string())
 9068   7836   
                )
 9069   7837   
                .property("backend", "S3Express".to_string())
 9070   7838   
                .build()
 9071   7839   
        );
 9072   7840   
    }
 9073   7841   
 9074   7842   
    /// Data Plane sigv4 auth with short AZ fips with AP
 9075   7843   
    #[test]
 9076   7844   
    fn test_310() {
 9077   7845   
        let params = crate::config::endpoint::Params::builder()
 9078   7846   
            .region("us-west-2".to_string())
 9079   7847   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
 9080   7848   
            .use_fips(true)
 9081   7849   
            .use_dual_stack(false)
 9082   7850   
            .accelerate(false)
 9083   7851   
            .disable_s3_express_session_auth(true)
 9084   7852   
            .build()
 9085   7853   
            .expect("invalid params");
 9086   7854   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9087   7855   
        let endpoint = resolver.resolve_endpoint(&params);
 9088   7856   
        let endpoint =
 9089   7857   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--usw2-az1--xa-s3.s3express-fips-usw2-az1.us-west-2.amazonaws.com");
 9090   7858   
        assert_eq!(
 9091   7859   
            endpoint,
 9092   7860   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9093   7861   
                .url("https://myaccesspoint--usw2-az1--xa-s3.s3express-fips-usw2-az1.us-west-2.amazonaws.com")
 9094         -
                .property(
 9095         -
                    "authSchemes",
 9096         -
                    vec![{
 9097         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9098         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9099         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9100         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9101         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9102         -
                        out
 9103         -
                    }
 9104         -
                    .into()]
        7862  +
                .auth_scheme(
        7863  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7864  +
                        .put("disableDoubleEncoding", true)
        7865  +
                        .put("signingName", "s3express".to_string())
        7866  +
                        .put("signingRegion", "us-west-2".to_string())
 9105   7867   
                )
 9106   7868   
                .property("backend", "S3Express".to_string())
 9107   7869   
                .build()
 9108   7870   
        );
 9109   7871   
    }
 9110   7872   
 9111   7873   
    /// Data Plane sigv4 auth with short zone (13 chars) fips
 9112   7874   
    #[test]
 9113   7875   
    fn test_311() {
 9114   7876   
        let params = crate::config::endpoint::Params::builder()
 9115   7877   
            .region("us-west-2".to_string())
 9116   7878   
            .bucket("mybucket--test-zone-ab1--x-s3".to_string())
 9117   7879   
            .use_fips(true)
 9118   7880   
            .use_dual_stack(false)
 9119   7881   
            .accelerate(false)
 9120   7882   
            .disable_s3_express_session_auth(true)
 9121   7883   
            .build()
 9122   7884   
            .expect("invalid params");
 9123   7885   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9124   7886   
        let endpoint = resolver.resolve_endpoint(&params);
 9125   7887   
        let endpoint =
 9126   7888   
            endpoint.expect("Expected valid endpoint: https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com");
 9127   7889   
        assert_eq!(
 9128   7890   
            endpoint,
 9129   7891   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9130   7892   
                .url("https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com")
 9131         -
                .property(
 9132         -
                    "authSchemes",
 9133         -
                    vec![{
 9134         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9135         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9136         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9137         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9138         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9139         -
                        out
 9140         -
                    }
 9141         -
                    .into()]
        7893  +
                .auth_scheme(
        7894  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7895  +
                        .put("disableDoubleEncoding", true)
        7896  +
                        .put("signingName", "s3express".to_string())
        7897  +
                        .put("signingRegion", "us-west-2".to_string())
 9142   7898   
                )
 9143   7899   
                .property("backend", "S3Express".to_string())
 9144   7900   
                .build()
 9145   7901   
        );
 9146   7902   
    }
 9147   7903   
 9148   7904   
    /// Data Plane sigv4 auth with short zone (13 chars) fips with AP
 9149   7905   
    #[test]
 9150   7906   
    fn test_312() {
 9151   7907   
        let params = crate::config::endpoint::Params::builder()
 9152   7908   
            .region("us-west-2".to_string())
 9153   7909   
            .bucket("myaccesspoint--test-zone-ab1--xa-s3".to_string())
 9154   7910   
            .use_fips(true)
 9155   7911   
            .use_dual_stack(false)
 9156   7912   
            .accelerate(false)
 9157   7913   
            .disable_s3_express_session_auth(true)
 9158   7914   
            .build()
 9159   7915   
            .expect("invalid params");
 9160   7916   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9161   7917   
        let endpoint = resolver.resolve_endpoint(&params);
 9162   7918   
        let endpoint = endpoint
 9163   7919   
            .expect("Expected valid endpoint: https://myaccesspoint--test-zone-ab1--xa-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com");
 9164   7920   
        assert_eq!(
 9165   7921   
            endpoint,
 9166   7922   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9167   7923   
                .url("https://myaccesspoint--test-zone-ab1--xa-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com")
 9168         -
                .property(
 9169         -
                    "authSchemes",
 9170         -
                    vec![{
 9171         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9172         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9173         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9174         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9175         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9176         -
                        out
 9177         -
                    }
 9178         -
                    .into()]
        7924  +
                .auth_scheme(
        7925  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7926  +
                        .put("disableDoubleEncoding", true)
        7927  +
                        .put("signingName", "s3express".to_string())
        7928  +
                        .put("signingRegion", "us-west-2".to_string())
 9179   7929   
                )
 9180   7930   
                .property("backend", "S3Express".to_string())
 9181   7931   
                .build()
 9182   7932   
        );
 9183   7933   
    }
 9184   7934   
 9185   7935   
    /// Data Plane sigv4 auth with long AZ
 9186   7936   
    #[test]
 9187   7937   
    fn test_313() {
 9188   7938   
        let params = crate::config::endpoint::Params::builder()
 9189   7939   
            .region("us-west-2".to_string())
 9190   7940   
            .bucket("mybucket--test1-az1--x-s3".to_string())
 9191   7941   
            .use_fips(false)
 9192   7942   
            .use_dual_stack(false)
 9193   7943   
            .accelerate(false)
 9194   7944   
            .use_s3_express_control_endpoint(false)
 9195   7945   
            .disable_s3_express_session_auth(true)
 9196   7946   
            .build()
 9197   7947   
            .expect("invalid params");
 9198   7948   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9199   7949   
        let endpoint = resolver.resolve_endpoint(&params);
 9200   7950   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--test1-az1--x-s3.s3express-test1-az1.us-west-2.amazonaws.com");
 9201   7951   
        assert_eq!(
 9202   7952   
            endpoint,
 9203   7953   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9204   7954   
                .url("https://mybucket--test1-az1--x-s3.s3express-test1-az1.us-west-2.amazonaws.com")
 9205         -
                .property(
 9206         -
                    "authSchemes",
 9207         -
                    vec![{
 9208         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9209         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9210         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9211         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9212         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9213         -
                        out
 9214         -
                    }
 9215         -
                    .into()]
        7955  +
                .auth_scheme(
        7956  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7957  +
                        .put("disableDoubleEncoding", true)
        7958  +
                        .put("signingName", "s3express".to_string())
        7959  +
                        .put("signingRegion", "us-west-2".to_string())
 9216   7960   
                )
 9217   7961   
                .property("backend", "S3Express".to_string())
 9218   7962   
                .build()
 9219   7963   
        );
 9220   7964   
    }
 9221   7965   
 9222   7966   
    /// Data Plane sigv4 auth with long AZ with AP
 9223   7967   
    #[test]
 9224   7968   
    fn test_314() {
 9225   7969   
        let params = crate::config::endpoint::Params::builder()
 9226   7970   
            .region("us-west-2".to_string())
 9227   7971   
            .bucket("myaccesspoint--test1-az1--xa-s3".to_string())
 9228   7972   
            .use_fips(false)
 9229   7973   
            .use_dual_stack(false)
 9230   7974   
            .accelerate(false)
 9231   7975   
            .use_s3_express_control_endpoint(false)
 9232   7976   
            .disable_s3_express_session_auth(true)
 9233   7977   
            .build()
 9234   7978   
            .expect("invalid params");
 9235   7979   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9236   7980   
        let endpoint = resolver.resolve_endpoint(&params);
 9237   7981   
        let endpoint =
 9238   7982   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--test1-az1--xa-s3.s3express-test1-az1.us-west-2.amazonaws.com");
 9239   7983   
        assert_eq!(
 9240   7984   
            endpoint,
 9241   7985   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9242   7986   
                .url("https://myaccesspoint--test1-az1--xa-s3.s3express-test1-az1.us-west-2.amazonaws.com")
 9243         -
                .property(
 9244         -
                    "authSchemes",
 9245         -
                    vec![{
 9246         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9247         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9248         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9249         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9250         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9251         -
                        out
 9252         -
                    }
 9253         -
                    .into()]
        7987  +
                .auth_scheme(
        7988  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7989  +
                        .put("disableDoubleEncoding", true)
        7990  +
                        .put("signingName", "s3express".to_string())
        7991  +
                        .put("signingRegion", "us-west-2".to_string())
 9254   7992   
                )
 9255   7993   
                .property("backend", "S3Express".to_string())
 9256   7994   
                .build()
 9257   7995   
        );
 9258   7996   
    }
 9259   7997   
 9260   7998   
    /// Data Plane sigv4 auth with medium zone(14 chars)
 9261   7999   
    #[test]
 9262   8000   
    fn test_315() {
 9263   8001   
        let params = crate::config::endpoint::Params::builder()
 9264   8002   
            .region("us-west-2".to_string())
 9265   8003   
            .bucket("mybucket--test1-zone-ab1--x-s3".to_string())
 9266   8004   
            .use_fips(false)
 9267   8005   
            .use_dual_stack(false)
 9268   8006   
            .accelerate(false)
 9269   8007   
            .use_s3_express_control_endpoint(false)
 9270   8008   
            .disable_s3_express_session_auth(true)
 9271   8009   
            .build()
 9272   8010   
            .expect("invalid params");
 9273   8011   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9274   8012   
        let endpoint = resolver.resolve_endpoint(&params);
 9275   8013   
        let endpoint =
 9276   8014   
            endpoint.expect("Expected valid endpoint: https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com");
 9277   8015   
        assert_eq!(
 9278   8016   
            endpoint,
 9279   8017   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9280   8018   
                .url("https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com")
 9281         -
                .property(
 9282         -
                    "authSchemes",
 9283         -
                    vec![{
 9284         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9285         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9286         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9287         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9288         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9289         -
                        out
 9290         -
                    }
 9291         -
                    .into()]
        8019  +
                .auth_scheme(
        8020  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8021  +
                        .put("disableDoubleEncoding", true)
        8022  +
                        .put("signingName", "s3express".to_string())
        8023  +
                        .put("signingRegion", "us-west-2".to_string())
 9292   8024   
                )
 9293   8025   
                .property("backend", "S3Express".to_string())
 9294   8026   
                .build()
 9295   8027   
        );
 9296   8028   
    }
 9297   8029   
 9298   8030   
    /// Data Plane sigv4 auth with medium zone(14 chars) with AP
 9299   8031   
    #[test]
 9300   8032   
    fn test_316() {
 9301   8033   
        let params = crate::config::endpoint::Params::builder()
 9302   8034   
            .region("us-west-2".to_string())
 9303   8035   
            .bucket("myaccesspoint--test1-zone-ab1--xa-s3".to_string())
 9304   8036   
            .use_fips(false)
 9305   8037   
            .use_dual_stack(false)
 9306   8038   
            .accelerate(false)
 9307   8039   
            .use_s3_express_control_endpoint(false)
 9308   8040   
            .disable_s3_express_session_auth(true)
 9309   8041   
            .build()
 9310   8042   
            .expect("invalid params");
 9311   8043   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9312   8044   
        let endpoint = resolver.resolve_endpoint(&params);
 9313   8045   
        let endpoint =
 9314   8046   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com");
 9315   8047   
        assert_eq!(
 9316   8048   
            endpoint,
 9317   8049   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9318   8050   
                .url("https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com")
 9319         -
                .property(
 9320         -
                    "authSchemes",
 9321         -
                    vec![{
 9322         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9323         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9324         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9325         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9326         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9327         -
                        out
 9328         -
                    }
 9329         -
                    .into()]
        8051  +
                .auth_scheme(
        8052  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8053  +
                        .put("disableDoubleEncoding", true)
        8054  +
                        .put("signingName", "s3express".to_string())
        8055  +
                        .put("signingRegion", "us-west-2".to_string())
 9330   8056   
                )
 9331   8057   
                .property("backend", "S3Express".to_string())
 9332   8058   
                .build()
 9333   8059   
        );
 9334   8060   
    }
 9335   8061   
 9336   8062   
    /// Data Plane sigv4 auth with long zone(20 chars)
 9337   8063   
    #[test]
 9338   8064   
    fn test_317() {
 9339   8065   
        let params = crate::config::endpoint::Params::builder()
 9340   8066   
            .region("us-west-2".to_string())
 9341   8067   
            .bucket("mybucket--test1-long1-zone-ab1--x-s3".to_string())
 9342   8068   
            .use_fips(false)
 9343   8069   
            .use_dual_stack(false)
 9344   8070   
            .accelerate(false)
 9345   8071   
            .use_s3_express_control_endpoint(false)
 9346   8072   
            .disable_s3_express_session_auth(true)
 9347   8073   
            .build()
 9348   8074   
            .expect("invalid params");
 9349   8075   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9350   8076   
        let endpoint = resolver.resolve_endpoint(&params);
 9351   8077   
        let endpoint = endpoint
 9352   8078   
            .expect("Expected valid endpoint: https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com");
 9353   8079   
        assert_eq!(
 9354   8080   
            endpoint,
 9355   8081   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9356   8082   
                .url("https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com")
 9357         -
                .property(
 9358         -
                    "authSchemes",
 9359         -
                    vec![{
 9360         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9361         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9362         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9363         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9364         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9365         -
                        out
 9366         -
                    }
 9367         -
                    .into()]
        8083  +
                .auth_scheme(
        8084  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8085  +
                        .put("disableDoubleEncoding", true)
        8086  +
                        .put("signingName", "s3express".to_string())
        8087  +
                        .put("signingRegion", "us-west-2".to_string())
 9368   8088   
                )
 9369   8089   
                .property("backend", "S3Express".to_string())
 9370   8090   
                .build()
 9371   8091   
        );
 9372   8092   
    }
 9373   8093   
 9374   8094   
    /// Data Plane sigv4 auth with long zone(20 chars) with AP
 9375   8095   
    #[test]
 9376   8096   
    fn test_318() {
 9377   8097   
        let params = crate::config::endpoint::Params::builder()
 9378   8098   
            .region("us-west-2".to_string())
 9379   8099   
            .bucket("myaccesspoint--test1-long1-zone-ab1--xa-s3".to_string())
 9380   8100   
            .use_fips(false)
 9381   8101   
            .use_dual_stack(false)
 9382   8102   
            .accelerate(false)
 9383   8103   
            .use_s3_express_control_endpoint(false)
 9384   8104   
            .disable_s3_express_session_auth(true)
 9385   8105   
            .build()
 9386   8106   
            .expect("invalid params");
 9387   8107   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9388   8108   
        let endpoint = resolver.resolve_endpoint(&params);
 9389   8109   
        let endpoint = endpoint.expect(
 9390   8110   
            "Expected valid endpoint: https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com",
 9391   8111   
        );
 9392   8112   
        assert_eq!(
 9393   8113   
            endpoint,
 9394   8114   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9395   8115   
                .url("https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com")
 9396         -
                .property(
 9397         -
                    "authSchemes",
 9398         -
                    vec![{
 9399         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9400         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9401         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9402         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9403         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9404         -
                        out
 9405         -
                    }
 9406         -
                    .into()]
        8116  +
                .auth_scheme(
        8117  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8118  +
                        .put("disableDoubleEncoding", true)
        8119  +
                        .put("signingName", "s3express".to_string())
        8120  +
                        .put("signingRegion", "us-west-2".to_string())
 9407   8121   
                )
 9408   8122   
                .property("backend", "S3Express".to_string())
 9409   8123   
                .build()
 9410   8124   
        );
 9411   8125   
    }
 9412   8126   
 9413   8127   
    /// Data Plane sigv4 auth with long AZ fips
 9414   8128   
    #[test]
 9415   8129   
    fn test_319() {
 9416   8130   
        let params = crate::config::endpoint::Params::builder()
 9417   8131   
            .region("us-west-2".to_string())
 9418   8132   
            .bucket("mybucket--test1-az1--x-s3".to_string())
 9419   8133   
            .use_fips(true)
 9420   8134   
            .use_dual_stack(false)
 9421   8135   
            .accelerate(false)
 9422   8136   
            .use_s3_express_control_endpoint(false)
 9423   8137   
            .disable_s3_express_session_auth(true)
 9424   8138   
            .build()
 9425   8139   
            .expect("invalid params");
 9426   8140   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9427   8141   
        let endpoint = resolver.resolve_endpoint(&params);
 9428   8142   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--test1-az1--x-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com");
 9429   8143   
        assert_eq!(
 9430   8144   
            endpoint,
 9431   8145   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9432   8146   
                .url("https://mybucket--test1-az1--x-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com")
 9433         -
                .property(
 9434         -
                    "authSchemes",
 9435         -
                    vec![{
 9436         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9437         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9438         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9439         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9440         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9441         -
                        out
 9442         -
                    }
 9443         -
                    .into()]
        8147  +
                .auth_scheme(
        8148  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8149  +
                        .put("disableDoubleEncoding", true)
        8150  +
                        .put("signingName", "s3express".to_string())
        8151  +
                        .put("signingRegion", "us-west-2".to_string())
 9444   8152   
                )
 9445   8153   
                .property("backend", "S3Express".to_string())
 9446   8154   
                .build()
 9447   8155   
        );
 9448   8156   
    }
 9449   8157   
 9450   8158   
    /// Data Plane sigv4 auth with long AZ fips with AP
 9451   8159   
    #[test]
 9452   8160   
    fn test_320() {
 9453   8161   
        let params = crate::config::endpoint::Params::builder()
 9454   8162   
            .region("us-west-2".to_string())
 9455   8163   
            .bucket("myaccesspoint--test1-az1--xa-s3".to_string())
 9456   8164   
            .use_fips(true)
 9457   8165   
            .use_dual_stack(false)
 9458   8166   
            .accelerate(false)
 9459   8167   
            .use_s3_express_control_endpoint(false)
 9460   8168   
            .disable_s3_express_session_auth(true)
 9461   8169   
            .build()
 9462   8170   
            .expect("invalid params");
 9463   8171   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9464   8172   
        let endpoint = resolver.resolve_endpoint(&params);
 9465   8173   
        let endpoint =
 9466   8174   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--test1-az1--xa-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com");
 9467   8175   
        assert_eq!(
 9468   8176   
            endpoint,
 9469   8177   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9470   8178   
                .url("https://myaccesspoint--test1-az1--xa-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com")
 9471         -
                .property(
 9472         -
                    "authSchemes",
 9473         -
                    vec![{
 9474         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9475         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9476         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9477         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9478         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9479         -
                        out
 9480         -
                    }
 9481         -
                    .into()]
        8179  +
                .auth_scheme(
        8180  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8181  +
                        .put("disableDoubleEncoding", true)
        8182  +
                        .put("signingName", "s3express".to_string())
        8183  +
                        .put("signingRegion", "us-west-2".to_string())
 9482   8184   
                )
 9483   8185   
                .property("backend", "S3Express".to_string())
 9484   8186   
                .build()
 9485   8187   
        );
 9486   8188   
    }
 9487   8189   
 9488   8190   
    /// Data Plane sigv4 auth with medium zone (14 chars) fips
 9489   8191   
    #[test]
 9490   8192   
    fn test_321() {
 9491   8193   
        let params = crate::config::endpoint::Params::builder()
 9492   8194   
            .region("us-west-2".to_string())
 9493   8195   
            .bucket("mybucket--test1-zone-ab1--x-s3".to_string())
 9494   8196   
            .use_fips(true)
 9495   8197   
            .use_dual_stack(false)
 9496   8198   
            .accelerate(false)
 9497   8199   
            .use_s3_express_control_endpoint(false)
 9498   8200   
            .disable_s3_express_session_auth(true)
 9499   8201   
            .build()
 9500   8202   
            .expect("invalid params");
 9501   8203   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9502   8204   
        let endpoint = resolver.resolve_endpoint(&params);
 9503   8205   
        let endpoint =
 9504   8206   
            endpoint.expect("Expected valid endpoint: https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com");
 9505   8207   
        assert_eq!(
 9506   8208   
            endpoint,
 9507   8209   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9508   8210   
                .url("https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com")
 9509         -
                .property(
 9510         -
                    "authSchemes",
 9511         -
                    vec![{
 9512         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9513         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9514         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9515         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9516         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9517         -
                        out
 9518         -
                    }
 9519         -
                    .into()]
        8211  +
                .auth_scheme(
        8212  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8213  +
                        .put("disableDoubleEncoding", true)
        8214  +
                        .put("signingName", "s3express".to_string())
        8215  +
                        .put("signingRegion", "us-west-2".to_string())
 9520   8216   
                )
 9521   8217   
                .property("backend", "S3Express".to_string())
 9522   8218   
                .build()
 9523   8219   
        );
 9524   8220   
    }
 9525   8221   
 9526   8222   
    /// Data Plane sigv4 auth with medium zone (14 chars) fips with AP
 9527   8223   
    #[test]
 9528   8224   
    fn test_322() {
 9529   8225   
        let params = crate::config::endpoint::Params::builder()
 9530   8226   
            .region("us-west-2".to_string())
 9531   8227   
            .bucket("myaccesspoint--test1-zone-ab1--xa-s3".to_string())
 9532   8228   
            .use_fips(true)
 9533   8229   
            .use_dual_stack(false)
 9534   8230   
            .accelerate(false)
 9535   8231   
            .use_s3_express_control_endpoint(false)
 9536   8232   
            .disable_s3_express_session_auth(true)
 9537   8233   
            .build()
 9538   8234   
            .expect("invalid params");
 9539   8235   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9540   8236   
        let endpoint = resolver.resolve_endpoint(&params);
 9541   8237   
        let endpoint = endpoint
 9542   8238   
            .expect("Expected valid endpoint: https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com");
 9543   8239   
        assert_eq!(
 9544   8240   
            endpoint,
 9545   8241   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9546   8242   
                .url("https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com")
 9547         -
                .property(
 9548         -
                    "authSchemes",
 9549         -
                    vec![{
 9550         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9551         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9552         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9553         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9554         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9555         -
                        out
 9556         -
                    }
 9557         -
                    .into()]
        8243  +
                .auth_scheme(
        8244  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8245  +
                        .put("disableDoubleEncoding", true)
        8246  +
                        .put("signingName", "s3express".to_string())
        8247  +
                        .put("signingRegion", "us-west-2".to_string())
 9558   8248   
                )
 9559   8249   
                .property("backend", "S3Express".to_string())
 9560   8250   
                .build()
 9561   8251   
        );
 9562   8252   
    }
 9563   8253   
 9564   8254   
    /// Data Plane sigv4 auth with long zone (20 chars) fips
 9565   8255   
    #[test]
 9566   8256   
    fn test_323() {
 9567   8257   
        let params = crate::config::endpoint::Params::builder()
 9568   8258   
            .region("us-west-2".to_string())
 9569   8259   
            .bucket("mybucket--test1-long1-zone-ab1--x-s3".to_string())
 9570   8260   
            .use_fips(true)
 9571   8261   
            .use_dual_stack(false)
 9572   8262   
            .accelerate(false)
 9573   8263   
            .use_s3_express_control_endpoint(false)
 9574   8264   
            .disable_s3_express_session_auth(true)
 9575   8265   
            .build()
 9576   8266   
            .expect("invalid params");
 9577   8267   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9578   8268   
        let endpoint = resolver.resolve_endpoint(&params);
 9579   8269   
        let endpoint = endpoint.expect(
 9580   8270   
            "Expected valid endpoint: https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com",
 9581   8271   
        );
 9582   8272   
        assert_eq!(
 9583   8273   
            endpoint,
 9584   8274   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9585   8275   
                .url("https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com")
 9586         -
                .property(
 9587         -
                    "authSchemes",
 9588         -
                    vec![{
 9589         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9590         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9591         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9592         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9593         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9594         -
                        out
 9595         -
                    }
 9596         -
                    .into()]
        8276  +
                .auth_scheme(
        8277  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8278  +
                        .put("disableDoubleEncoding", true)
        8279  +
                        .put("signingName", "s3express".to_string())
        8280  +
                        .put("signingRegion", "us-west-2".to_string())
 9597   8281   
                )
 9598   8282   
                .property("backend", "S3Express".to_string())
 9599   8283   
                .build()
 9600   8284   
        );
 9601   8285   
    }
 9602   8286   
 9603   8287   
    /// Data Plane sigv4 auth with long zone (20 chars) fips with AP
 9604   8288   
    #[test]
 9605   8289   
    fn test_324() {
 9606   8290   
        let params = crate::config::endpoint::Params::builder()
 9607   8291   
            .region("us-west-2".to_string())
 9608   8292   
            .bucket("myaccesspoint--test1-long1-zone-ab1--xa-s3".to_string())
 9609   8293   
            .use_fips(true)
 9610   8294   
            .use_dual_stack(false)
 9611   8295   
            .accelerate(false)
 9612   8296   
            .use_s3_express_control_endpoint(false)
 9613   8297   
            .disable_s3_express_session_auth(true)
 9614   8298   
            .build()
 9615   8299   
            .expect("invalid params");
 9616   8300   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9617   8301   
        let endpoint = resolver.resolve_endpoint(&params);
 9618   8302   
        let endpoint = endpoint.expect(
 9619   8303   
            "Expected valid endpoint: https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com",
 9620   8304   
        );
 9621   8305   
        assert_eq!(
 9622   8306   
            endpoint,
 9623   8307   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9624   8308   
                .url("https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com")
 9625         -
                .property(
 9626         -
                    "authSchemes",
 9627         -
                    vec![{
 9628         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9629         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9630         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9631         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9632         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9633         -
                        out
 9634         -
                    }
 9635         -
                    .into()]
        8309  +
                .auth_scheme(
        8310  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8311  +
                        .put("disableDoubleEncoding", true)
        8312  +
                        .put("signingName", "s3express".to_string())
        8313  +
                        .put("signingRegion", "us-west-2".to_string())
 9636   8314   
                )
 9637   8315   
                .property("backend", "S3Express".to_string())
 9638   8316   
                .build()
 9639   8317   
        );
 9640   8318   
    }
 9641   8319   
 9642   8320   
    /// Control Plane host override
 9643   8321   
    #[test]
 9644   8322   
    fn test_325() {
 9645   8323   
        let params = crate::config::endpoint::Params::builder()
 9646   8324   
            .region("us-west-2".to_string())
 9647   8325   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
 9648   8326   
            .use_fips(false)
 9649   8327   
            .use_dual_stack(false)
 9650   8328   
            .accelerate(false)
 9651   8329   
            .use_s3_express_control_endpoint(true)
 9652   8330   
            .disable_s3_express_session_auth(true)
 9653   8331   
            .endpoint("https://custom.com".to_string())
 9654   8332   
            .build()
 9655   8333   
            .expect("invalid params");
 9656   8334   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9657   8335   
        let endpoint = resolver.resolve_endpoint(&params);
 9658   8336   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.custom.com");
 9659   8337   
        assert_eq!(
 9660   8338   
            endpoint,
 9661   8339   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9662   8340   
                .url("https://mybucket--usw2-az1--x-s3.custom.com")
 9663         -
                .property(
 9664         -
                    "authSchemes",
 9665         -
                    vec![{
 9666         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9667         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9668         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9669         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9670         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9671         -
                        out
 9672         -
                    }
 9673         -
                    .into()]
        8341  +
                .auth_scheme(
        8342  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8343  +
                        .put("disableDoubleEncoding", true)
        8344  +
                        .put("signingName", "s3express".to_string())
        8345  +
                        .put("signingRegion", "us-west-2".to_string())
 9674   8346   
                )
 9675   8347   
                .property("backend", "S3Express".to_string())
 9676   8348   
                .build()
 9677   8349   
        );
 9678   8350   
    }
 9679   8351   
 9680   8352   
    /// Control Plane host override with AP
 9681   8353   
    #[test]
 9682   8354   
    fn test_326() {
 9683   8355   
        let params = crate::config::endpoint::Params::builder()
 9684   8356   
            .region("us-west-2".to_string())
 9685   8357   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
 9686   8358   
            .use_fips(false)
 9687   8359   
            .use_dual_stack(false)
 9688   8360   
            .accelerate(false)
 9689   8361   
            .use_s3_express_control_endpoint(true)
 9690   8362   
            .disable_s3_express_session_auth(true)
 9691   8363   
            .endpoint("https://custom.com".to_string())
 9692   8364   
            .build()
 9693   8365   
            .expect("invalid params");
 9694   8366   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9695   8367   
        let endpoint = resolver.resolve_endpoint(&params);
 9696   8368   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myaccesspoint--usw2-az1--xa-s3.custom.com");
 9697   8369   
        assert_eq!(
 9698   8370   
            endpoint,
 9699   8371   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9700   8372   
                .url("https://myaccesspoint--usw2-az1--xa-s3.custom.com")
 9701         -
                .property(
 9702         -
                    "authSchemes",
 9703         -
                    vec![{
 9704         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9705         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9706         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9707         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9708         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9709         -
                        out
 9710         -
                    }
 9711         -
                    .into()]
        8373  +
                .auth_scheme(
        8374  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8375  +
                        .put("disableDoubleEncoding", true)
        8376  +
                        .put("signingName", "s3express".to_string())
        8377  +
                        .put("signingRegion", "us-west-2".to_string())
 9712   8378   
                )
 9713   8379   
                .property("backend", "S3Express".to_string())
 9714   8380   
                .build()
 9715   8381   
        );
 9716   8382   
    }
 9717   8383   
 9718   8384   
    /// Control Plane host override no bucket
 9719   8385   
    #[test]
 9720   8386   
    fn test_327() {
 9721   8387   
        let params = crate::config::endpoint::Params::builder()
 9722   8388   
            .region("us-west-2".to_string())
 9723   8389   
            .use_fips(false)
 9724   8390   
            .use_dual_stack(false)
 9725   8391   
            .accelerate(false)
 9726   8392   
            .use_s3_express_control_endpoint(true)
 9727   8393   
            .disable_s3_express_session_auth(true)
 9728   8394   
            .endpoint("https://custom.com".to_string())
 9729   8395   
            .build()
 9730   8396   
            .expect("invalid params");
 9731   8397   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9732   8398   
        let endpoint = resolver.resolve_endpoint(&params);
 9733   8399   
        let endpoint = endpoint.expect("Expected valid endpoint: https://custom.com");
 9734   8400   
        assert_eq!(
 9735   8401   
            endpoint,
 9736   8402   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9737   8403   
                .url("https://custom.com")
 9738         -
                .property(
 9739         -
                    "authSchemes",
 9740         -
                    vec![{
 9741         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9742         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9743         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9744         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9745         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9746         -
                        out
 9747         -
                    }
 9748         -
                    .into()]
        8404  +
                .auth_scheme(
        8405  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8406  +
                        .put("disableDoubleEncoding", true)
        8407  +
                        .put("signingName", "s3express".to_string())
        8408  +
                        .put("signingRegion", "us-west-2".to_string())
 9749   8409   
                )
 9750   8410   
                .property("backend", "S3Express".to_string())
 9751   8411   
                .build()
 9752   8412   
        );
 9753   8413   
    }
 9754   8414   
 9755   8415   
    /// Data plane host override non virtual session auth
 9756   8416   
    #[test]
 9757   8417   
    fn test_328() {
 9758   8418   
        let params = crate::config::endpoint::Params::builder()
 9759   8419   
            .region("us-west-2".to_string())
 9760   8420   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
 9761   8421   
            .use_fips(false)
 9762   8422   
            .use_dual_stack(false)
 9763   8423   
            .accelerate(false)
 9764   8424   
            .endpoint("https://10.0.0.1".to_string())
 9765   8425   
            .build()
 9766   8426   
            .expect("invalid params");
 9767   8427   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9768   8428   
        let endpoint = resolver.resolve_endpoint(&params);
 9769   8429   
        let endpoint = endpoint.expect("Expected valid endpoint: https://10.0.0.1/mybucket--usw2-az1--x-s3");
 9770   8430   
        assert_eq!(
 9771   8431   
            endpoint,
 9772   8432   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9773   8433   
                .url("https://10.0.0.1/mybucket--usw2-az1--x-s3")
 9774         -
                .property(
 9775         -
                    "authSchemes",
 9776         -
                    vec![{
 9777         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9778         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 9779         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9780         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9781         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9782         -
                        out
 9783         -
                    }
 9784         -
                    .into()]
        8434  +
                .auth_scheme(
        8435  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        8436  +
                        .put("disableDoubleEncoding", true)
        8437  +
                        .put("signingName", "s3express".to_string())
        8438  +
                        .put("signingRegion", "us-west-2".to_string())
 9785   8439   
                )
 9786   8440   
                .property("backend", "S3Express".to_string())
 9787   8441   
                .build()
 9788   8442   
        );
 9789   8443   
    }
 9790   8444   
 9791   8445   
    /// Data plane host override non virtual session auth with AP
 9792   8446   
    #[test]
 9793   8447   
    fn test_329() {
 9794   8448   
        let params = crate::config::endpoint::Params::builder()
 9795   8449   
            .region("us-west-2".to_string())
 9796   8450   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
 9797   8451   
            .use_fips(false)
 9798   8452   
            .use_dual_stack(false)
 9799   8453   
            .accelerate(false)
 9800   8454   
            .endpoint("https://10.0.0.1".to_string())
 9801   8455   
            .build()
 9802   8456   
            .expect("invalid params");
 9803   8457   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9804   8458   
        let endpoint = resolver.resolve_endpoint(&params);
 9805   8459   
        let endpoint = endpoint.expect("Expected valid endpoint: https://10.0.0.1/myaccesspoint--usw2-az1--xa-s3");
 9806   8460   
        assert_eq!(
 9807   8461   
            endpoint,
 9808   8462   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9809   8463   
                .url("https://10.0.0.1/myaccesspoint--usw2-az1--xa-s3")
 9810         -
                .property(
 9811         -
                    "authSchemes",
 9812         -
                    vec![{
 9813         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9814         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 9815         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9816         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9817         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9818         -
                        out
 9819         -
                    }
 9820         -
                    .into()]
        8464  +
                .auth_scheme(
        8465  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        8466  +
                        .put("disableDoubleEncoding", true)
        8467  +
                        .put("signingName", "s3express".to_string())
        8468  +
                        .put("signingRegion", "us-west-2".to_string())
 9821   8469   
                )
 9822   8470   
                .property("backend", "S3Express".to_string())
 9823   8471   
                .build()
 9824   8472   
        );
 9825   8473   
    }
 9826   8474   
 9827   8475   
    /// Control Plane host override ip
 9828   8476   
    #[test]
 9829   8477   
    fn test_330() {
 9830   8478   
        let params = crate::config::endpoint::Params::builder()
 9831   8479   
            .region("us-west-2".to_string())
 9832   8480   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
 9833   8481   
            .use_fips(false)
 9834   8482   
            .use_dual_stack(false)
 9835   8483   
            .accelerate(false)
 9836   8484   
            .use_s3_express_control_endpoint(true)
 9837   8485   
            .disable_s3_express_session_auth(true)
 9838   8486   
            .endpoint("https://10.0.0.1".to_string())
 9839   8487   
            .build()
 9840   8488   
            .expect("invalid params");
 9841   8489   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9842   8490   
        let endpoint = resolver.resolve_endpoint(&params);
 9843   8491   
        let endpoint = endpoint.expect("Expected valid endpoint: https://10.0.0.1/mybucket--usw2-az1--x-s3");
 9844   8492   
        assert_eq!(
 9845   8493   
            endpoint,
 9846   8494   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9847   8495   
                .url("https://10.0.0.1/mybucket--usw2-az1--x-s3")
 9848         -
                .property(
 9849         -
                    "authSchemes",
 9850         -
                    vec![{
 9851         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9852         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9853         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9854         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9855         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9856         -
                        out
 9857         -
                    }
 9858         -
                    .into()]
        8496  +
                .auth_scheme(
        8497  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8498  +
                        .put("disableDoubleEncoding", true)
        8499  +
                        .put("signingName", "s3express".to_string())
        8500  +
                        .put("signingRegion", "us-west-2".to_string())
 9859   8501   
                )
 9860   8502   
                .property("backend", "S3Express".to_string())
 9861   8503   
                .build()
 9862   8504   
        );
 9863   8505   
    }
 9864   8506   
 9865   8507   
    /// Control Plane host override ip with AP
 9866   8508   
    #[test]
 9867   8509   
    fn test_331() {
 9868   8510   
        let params = crate::config::endpoint::Params::builder()
 9869   8511   
            .region("us-west-2".to_string())
 9870   8512   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
 9871   8513   
            .use_fips(false)
 9872   8514   
            .use_dual_stack(false)
 9873   8515   
            .accelerate(false)
 9874   8516   
            .use_s3_express_control_endpoint(true)
 9875   8517   
            .disable_s3_express_session_auth(true)
 9876   8518   
            .endpoint("https://10.0.0.1".to_string())
 9877   8519   
            .build()
 9878   8520   
            .expect("invalid params");
 9879   8521   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9880   8522   
        let endpoint = resolver.resolve_endpoint(&params);
 9881   8523   
        let endpoint = endpoint.expect("Expected valid endpoint: https://10.0.0.1/myaccesspoint--usw2-az1--xa-s3");
 9882   8524   
        assert_eq!(
 9883   8525   
            endpoint,
 9884   8526   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9885   8527   
                .url("https://10.0.0.1/myaccesspoint--usw2-az1--xa-s3")
 9886         -
                .property(
 9887         -
                    "authSchemes",
 9888         -
                    vec![{
 9889         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9890         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9891         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9892         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9893         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9894         -
                        out
 9895         -
                    }
 9896         -
                    .into()]
        8528  +
                .auth_scheme(
        8529  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8530  +
                        .put("disableDoubleEncoding", true)
        8531  +
                        .put("signingName", "s3express".to_string())
        8532  +
                        .put("signingRegion", "us-west-2".to_string())
 9897   8533   
                )
 9898   8534   
                .property("backend", "S3Express".to_string())
 9899   8535   
                .build()
 9900   8536   
        );
 9901   8537   
    }
 9902   8538   
 9903   8539   
    /// Data plane host override
 9904   8540   
    #[test]
 9905   8541   
    fn test_332() {
 9906   8542   
        let params = crate::config::endpoint::Params::builder()
 9907   8543   
            .region("us-west-2".to_string())
 9908   8544   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
 9909   8545   
            .use_fips(false)
 9910   8546   
            .use_dual_stack(false)
 9911   8547   
            .accelerate(false)
 9912   8548   
            .endpoint("https://custom.com".to_string())
 9913   8549   
            .build()
 9914   8550   
            .expect("invalid params");
 9915   8551   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9916   8552   
        let endpoint = resolver.resolve_endpoint(&params);
 9917   8553   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.custom.com");
 9918   8554   
        assert_eq!(
 9919   8555   
            endpoint,
 9920   8556   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9921   8557   
                .url("https://mybucket--usw2-az1--x-s3.custom.com")
 9922         -
                .property(
 9923         -
                    "authSchemes",
 9924         -
                    vec![{
 9925         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9926         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 9927         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9928         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9929         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9930         -
                        out
 9931         -
                    }
 9932         -
                    .into()]
        8558  +
                .auth_scheme(
        8559  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        8560  +
                        .put("disableDoubleEncoding", true)
        8561  +
                        .put("signingName", "s3express".to_string())
        8562  +
                        .put("signingRegion", "us-west-2".to_string())
 9933   8563   
                )
 9934   8564   
                .property("backend", "S3Express".to_string())
 9935   8565   
                .build()
 9936   8566   
        );
 9937   8567   
    }
 9938   8568   
 9939   8569   
    /// Data plane host override with AP
 9940   8570   
    #[test]
 9941   8571   
    fn test_333() {
 9942   8572   
        let params = crate::config::endpoint::Params::builder()
 9943   8573   
            .region("us-west-2".to_string())
 9944   8574   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
 9945   8575   
            .use_fips(false)
 9946   8576   
            .use_dual_stack(false)
 9947   8577   
            .accelerate(false)
 9948   8578   
            .endpoint("https://custom.com".to_string())
 9949   8579   
            .build()
 9950   8580   
            .expect("invalid params");
 9951   8581   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9952   8582   
        let endpoint = resolver.resolve_endpoint(&params);
 9953   8583   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myaccesspoint--usw2-az1--xa-s3.custom.com");
 9954   8584   
        assert_eq!(
 9955   8585   
            endpoint,
 9956   8586   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9957   8587   
                .url("https://myaccesspoint--usw2-az1--xa-s3.custom.com")
 9958         -
                .property(
 9959         -
                    "authSchemes",
 9960         -
                    vec![{
 9961         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9962         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 9963         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9964         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9965         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9966         -
                        out
 9967         -
                    }
 9968         -
                    .into()]
        8588  +
                .auth_scheme(
        8589  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        8590  +
                        .put("disableDoubleEncoding", true)
        8591  +
                        .put("signingName", "s3express".to_string())
        8592  +
                        .put("signingRegion", "us-west-2".to_string())
 9969   8593   
                )
 9970   8594   
                .property("backend", "S3Express".to_string())
 9971   8595   
                .build()
 9972   8596   
        );
 9973   8597   
    }
 9974   8598   
 9975   8599   
    /// bad format error
 9976   8600   
    #[test]
 9977   8601   
    fn test_334() {
 9978   8602   
        let params = crate::config::endpoint::Params::builder()
@@ -10191,8815 +15378,14195 @@
10211   8835   
            .disable_s3_express_session_auth(false)
10212   8836   
            .build()
10213   8837   
            .expect("invalid params");
10214   8838   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10215   8839   
        let endpoint = resolver.resolve_endpoint(&params);
10216   8840   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control.dualstack.us-east-1.amazonaws.com");
10217   8841   
        assert_eq!(
10218   8842   
            endpoint,
10219   8843   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10220   8844   
                .url("https://s3express-control.dualstack.us-east-1.amazonaws.com")
10221         -
                .property(
10222         -
                    "authSchemes",
10223         -
                    vec![{
10224         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10225         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10226         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10227         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
10228         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10229         -
                        out
10230         -
                    }
10231         -
                    .into()]
        8845  +
                .auth_scheme(
        8846  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8847  +
                        .put("disableDoubleEncoding", true)
        8848  +
                        .put("signingName", "s3express".to_string())
        8849  +
                        .put("signingRegion", "us-east-1".to_string())
10232   8850   
                )
10233   8851   
                .property("backend", "S3Express".to_string())
10234   8852   
                .build()
10235   8853   
        );
10236   8854   
    }
10237   8855   
10238   8856   
    /// Control plane without bucket, fips and dualstack
10239   8857   
    #[test]
10240   8858   
    fn test_347() {
10241   8859   
        let params = crate::config::endpoint::Params::builder()
10242   8860   
            .region("us-east-1".to_string())
10243   8861   
            .use_fips(true)
10244   8862   
            .use_dual_stack(true)
10245   8863   
            .accelerate(false)
10246   8864   
            .use_s3_express_control_endpoint(true)
10247   8865   
            .disable_s3_express_session_auth(false)
10248   8866   
            .build()
10249   8867   
            .expect("invalid params");
10250   8868   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10251   8869   
        let endpoint = resolver.resolve_endpoint(&params);
10252   8870   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control-fips.dualstack.us-east-1.amazonaws.com");
10253   8871   
        assert_eq!(
10254   8872   
            endpoint,
10255   8873   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10256   8874   
                .url("https://s3express-control-fips.dualstack.us-east-1.amazonaws.com")
10257         -
                .property(
10258         -
                    "authSchemes",
10259         -
                    vec![{
10260         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10261         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10262         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10263         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
10264         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10265         -
                        out
10266         -
                    }
10267         -
                    .into()]
        8875  +
                .auth_scheme(
        8876  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8877  +
                        .put("disableDoubleEncoding", true)
        8878  +
                        .put("signingName", "s3express".to_string())
        8879  +
                        .put("signingRegion", "us-east-1".to_string())
10268   8880   
                )
10269   8881   
                .property("backend", "S3Express".to_string())
10270   8882   
                .build()
10271   8883   
        );
10272   8884   
    }
10273   8885   
10274   8886   
    /// Data Plane with short AZ and dualstack
10275   8887   
    #[test]
10276   8888   
    fn test_348() {
10277   8889   
        let params = crate::config::endpoint::Params::builder()
10278   8890   
            .region("us-west-2".to_string())
10279   8891   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
10280   8892   
            .use_fips(false)
10281   8893   
            .use_dual_stack(true)
10282   8894   
            .accelerate(false)
10283   8895   
            .use_s3_express_control_endpoint(false)
10284   8896   
            .build()
10285   8897   
            .expect("invalid params");
10286   8898   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10287   8899   
        let endpoint = resolver.resolve_endpoint(&params);
10288   8900   
        let endpoint =
10289   8901   
            endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.s3express-usw2-az1.dualstack.us-west-2.amazonaws.com");
10290   8902   
        assert_eq!(
10291   8903   
            endpoint,
10292   8904   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10293   8905   
                .url("https://mybucket--usw2-az1--x-s3.s3express-usw2-az1.dualstack.us-west-2.amazonaws.com")
10294         -
                .property(
10295         -
                    "authSchemes",
10296         -
                    vec![{
10297         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10298         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10299         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10300         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10301         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10302         -
                        out
10303         -
                    }
10304         -
                    .into()]
        8906  +
                .auth_scheme(
        8907  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        8908  +
                        .put("disableDoubleEncoding", true)
        8909  +
                        .put("signingName", "s3express".to_string())
        8910  +
                        .put("signingRegion", "us-west-2".to_string())
10305   8911   
                )
10306   8912   
                .property("backend", "S3Express".to_string())
10307   8913   
                .build()
10308   8914   
        );
10309   8915   
    }
10310   8916   
10311   8917   
    /// Data Plane with short AZ and FIPS with dualstack
10312   8918   
    #[test]
10313   8919   
    fn test_349() {
10314   8920   
        let params = crate::config::endpoint::Params::builder()
10315   8921   
            .region("us-west-2".to_string())
10316   8922   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
10317   8923   
            .use_fips(true)
10318   8924   
            .use_dual_stack(true)
10319   8925   
            .accelerate(false)
10320   8926   
            .use_s3_express_control_endpoint(false)
10321   8927   
            .build()
10322   8928   
            .expect("invalid params");
10323   8929   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10324   8930   
        let endpoint = resolver.resolve_endpoint(&params);
10325   8931   
        let endpoint =
10326   8932   
            endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.s3express-fips-usw2-az1.dualstack.us-west-2.amazonaws.com");
10327   8933   
        assert_eq!(
10328   8934   
            endpoint,
10329   8935   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10330   8936   
                .url("https://mybucket--usw2-az1--x-s3.s3express-fips-usw2-az1.dualstack.us-west-2.amazonaws.com")
10331         -
                .property(
10332         -
                    "authSchemes",
10333         -
                    vec![{
10334         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10335         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10336         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10337         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10338         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10339         -
                        out
10340         -
                    }
10341         -
                    .into()]
        8937  +
                .auth_scheme(
        8938  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        8939  +
                        .put("disableDoubleEncoding", true)
        8940  +
                        .put("signingName", "s3express".to_string())
        8941  +
                        .put("signingRegion", "us-west-2".to_string())
10342   8942   
                )
10343   8943   
                .property("backend", "S3Express".to_string())
10344   8944   
                .build()
10345   8945   
        );
10346   8946   
    }
10347   8947   
10348   8948   
    /// Data Plane sigv4 auth with short AZ and dualstack
10349   8949   
    #[test]
10350   8950   
    fn test_350() {
10351   8951   
        let params = crate::config::endpoint::Params::builder()
10352   8952   
            .region("us-west-2".to_string())
10353   8953   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
10354   8954   
            .use_fips(false)
10355   8955   
            .use_dual_stack(true)
10356   8956   
            .accelerate(false)
10357   8957   
            .disable_s3_express_session_auth(true)
10358   8958   
            .build()
10359   8959   
            .expect("invalid params");
10360   8960   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10361   8961   
        let endpoint = resolver.resolve_endpoint(&params);
10362   8962   
        let endpoint =
10363   8963   
            endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.s3express-usw2-az1.dualstack.us-west-2.amazonaws.com");
10364   8964   
        assert_eq!(
10365   8965   
            endpoint,
10366   8966   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10367   8967   
                .url("https://mybucket--usw2-az1--x-s3.s3express-usw2-az1.dualstack.us-west-2.amazonaws.com")
10368         -
                .property(
10369         -
                    "authSchemes",
10370         -
                    vec![{
10371         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10372         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10373         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10374         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10375         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10376         -
                        out
10377         -
                    }
10378         -
                    .into()]
        8968  +
                .auth_scheme(
        8969  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8970  +
                        .put("disableDoubleEncoding", true)
        8971  +
                        .put("signingName", "s3express".to_string())
        8972  +
                        .put("signingRegion", "us-west-2".to_string())
10379   8973   
                )
10380   8974   
                .property("backend", "S3Express".to_string())
10381   8975   
                .build()
10382   8976   
        );
10383   8977   
    }
10384   8978   
10385   8979   
    /// Data Plane sigv4 auth with short AZ and FIPS with dualstack
10386   8980   
    #[test]
10387   8981   
    fn test_351() {
10388   8982   
        let params = crate::config::endpoint::Params::builder()
10389   8983   
            .region("us-west-2".to_string())
10390   8984   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
10391   8985   
            .use_fips(true)
10392   8986   
            .use_dual_stack(true)
10393   8987   
            .accelerate(false)
10394   8988   
            .disable_s3_express_session_auth(true)
10395   8989   
            .build()
10396   8990   
            .expect("invalid params");
10397   8991   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10398   8992   
        let endpoint = resolver.resolve_endpoint(&params);
10399   8993   
        let endpoint =
10400   8994   
            endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.s3express-fips-usw2-az1.dualstack.us-west-2.amazonaws.com");
10401   8995   
        assert_eq!(
10402   8996   
            endpoint,
10403   8997   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10404   8998   
                .url("https://mybucket--usw2-az1--x-s3.s3express-fips-usw2-az1.dualstack.us-west-2.amazonaws.com")
10405         -
                .property(
10406         -
                    "authSchemes",
10407         -
                    vec![{
10408         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10409         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10410         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10411         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10412         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10413         -
                        out
10414         -
                    }
10415         -
                    .into()]
        8999  +
                .auth_scheme(
        9000  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9001  +
                        .put("disableDoubleEncoding", true)
        9002  +
                        .put("signingName", "s3express".to_string())
        9003  +
                        .put("signingRegion", "us-west-2".to_string())
10416   9004   
                )
10417   9005   
                .property("backend", "S3Express".to_string())
10418   9006   
                .build()
10419   9007   
        );
10420   9008   
    }
10421   9009   
10422   9010   
    /// Data Plane with zone and dualstack
10423   9011   
    #[test]
10424   9012   
    fn test_352() {
10425   9013   
        let params = crate::config::endpoint::Params::builder()
10426   9014   
            .region("us-west-2".to_string())
10427   9015   
            .bucket("mybucket--usw2-az12--x-s3".to_string())
10428   9016   
            .use_fips(false)
10429   9017   
            .use_dual_stack(true)
10430   9018   
            .accelerate(false)
10431   9019   
            .use_s3_express_control_endpoint(false)
10432   9020   
            .build()
10433   9021   
            .expect("invalid params");
10434   9022   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10435   9023   
        let endpoint = resolver.resolve_endpoint(&params);
10436   9024   
        let endpoint =
10437   9025   
            endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az12--x-s3.s3express-usw2-az12.dualstack.us-west-2.amazonaws.com");
10438   9026   
        assert_eq!(
10439   9027   
            endpoint,
10440   9028   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10441   9029   
                .url("https://mybucket--usw2-az12--x-s3.s3express-usw2-az12.dualstack.us-west-2.amazonaws.com")
10442         -
                .property(
10443         -
                    "authSchemes",
10444         -
                    vec![{
10445         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10446         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10447         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10448         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10449         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10450         -
                        out
10451         -
                    }
10452         -
                    .into()]
        9030  +
                .auth_scheme(
        9031  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9032  +
                        .put("disableDoubleEncoding", true)
        9033  +
                        .put("signingName", "s3express".to_string())
        9034  +
                        .put("signingRegion", "us-west-2".to_string())
10453   9035   
                )
10454   9036   
                .property("backend", "S3Express".to_string())
10455   9037   
                .build()
10456   9038   
        );
10457   9039   
    }
10458   9040   
10459   9041   
    /// Data Plane with zone and FIPS with dualstack
10460   9042   
    #[test]
10461   9043   
    fn test_353() {
10462   9044   
        let params = crate::config::endpoint::Params::builder()
10463   9045   
            .region("us-west-2".to_string())
10464   9046   
            .bucket("mybucket--usw2-az12--x-s3".to_string())
10465   9047   
            .use_fips(true)
10466   9048   
            .use_dual_stack(true)
10467   9049   
            .accelerate(false)
10468   9050   
            .use_s3_express_control_endpoint(false)
10469   9051   
            .build()
10470   9052   
            .expect("invalid params");
10471   9053   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10472   9054   
        let endpoint = resolver.resolve_endpoint(&params);
10473   9055   
        let endpoint =
10474   9056   
            endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az12--x-s3.s3express-fips-usw2-az12.dualstack.us-west-2.amazonaws.com");
10475   9057   
        assert_eq!(
10476   9058   
            endpoint,
10477   9059   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10478   9060   
                .url("https://mybucket--usw2-az12--x-s3.s3express-fips-usw2-az12.dualstack.us-west-2.amazonaws.com")
10479         -
                .property(
10480         -
                    "authSchemes",
10481         -
                    vec![{
10482         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10483         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10484         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10485         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10486         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10487         -
                        out
10488         -
                    }
10489         -
                    .into()]
        9061  +
                .auth_scheme(
        9062  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9063  +
                        .put("disableDoubleEncoding", true)
        9064  +
                        .put("signingName", "s3express".to_string())
        9065  +
                        .put("signingRegion", "us-west-2".to_string())
10490   9066   
                )
10491   9067   
                .property("backend", "S3Express".to_string())
10492   9068   
                .build()
10493   9069   
        );
10494   9070   
    }
10495   9071   
10496   9072   
    /// Data Plane sigv4 auth with zone and dualstack
10497   9073   
    #[test]
10498   9074   
    fn test_354() {
10499   9075   
        let params = crate::config::endpoint::Params::builder()
10500   9076   
            .region("us-west-2".to_string())
10501   9077   
            .bucket("mybucket--usw2-az12--x-s3".to_string())
10502   9078   
            .use_fips(false)
10503   9079   
            .use_dual_stack(true)
10504   9080   
            .accelerate(false)
10505   9081   
            .disable_s3_express_session_auth(true)
10506   9082   
            .build()
10507   9083   
            .expect("invalid params");
10508   9084   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10509   9085   
        let endpoint = resolver.resolve_endpoint(&params);
10510   9086   
        let endpoint =
10511   9087   
            endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az12--x-s3.s3express-usw2-az12.dualstack.us-west-2.amazonaws.com");
10512   9088   
        assert_eq!(
10513   9089   
            endpoint,
10514   9090   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10515   9091   
                .url("https://mybucket--usw2-az12--x-s3.s3express-usw2-az12.dualstack.us-west-2.amazonaws.com")
10516         -
                .property(
10517         -
                    "authSchemes",
10518         -
                    vec![{
10519         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10520         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10521         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10522         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10523         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10524         -
                        out
10525         -
                    }
10526         -
                    .into()]
        9092  +
                .auth_scheme(
        9093  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9094  +
                        .put("disableDoubleEncoding", true)
        9095  +
                        .put("signingName", "s3express".to_string())
        9096  +
                        .put("signingRegion", "us-west-2".to_string())
10527   9097   
                )
10528   9098   
                .property("backend", "S3Express".to_string())
10529   9099   
                .build()
10530   9100   
        );
10531   9101   
    }
10532   9102   
10533   9103   
    /// Data Plane sigv4 auth with 9-char zone and FIPS with dualstack
10534   9104   
    #[test]
10535   9105   
    fn test_355() {
10536   9106   
        let params = crate::config::endpoint::Params::builder()
10537   9107   
            .region("us-west-2".to_string())
10538   9108   
            .bucket("mybucket--usw2-az12--x-s3".to_string())
10539   9109   
            .use_fips(true)
10540   9110   
            .use_dual_stack(true)
10541   9111   
            .accelerate(false)
10542   9112   
            .disable_s3_express_session_auth(true)
10543   9113   
            .build()
10544   9114   
            .expect("invalid params");
10545   9115   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10546   9116   
        let endpoint = resolver.resolve_endpoint(&params);
10547   9117   
        let endpoint =
10548   9118   
            endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az12--x-s3.s3express-fips-usw2-az12.dualstack.us-west-2.amazonaws.com");
10549   9119   
        assert_eq!(
10550   9120   
            endpoint,
10551   9121   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10552   9122   
                .url("https://mybucket--usw2-az12--x-s3.s3express-fips-usw2-az12.dualstack.us-west-2.amazonaws.com")
10553         -
                .property(
10554         -
                    "authSchemes",
10555         -
                    vec![{
10556         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10557         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10558         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10559         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10560         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10561         -
                        out
10562         -
                    }
10563         -
                    .into()]
        9123  +
                .auth_scheme(
        9124  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9125  +
                        .put("disableDoubleEncoding", true)
        9126  +
                        .put("signingName", "s3express".to_string())
        9127  +
                        .put("signingRegion", "us-west-2".to_string())
10564   9128   
                )
10565   9129   
                .property("backend", "S3Express".to_string())
10566   9130   
                .build()
10567   9131   
        );
10568   9132   
    }
10569   9133   
10570   9134   
    /// Data Plane with 13-char zone and dualstack
10571   9135   
    #[test]
10572   9136   
    fn test_356() {
10573   9137   
        let params = crate::config::endpoint::Params::builder()
10574   9138   
            .region("us-west-2".to_string())
10575   9139   
            .bucket("mybucket--test-zone-ab1--x-s3".to_string())
10576   9140   
            .use_fips(false)
10577   9141   
            .use_dual_stack(true)
10578   9142   
            .accelerate(false)
10579   9143   
            .use_s3_express_control_endpoint(false)
10580   9144   
            .build()
10581   9145   
            .expect("invalid params");
10582   9146   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10583   9147   
        let endpoint = resolver.resolve_endpoint(&params);
10584   9148   
        let endpoint = endpoint
10585   9149   
            .expect("Expected valid endpoint: https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.dualstack.us-west-2.amazonaws.com");
10586   9150   
        assert_eq!(
10587   9151   
            endpoint,
10588   9152   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10589   9153   
                .url("https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.dualstack.us-west-2.amazonaws.com")
10590         -
                .property(
10591         -
                    "authSchemes",
10592         -
                    vec![{
10593         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10594         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10595         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10596         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10597         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10598         -
                        out
10599         -
                    }
10600         -
                    .into()]
        9154  +
                .auth_scheme(
        9155  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9156  +
                        .put("disableDoubleEncoding", true)
        9157  +
                        .put("signingName", "s3express".to_string())
        9158  +
                        .put("signingRegion", "us-west-2".to_string())
10601   9159   
                )
10602   9160   
                .property("backend", "S3Express".to_string())
10603   9161   
                .build()
10604   9162   
        );
10605   9163   
    }
10606   9164   
10607   9165   
    /// Data Plane with 13-char zone and FIPS with dualstack
10608   9166   
    #[test]
10609   9167   
    fn test_357() {
10610   9168   
        let params = crate::config::endpoint::Params::builder()
10611   9169   
            .region("us-west-2".to_string())
10612   9170   
            .bucket("mybucket--test-zone-ab1--x-s3".to_string())
10613   9171   
            .use_fips(true)
10614   9172   
            .use_dual_stack(true)
10615   9173   
            .accelerate(false)
10616   9174   
            .use_s3_express_control_endpoint(false)
10617   9175   
            .build()
10618   9176   
            .expect("invalid params");
10619   9177   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10620   9178   
        let endpoint = resolver.resolve_endpoint(&params);
10621   9179   
        let endpoint = endpoint
10622   9180   
            .expect("Expected valid endpoint: https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.dualstack.us-west-2.amazonaws.com");
10623   9181   
        assert_eq!(
10624   9182   
            endpoint,
10625   9183   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10626   9184   
                .url("https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.dualstack.us-west-2.amazonaws.com")
10627         -
                .property(
10628         -
                    "authSchemes",
10629         -
                    vec![{
10630         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10631         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10632         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10633         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10634         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10635         -
                        out
10636         -
                    }
10637         -
                    .into()]
        9185  +
                .auth_scheme(
        9186  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9187  +
                        .put("disableDoubleEncoding", true)
        9188  +
                        .put("signingName", "s3express".to_string())
        9189  +
                        .put("signingRegion", "us-west-2".to_string())
10638   9190   
                )
10639   9191   
                .property("backend", "S3Express".to_string())
10640   9192   
                .build()
10641   9193   
        );
10642   9194   
    }
10643   9195   
10644   9196   
    /// Data Plane sigv4 auth with 13-char zone and dualstack
10645   9197   
    #[test]
10646   9198   
    fn test_358() {
10647   9199   
        let params = crate::config::endpoint::Params::builder()
10648   9200   
            .region("us-west-2".to_string())
10649   9201   
            .bucket("mybucket--test-zone-ab1--x-s3".to_string())
10650   9202   
            .use_fips(false)
10651   9203   
            .use_dual_stack(true)
10652   9204   
            .accelerate(false)
10653   9205   
            .disable_s3_express_session_auth(true)
10654   9206   
            .build()
10655   9207   
            .expect("invalid params");
10656   9208   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10657   9209   
        let endpoint = resolver.resolve_endpoint(&params);
10658   9210   
        let endpoint = endpoint
10659   9211   
            .expect("Expected valid endpoint: https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.dualstack.us-west-2.amazonaws.com");
10660   9212   
        assert_eq!(
10661   9213   
            endpoint,
10662   9214   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10663   9215   
                .url("https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.dualstack.us-west-2.amazonaws.com")
10664         -
                .property(
10665         -
                    "authSchemes",
10666         -
                    vec![{
10667         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10668         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10669         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10670         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10671         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10672         -
                        out
10673         -
                    }
10674         -
                    .into()]
        9216  +
                .auth_scheme(
        9217  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9218  +
                        .put("disableDoubleEncoding", true)
        9219  +
                        .put("signingName", "s3express".to_string())
        9220  +
                        .put("signingRegion", "us-west-2".to_string())
10675   9221   
                )
10676   9222   
                .property("backend", "S3Express".to_string())
10677   9223   
                .build()
10678   9224   
        );
10679   9225   
    }
10680   9226   
10681   9227   
    /// Data Plane sigv4 auth with 13-char zone and FIPS with dualstack
10682   9228   
    #[test]
10683   9229   
    fn test_359() {
10684   9230   
        let params = crate::config::endpoint::Params::builder()
10685   9231   
            .region("us-west-2".to_string())
10686   9232   
            .bucket("mybucket--test-zone-ab1--x-s3".to_string())
10687   9233   
            .use_fips(true)
10688   9234   
            .use_dual_stack(true)
10689   9235   
            .accelerate(false)
10690   9236   
            .disable_s3_express_session_auth(true)
10691   9237   
            .build()
10692   9238   
            .expect("invalid params");
10693   9239   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10694   9240   
        let endpoint = resolver.resolve_endpoint(&params);
10695   9241   
        let endpoint = endpoint
10696   9242   
            .expect("Expected valid endpoint: https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.dualstack.us-west-2.amazonaws.com");
10697   9243   
        assert_eq!(
10698   9244   
            endpoint,
10699   9245   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10700   9246   
                .url("https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.dualstack.us-west-2.amazonaws.com")
10701         -
                .property(
10702         -
                    "authSchemes",
10703         -
                    vec![{
10704         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10705         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10706         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10707         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10708         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10709         -
                        out
10710         -
                    }
10711         -
                    .into()]
        9247  +
                .auth_scheme(
        9248  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9249  +
                        .put("disableDoubleEncoding", true)
        9250  +
                        .put("signingName", "s3express".to_string())
        9251  +
                        .put("signingRegion", "us-west-2".to_string())
10712   9252   
                )
10713   9253   
                .property("backend", "S3Express".to_string())
10714   9254   
                .build()
10715   9255   
        );
10716   9256   
    }
10717   9257   
10718   9258   
    /// Data Plane with 14-char zone and dualstack
10719   9259   
    #[test]
10720   9260   
    fn test_360() {
10721   9261   
        let params = crate::config::endpoint::Params::builder()
10722   9262   
            .region("us-west-2".to_string())
10723   9263   
            .bucket("mybucket--test1-zone-ab1--x-s3".to_string())
10724   9264   
            .use_fips(false)
10725   9265   
            .use_dual_stack(true)
10726   9266   
            .accelerate(false)
10727   9267   
            .use_s3_express_control_endpoint(false)
10728   9268   
            .build()
10729   9269   
            .expect("invalid params");
10730   9270   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10731   9271   
        let endpoint = resolver.resolve_endpoint(&params);
10732   9272   
        let endpoint = endpoint
10733   9273   
            .expect("Expected valid endpoint: https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.dualstack.us-west-2.amazonaws.com");
10734   9274   
        assert_eq!(
10735   9275   
            endpoint,
10736   9276   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10737   9277   
                .url("https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.dualstack.us-west-2.amazonaws.com")
10738         -
                .property(
10739         -
                    "authSchemes",
10740         -
                    vec![{
10741         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10742         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10743         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10744         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10745         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10746         -
                        out
10747         -
                    }
10748         -
                    .into()]
        9278  +
                .auth_scheme(
        9279  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9280  +
                        .put("disableDoubleEncoding", true)
        9281  +
                        .put("signingName", "s3express".to_string())
        9282  +
                        .put("signingRegion", "us-west-2".to_string())
10749   9283   
                )
10750   9284   
                .property("backend", "S3Express".to_string())
10751   9285   
                .build()
10752   9286   
        );
10753   9287   
    }
10754   9288   
10755   9289   
    /// Data Plane with 14-char zone and FIPS with dualstack
10756   9290   
    #[test]
10757   9291   
    fn test_361() {
10758   9292   
        let params = crate::config::endpoint::Params::builder()
10759   9293   
            .region("us-west-2".to_string())
10760   9294   
            .bucket("mybucket--test1-zone-ab1--x-s3".to_string())
10761   9295   
            .use_fips(true)
10762   9296   
            .use_dual_stack(true)
10763   9297   
            .accelerate(false)
10764   9298   
            .use_s3_express_control_endpoint(false)
10765   9299   
            .build()
10766   9300   
            .expect("invalid params");
10767   9301   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10768   9302   
        let endpoint = resolver.resolve_endpoint(&params);
10769   9303   
        let endpoint = endpoint.expect(
10770   9304   
            "Expected valid endpoint: https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.dualstack.us-west-2.amazonaws.com",
10771   9305   
        );
10772   9306   
        assert_eq!(
10773   9307   
            endpoint,
10774   9308   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10775   9309   
                .url("https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.dualstack.us-west-2.amazonaws.com")
10776         -
                .property(
10777         -
                    "authSchemes",
10778         -
                    vec![{
10779         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10780         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10781         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10782         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10783         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10784         -
                        out
10785         -
                    }
10786         -
                    .into()]
        9310  +
                .auth_scheme(
        9311  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9312  +
                        .put("disableDoubleEncoding", true)
        9313  +
                        .put("signingName", "s3express".to_string())
        9314  +
                        .put("signingRegion", "us-west-2".to_string())
10787   9315   
                )
10788   9316   
                .property("backend", "S3Express".to_string())
10789   9317   
                .build()
10790   9318   
        );
10791   9319   
    }
10792   9320   
10793   9321   
    /// Data Plane sigv4 auth with 14-char zone and dualstack
10794   9322   
    #[test]
10795   9323   
    fn test_362() {
10796   9324   
        let params = crate::config::endpoint::Params::builder()
10797   9325   
            .region("us-west-2".to_string())
10798   9326   
            .bucket("mybucket--test1-zone-ab1--x-s3".to_string())
10799   9327   
            .use_fips(false)
10800   9328   
            .use_dual_stack(true)
10801   9329   
            .accelerate(false)
10802   9330   
            .disable_s3_express_session_auth(true)
10803   9331   
            .build()
10804   9332   
            .expect("invalid params");
10805   9333   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10806   9334   
        let endpoint = resolver.resolve_endpoint(&params);
10807   9335   
        let endpoint = endpoint
10808   9336   
            .expect("Expected valid endpoint: https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.dualstack.us-west-2.amazonaws.com");
10809   9337   
        assert_eq!(
10810   9338   
            endpoint,
10811   9339   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10812   9340   
                .url("https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.dualstack.us-west-2.amazonaws.com")
10813         -
                .property(
10814         -
                    "authSchemes",
10815         -
                    vec![{
10816         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10817         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10818         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10819         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10820         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10821         -
                        out
10822         -
                    }
10823         -
                    .into()]
        9341  +
                .auth_scheme(
        9342  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9343  +
                        .put("disableDoubleEncoding", true)
        9344  +
                        .put("signingName", "s3express".to_string())
        9345  +
                        .put("signingRegion", "us-west-2".to_string())
10824   9346   
                )
10825   9347   
                .property("backend", "S3Express".to_string())
10826   9348   
                .build()
10827   9349   
        );
10828   9350   
    }
10829   9351   
10830   9352   
    /// Data Plane sigv4 auth with 14-char zone and FIPS with dualstack
10831   9353   
    #[test]
10832   9354   
    fn test_363() {
10833   9355   
        let params = crate::config::endpoint::Params::builder()
10834   9356   
            .region("us-west-2".to_string())
10835   9357   
            .bucket("mybucket--test1-zone-ab1--x-s3".to_string())
10836   9358   
            .use_fips(true)
10837   9359   
            .use_dual_stack(true)
10838   9360   
            .accelerate(false)
10839   9361   
            .disable_s3_express_session_auth(true)
10840   9362   
            .build()
10841   9363   
            .expect("invalid params");
10842   9364   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10843   9365   
        let endpoint = resolver.resolve_endpoint(&params);
10844   9366   
        let endpoint = endpoint.expect(
10845   9367   
            "Expected valid endpoint: https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.dualstack.us-west-2.amazonaws.com",
10846   9368   
        );
10847   9369   
        assert_eq!(
10848   9370   
            endpoint,
10849   9371   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10850   9372   
                .url("https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.dualstack.us-west-2.amazonaws.com")
10851         -
                .property(
10852         -
                    "authSchemes",
10853         -
                    vec![{
10854         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10855         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10856         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10857         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10858         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10859         -
                        out
10860         -
                    }
10861         -
                    .into()]
        9373  +
                .auth_scheme(
        9374  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9375  +
                        .put("disableDoubleEncoding", true)
        9376  +
                        .put("signingName", "s3express".to_string())
        9377  +
                        .put("signingRegion", "us-west-2".to_string())
10862   9378   
                )
10863   9379   
                .property("backend", "S3Express".to_string())
10864   9380   
                .build()
10865   9381   
        );
10866   9382   
    }
10867   9383   
10868   9384   
    /// Data Plane with long zone (20 cha) and dualstack
10869   9385   
    #[test]
10870   9386   
    fn test_364() {
10871   9387   
        let params = crate::config::endpoint::Params::builder()
10872   9388   
            .region("us-west-2".to_string())
10873   9389   
            .bucket("mybucket--test1-long1-zone-ab1--x-s3".to_string())
10874   9390   
            .use_fips(false)
10875   9391   
            .use_dual_stack(true)
10876   9392   
            .accelerate(false)
10877   9393   
            .use_s3_express_control_endpoint(false)
10878   9394   
            .build()
10879   9395   
            .expect("invalid params");
10880   9396   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10881   9397   
        let endpoint = resolver.resolve_endpoint(&params);
10882   9398   
        let endpoint = endpoint.expect(
10883   9399   
            "Expected valid endpoint: https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com",
10884   9400   
        );
10885   9401   
        assert_eq!(
10886   9402   
            endpoint,
10887   9403   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10888   9404   
                .url("https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com")
10889         -
                .property(
10890         -
                    "authSchemes",
10891         -
                    vec![{
10892         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10893         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10894         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10895         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10896         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10897         -
                        out
10898         -
                    }
10899         -
                    .into()]
        9405  +
                .auth_scheme(
        9406  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9407  +
                        .put("disableDoubleEncoding", true)
        9408  +
                        .put("signingName", "s3express".to_string())
        9409  +
                        .put("signingRegion", "us-west-2".to_string())
10900   9410   
                )
10901   9411   
                .property("backend", "S3Express".to_string())
10902   9412   
                .build()
10903   9413   
        );
10904   9414   
    }
10905   9415   
10906   9416   
    /// Data Plane with long zone (20 char) and FIPS with dualstack
10907   9417   
    #[test]
10908   9418   
    fn test_365() {
10909   9419   
        let params = crate::config::endpoint::Params::builder()
10910   9420   
            .region("us-west-2".to_string())
10911   9421   
            .bucket("mybucket--test1-long1-zone-ab1--x-s3".to_string())
10912   9422   
            .use_fips(true)
10913   9423   
            .use_dual_stack(true)
10914   9424   
            .accelerate(false)
10915   9425   
            .use_s3_express_control_endpoint(false)
10916   9426   
            .build()
10917   9427   
            .expect("invalid params");
10918   9428   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10919   9429   
        let endpoint = resolver.resolve_endpoint(&params);
10920   9430   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com");
10921   9431   
        assert_eq!(
10922   9432   
            endpoint,
10923   9433   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10924   9434   
                .url("https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com")
10925         -
                .property(
10926         -
                    "authSchemes",
10927         -
                    vec![{
10928         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10929         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10930         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10931         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10932         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10933         -
                        out
10934         -
                    }
10935         -
                    .into()]
        9435  +
                .auth_scheme(
        9436  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9437  +
                        .put("disableDoubleEncoding", true)
        9438  +
                        .put("signingName", "s3express".to_string())
        9439  +
                        .put("signingRegion", "us-west-2".to_string())
10936   9440   
                )
10937   9441   
                .property("backend", "S3Express".to_string())
10938   9442   
                .build()
10939   9443   
        );
10940   9444   
    }
10941   9445   
10942   9446   
    /// Data Plane sigv4 auth with long zone (20 char) and dualstack
10943   9447   
    #[test]
10944   9448   
    fn test_366() {
10945   9449   
        let params = crate::config::endpoint::Params::builder()
10946   9450   
            .region("us-west-2".to_string())
10947   9451   
            .bucket("mybucket--test1-long1-zone-ab1--x-s3".to_string())
10948   9452   
            .use_fips(false)
10949   9453   
            .use_dual_stack(true)
10950   9454   
            .accelerate(false)
10951   9455   
            .disable_s3_express_session_auth(true)
10952   9456   
            .build()
10953   9457   
            .expect("invalid params");
10954   9458   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10955   9459   
        let endpoint = resolver.resolve_endpoint(&params);
10956   9460   
        let endpoint = endpoint.expect(
10957   9461   
            "Expected valid endpoint: https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com",
10958   9462   
        );
10959   9463   
        assert_eq!(
10960   9464   
            endpoint,
10961   9465   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10962   9466   
                .url("https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com")
10963         -
                .property(
10964         -
                    "authSchemes",
10965         -
                    vec![{
10966         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10967         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10968         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10969         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10970         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10971         -
                        out
10972         -
                    }
10973         -
                    .into()]
        9467  +
                .auth_scheme(
        9468  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9469  +
                        .put("disableDoubleEncoding", true)
        9470  +
                        .put("signingName", "s3express".to_string())
        9471  +
                        .put("signingRegion", "us-west-2".to_string())
10974   9472   
                )
10975   9473   
                .property("backend", "S3Express".to_string())
10976   9474   
                .build()
10977   9475   
        );
10978   9476   
    }
10979   9477   
10980   9478   
    /// Data Plane sigv4 auth with long zone (20 char) and FIPS with dualstack
10981   9479   
    #[test]
10982   9480   
    fn test_367() {
10983   9481   
        let params = crate::config::endpoint::Params::builder()
10984   9482   
            .region("us-west-2".to_string())
10985   9483   
            .bucket("mybucket--test1-long1-zone-ab1--x-s3".to_string())
10986   9484   
            .use_fips(true)
10987   9485   
            .use_dual_stack(true)
10988   9486   
            .accelerate(false)
10989   9487   
            .disable_s3_express_session_auth(true)
10990   9488   
            .build()
10991   9489   
            .expect("invalid params");
10992   9490   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10993   9491   
        let endpoint = resolver.resolve_endpoint(&params);
10994   9492   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com");
10995   9493   
        assert_eq!(
10996   9494   
            endpoint,
10997   9495   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10998   9496   
                .url("https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com")
10999         -
                .property(
11000         -
                    "authSchemes",
11001         -
                    vec![{
11002         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11003         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11004         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11005         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11006         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11007         -
                        out
11008         -
                    }
11009         -
                    .into()]
        9497  +
                .auth_scheme(
        9498  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9499  +
                        .put("disableDoubleEncoding", true)
        9500  +
                        .put("signingName", "s3express".to_string())
        9501  +
                        .put("signingRegion", "us-west-2".to_string())
11010   9502   
                )
11011   9503   
                .property("backend", "S3Express".to_string())
11012   9504   
                .build()
11013   9505   
        );
11014   9506   
    }
11015   9507   
11016   9508   
    /// Control plane and FIPS with dualstack
11017   9509   
    #[test]
11018   9510   
    fn test_368() {
11019   9511   
        let params = crate::config::endpoint::Params::builder()
11020   9512   
            .region("us-east-1".to_string())
11021   9513   
            .bucket("mybucket--test-ab1--x-s3".to_string())
11022   9514   
            .use_fips(true)
11023   9515   
            .use_dual_stack(true)
11024   9516   
            .accelerate(false)
11025   9517   
            .use_s3_express_control_endpoint(true)
11026   9518   
            .build()
11027   9519   
            .expect("invalid params");
11028   9520   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11029   9521   
        let endpoint = resolver.resolve_endpoint(&params);
11030   9522   
        let endpoint =
11031   9523   
            endpoint.expect("Expected valid endpoint: https://s3express-control-fips.dualstack.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3");
11032   9524   
        assert_eq!(
11033   9525   
            endpoint,
11034   9526   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11035   9527   
                .url("https://s3express-control-fips.dualstack.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3")
11036         -
                .property(
11037         -
                    "authSchemes",
11038         -
                    vec![{
11039         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11040         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11041         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11042         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
11043         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11044         -
                        out
11045         -
                    }
11046         -
                    .into()]
        9528  +
                .auth_scheme(
        9529  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9530  +
                        .put("disableDoubleEncoding", true)
        9531  +
                        .put("signingName", "s3express".to_string())
        9532  +
                        .put("signingRegion", "us-east-1".to_string())
11047   9533   
                )
11048   9534   
                .property("backend", "S3Express".to_string())
11049   9535   
                .build()
11050   9536   
        );
11051   9537   
    }
11052   9538   
11053   9539   
    /// Data plane with zone and dualstack and AP
11054   9540   
    #[test]
11055   9541   
    fn test_369() {
11056   9542   
        let params = crate::config::endpoint::Params::builder()
11057   9543   
            .region("us-west-2".to_string())
11058   9544   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
11059   9545   
            .use_fips(false)
11060   9546   
            .use_dual_stack(true)
11061   9547   
            .accelerate(false)
11062   9548   
            .use_s3_express_control_endpoint(false)
11063   9549   
            .build()
11064   9550   
            .expect("invalid params");
11065   9551   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11066   9552   
        let endpoint = resolver.resolve_endpoint(&params);
11067   9553   
        let endpoint =
11068   9554   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--usw2-az1--xa-s3.s3express-usw2-az1.dualstack.us-west-2.amazonaws.com");
11069   9555   
        assert_eq!(
11070   9556   
            endpoint,
11071   9557   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11072   9558   
                .url("https://myaccesspoint--usw2-az1--xa-s3.s3express-usw2-az1.dualstack.us-west-2.amazonaws.com")
11073         -
                .property(
11074         -
                    "authSchemes",
11075         -
                    vec![{
11076         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11077         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11078         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11079         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11080         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11081         -
                        out
11082         -
                    }
11083         -
                    .into()]
        9559  +
                .auth_scheme(
        9560  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9561  +
                        .put("disableDoubleEncoding", true)
        9562  +
                        .put("signingName", "s3express".to_string())
        9563  +
                        .put("signingRegion", "us-west-2".to_string())
11084   9564   
                )
11085   9565   
                .property("backend", "S3Express".to_string())
11086   9566   
                .build()
11087   9567   
        );
11088   9568   
    }
11089   9569   
11090   9570   
    /// Data plane with zone and FIPS with dualstack and AP
11091   9571   
    #[test]
11092   9572   
    fn test_370() {
11093   9573   
        let params = crate::config::endpoint::Params::builder()
11094   9574   
            .region("us-west-2".to_string())
11095   9575   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
11096   9576   
            .use_fips(true)
11097   9577   
            .use_dual_stack(true)
11098   9578   
            .accelerate(false)
11099   9579   
            .use_s3_express_control_endpoint(false)
11100   9580   
            .build()
11101   9581   
            .expect("invalid params");
11102   9582   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11103   9583   
        let endpoint = resolver.resolve_endpoint(&params);
11104   9584   
        let endpoint = endpoint
11105   9585   
            .expect("Expected valid endpoint: https://myaccesspoint--usw2-az1--xa-s3.s3express-fips-usw2-az1.dualstack.us-west-2.amazonaws.com");
11106   9586   
        assert_eq!(
11107   9587   
            endpoint,
11108   9588   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11109   9589   
                .url("https://myaccesspoint--usw2-az1--xa-s3.s3express-fips-usw2-az1.dualstack.us-west-2.amazonaws.com")
11110         -
                .property(
11111         -
                    "authSchemes",
11112         -
                    vec![{
11113         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11114         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11115         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11116         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11117         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11118         -
                        out
11119         -
                    }
11120         -
                    .into()]
        9590  +
                .auth_scheme(
        9591  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9592  +
                        .put("disableDoubleEncoding", true)
        9593  +
                        .put("signingName", "s3express".to_string())
        9594  +
                        .put("signingRegion", "us-west-2".to_string())
11121   9595   
                )
11122   9596   
                .property("backend", "S3Express".to_string())
11123   9597   
                .build()
11124   9598   
        );
11125   9599   
    }
11126   9600   
11127   9601   
    /// Data Plane sigv4 auth with zone and dualstack and AP
11128   9602   
    #[test]
11129   9603   
    fn test_371() {
11130   9604   
        let params = crate::config::endpoint::Params::builder()
11131   9605   
            .region("us-west-2".to_string())
11132   9606   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
11133   9607   
            .use_fips(false)
11134   9608   
            .use_dual_stack(true)
11135   9609   
            .accelerate(false)
11136   9610   
            .disable_s3_express_session_auth(true)
11137   9611   
            .build()
11138   9612   
            .expect("invalid params");
11139   9613   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11140   9614   
        let endpoint = resolver.resolve_endpoint(&params);
11141   9615   
        let endpoint =
11142   9616   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--usw2-az1--xa-s3.s3express-usw2-az1.dualstack.us-west-2.amazonaws.com");
11143   9617   
        assert_eq!(
11144   9618   
            endpoint,
11145   9619   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11146   9620   
                .url("https://myaccesspoint--usw2-az1--xa-s3.s3express-usw2-az1.dualstack.us-west-2.amazonaws.com")
11147         -
                .property(
11148         -
                    "authSchemes",
11149         -
                    vec![{
11150         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11151         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11152         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11153         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11154         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11155         -
                        out
11156         -
                    }
11157         -
                    .into()]
        9621  +
                .auth_scheme(
        9622  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9623  +
                        .put("disableDoubleEncoding", true)
        9624  +
                        .put("signingName", "s3express".to_string())
        9625  +
                        .put("signingRegion", "us-west-2".to_string())
11158   9626   
                )
11159   9627   
                .property("backend", "S3Express".to_string())
11160   9628   
                .build()
11161   9629   
        );
11162   9630   
    }
11163   9631   
11164   9632   
    /// Data Plane AP sigv4 auth with zone and FIPS with dualstack
11165   9633   
    #[test]
11166   9634   
    fn test_372() {
11167   9635   
        let params = crate::config::endpoint::Params::builder()
11168   9636   
            .region("us-west-2".to_string())
11169   9637   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
11170   9638   
            .use_fips(true)
11171   9639   
            .use_dual_stack(true)
11172   9640   
            .accelerate(false)
11173   9641   
            .disable_s3_express_session_auth(true)
11174   9642   
            .build()
11175   9643   
            .expect("invalid params");
11176   9644   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11177   9645   
        let endpoint = resolver.resolve_endpoint(&params);
11178   9646   
        let endpoint = endpoint
11179   9647   
            .expect("Expected valid endpoint: https://myaccesspoint--usw2-az1--xa-s3.s3express-fips-usw2-az1.dualstack.us-west-2.amazonaws.com");
11180   9648   
        assert_eq!(
11181   9649   
            endpoint,
11182   9650   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11183   9651   
                .url("https://myaccesspoint--usw2-az1--xa-s3.s3express-fips-usw2-az1.dualstack.us-west-2.amazonaws.com")
11184         -
                .property(
11185         -
                    "authSchemes",
11186         -
                    vec![{
11187         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11188         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11189         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11190         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11191         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11192         -
                        out
11193         -
                    }
11194         -
                    .into()]
        9652  +
                .auth_scheme(
        9653  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9654  +
                        .put("disableDoubleEncoding", true)
        9655  +
                        .put("signingName", "s3express".to_string())
        9656  +
                        .put("signingRegion", "us-west-2".to_string())
11195   9657   
                )
11196   9658   
                .property("backend", "S3Express".to_string())
11197   9659   
                .build()
11198   9660   
        );
11199   9661   
    }
11200   9662   
11201   9663   
    /// Data Plane with zone (9 char) and AP with dualstack
11202   9664   
    #[test]
11203   9665   
    fn test_373() {
11204   9666   
        let params = crate::config::endpoint::Params::builder()
11205   9667   
            .region("us-west-2".to_string())
11206   9668   
            .bucket("myaccesspoint--usw2-az12--xa-s3".to_string())
11207   9669   
            .use_fips(false)
11208   9670   
            .use_dual_stack(true)
11209   9671   
            .accelerate(false)
11210   9672   
            .use_s3_express_control_endpoint(false)
11211   9673   
            .build()
11212   9674   
            .expect("invalid params");
11213   9675   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11214   9676   
        let endpoint = resolver.resolve_endpoint(&params);
11215   9677   
        let endpoint =
11216   9678   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--usw2-az12--xa-s3.s3express-usw2-az12.dualstack.us-west-2.amazonaws.com");
11217   9679   
        assert_eq!(
11218   9680   
            endpoint,
11219   9681   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11220   9682   
                .url("https://myaccesspoint--usw2-az12--xa-s3.s3express-usw2-az12.dualstack.us-west-2.amazonaws.com")
11221         -
                .property(
11222         -
                    "authSchemes",
11223         -
                    vec![{
11224         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11225         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11226         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11227         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11228         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11229         -
                        out
11230         -
                    }
11231         -
                    .into()]
        9683  +
                .auth_scheme(
        9684  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9685  +
                        .put("disableDoubleEncoding", true)
        9686  +
                        .put("signingName", "s3express".to_string())
        9687  +
                        .put("signingRegion", "us-west-2".to_string())
11232   9688   
                )
11233   9689   
                .property("backend", "S3Express".to_string())
11234   9690   
                .build()
11235   9691   
        );
11236   9692   
    }
11237   9693   
11238   9694   
    /// Data Plane with zone (9 char) and FIPS with AP and dualstack
11239   9695   
    #[test]
11240   9696   
    fn test_374() {
11241   9697   
        let params = crate::config::endpoint::Params::builder()
11242   9698   
            .region("us-west-2".to_string())
11243   9699   
            .bucket("myaccesspoint--usw2-az12--xa-s3".to_string())
11244   9700   
            .use_fips(true)
11245   9701   
            .use_dual_stack(true)
11246   9702   
            .accelerate(false)
11247   9703   
            .use_s3_express_control_endpoint(false)
11248   9704   
            .build()
11249   9705   
            .expect("invalid params");
11250   9706   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11251   9707   
        let endpoint = resolver.resolve_endpoint(&params);
11252   9708   
        let endpoint = endpoint
11253   9709   
            .expect("Expected valid endpoint: https://myaccesspoint--usw2-az12--xa-s3.s3express-fips-usw2-az12.dualstack.us-west-2.amazonaws.com");
11254   9710   
        assert_eq!(
11255   9711   
            endpoint,
11256   9712   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11257   9713   
                .url("https://myaccesspoint--usw2-az12--xa-s3.s3express-fips-usw2-az12.dualstack.us-west-2.amazonaws.com")
11258         -
                .property(
11259         -
                    "authSchemes",
11260         -
                    vec![{
11261         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11262         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11263         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11264         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11265         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11266         -
                        out
11267         -
                    }
11268         -
                    .into()]
        9714  +
                .auth_scheme(
        9715  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9716  +
                        .put("disableDoubleEncoding", true)
        9717  +
                        .put("signingName", "s3express".to_string())
        9718  +
                        .put("signingRegion", "us-west-2".to_string())
11269   9719   
                )
11270   9720   
                .property("backend", "S3Express".to_string())
11271   9721   
                .build()
11272   9722   
        );
11273   9723   
    }
11274   9724   
11275   9725   
    /// Data Plane sigv4 auth with (9 char) zone and dualstack with AP
11276   9726   
    #[test]
11277   9727   
    fn test_375() {
11278   9728   
        let params = crate::config::endpoint::Params::builder()
11279   9729   
            .region("us-west-2".to_string())
11280   9730   
            .bucket("myaccesspoint--usw2-az12--xa-s3".to_string())
11281   9731   
            .use_fips(false)
11282   9732   
            .use_dual_stack(true)
11283   9733   
            .accelerate(false)
11284   9734   
            .disable_s3_express_session_auth(true)
11285   9735   
            .build()
11286   9736   
            .expect("invalid params");
11287   9737   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11288   9738   
        let endpoint = resolver.resolve_endpoint(&params);
11289   9739   
        let endpoint =
11290   9740   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--usw2-az12--xa-s3.s3express-usw2-az12.dualstack.us-west-2.amazonaws.com");
11291   9741   
        assert_eq!(
11292   9742   
            endpoint,
11293   9743   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11294   9744   
                .url("https://myaccesspoint--usw2-az12--xa-s3.s3express-usw2-az12.dualstack.us-west-2.amazonaws.com")
11295         -
                .property(
11296         -
                    "authSchemes",
11297         -
                    vec![{
11298         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11299         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11300         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11301         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11302         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11303         -
                        out
11304         -
                    }
11305         -
                    .into()]
        9745  +
                .auth_scheme(
        9746  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9747  +
                        .put("disableDoubleEncoding", true)
        9748  +
                        .put("signingName", "s3express".to_string())
        9749  +
                        .put("signingRegion", "us-west-2".to_string())
11306   9750   
                )
11307   9751   
                .property("backend", "S3Express".to_string())
11308   9752   
                .build()
11309   9753   
        );
11310   9754   
    }
11311   9755   
11312   9756   
    /// Access Point sigv4 auth with (9 char) zone and FIPS with dualstack
11313   9757   
    #[test]
11314   9758   
    fn test_376() {
11315   9759   
        let params = crate::config::endpoint::Params::builder()
11316   9760   
            .region("us-west-2".to_string())
11317   9761   
            .bucket("myaccesspoint--usw2-az12--xa-s3".to_string())
11318   9762   
            .use_fips(true)
11319   9763   
            .use_dual_stack(true)
11320   9764   
            .accelerate(false)
11321   9765   
            .disable_s3_express_session_auth(true)
11322   9766   
            .build()
11323   9767   
            .expect("invalid params");
11324   9768   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11325   9769   
        let endpoint = resolver.resolve_endpoint(&params);
11326   9770   
        let endpoint = endpoint
11327   9771   
            .expect("Expected valid endpoint: https://myaccesspoint--usw2-az12--xa-s3.s3express-fips-usw2-az12.dualstack.us-west-2.amazonaws.com");
11328   9772   
        assert_eq!(
11329   9773   
            endpoint,
11330   9774   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11331   9775   
                .url("https://myaccesspoint--usw2-az12--xa-s3.s3express-fips-usw2-az12.dualstack.us-west-2.amazonaws.com")
11332         -
                .property(
11333         -
                    "authSchemes",
11334         -
                    vec![{
11335         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11336         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11337         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11338         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11339         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11340         -
                        out
11341         -
                    }
11342         -
                    .into()]
        9776  +
                .auth_scheme(
        9777  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9778  +
                        .put("disableDoubleEncoding", true)
        9779  +
                        .put("signingName", "s3express".to_string())
        9780  +
                        .put("signingRegion", "us-west-2".to_string())
11343   9781   
                )
11344   9782   
                .property("backend", "S3Express".to_string())
11345   9783   
                .build()
11346   9784   
        );
11347   9785   
    }
11348   9786   
11349   9787   
    /// Data Plane with zone (13 char) and AP with dualstack
11350   9788   
    #[test]
11351   9789   
    fn test_377() {
11352   9790   
        let params = crate::config::endpoint::Params::builder()
11353   9791   
            .region("us-west-2".to_string())
11354   9792   
            .bucket("myaccesspoint--test-zone-ab1--xa-s3".to_string())
11355   9793   
            .use_fips(false)
11356   9794   
            .use_dual_stack(true)
11357   9795   
            .accelerate(false)
11358   9796   
            .use_s3_express_control_endpoint(false)
11359   9797   
            .build()
11360   9798   
            .expect("invalid params");
11361   9799   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11362   9800   
        let endpoint = resolver.resolve_endpoint(&params);
11363   9801   
        let endpoint = endpoint
11364   9802   
            .expect("Expected valid endpoint: https://myaccesspoint--test-zone-ab1--xa-s3.s3express-test-zone-ab1.dualstack.us-west-2.amazonaws.com");
11365   9803   
        assert_eq!(
11366   9804   
            endpoint,
11367   9805   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11368   9806   
                .url("https://myaccesspoint--test-zone-ab1--xa-s3.s3express-test-zone-ab1.dualstack.us-west-2.amazonaws.com")
11369         -
                .property(
11370         -
                    "authSchemes",
11371         -
                    vec![{
11372         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11373         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11374         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11375         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11376         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11377         -
                        out
11378         -
                    }
11379         -
                    .into()]
        9807  +
                .auth_scheme(
        9808  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9809  +
                        .put("disableDoubleEncoding", true)
        9810  +
                        .put("signingName", "s3express".to_string())
        9811  +
                        .put("signingRegion", "us-west-2".to_string())
11380   9812   
                )
11381   9813   
                .property("backend", "S3Express".to_string())
11382   9814   
                .build()
11383   9815   
        );
11384   9816   
    }
11385   9817   
11386   9818   
    /// Data Plane with zone (13 char) and AP with FIPS and dualstack
11387   9819   
    #[test]
11388   9820   
    fn test_378() {
11389   9821   
        let params = crate::config::endpoint::Params::builder()
11390   9822   
            .region("us-west-2".to_string())
11391   9823   
            .bucket("myaccesspoint--test-zone-ab1--xa-s3".to_string())
11392   9824   
            .use_fips(true)
11393   9825   
            .use_dual_stack(true)
11394   9826   
            .accelerate(false)
11395   9827   
            .use_s3_express_control_endpoint(false)
11396   9828   
            .build()
11397   9829   
            .expect("invalid params");
11398   9830   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11399   9831   
        let endpoint = resolver.resolve_endpoint(&params);
11400   9832   
        let endpoint = endpoint.expect(
11401   9833   
            "Expected valid endpoint: https://myaccesspoint--test-zone-ab1--xa-s3.s3express-fips-test-zone-ab1.dualstack.us-west-2.amazonaws.com",
11402   9834   
        );
11403   9835   
        assert_eq!(
11404   9836   
            endpoint,
11405   9837   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11406   9838   
                .url("https://myaccesspoint--test-zone-ab1--xa-s3.s3express-fips-test-zone-ab1.dualstack.us-west-2.amazonaws.com")
11407         -
                .property(
11408         -
                    "authSchemes",
11409         -
                    vec![{
11410         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11411         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11412         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11413         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11414         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11415         -
                        out
11416         -
                    }
11417         -
                    .into()]
        9839  +
                .auth_scheme(
        9840  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9841  +
                        .put("disableDoubleEncoding", true)
        9842  +
                        .put("signingName", "s3express".to_string())
        9843  +
                        .put("signingRegion", "us-west-2".to_string())
11418   9844   
                )
11419   9845   
                .property("backend", "S3Express".to_string())
11420   9846   
                .build()
11421   9847   
        );
11422   9848   
    }
11423   9849   
11424   9850   
    /// Data Plane sigv4 auth with (13 char) zone with AP and dualstack
11425   9851   
    #[test]
11426   9852   
    fn test_379() {
11427   9853   
        let params = crate::config::endpoint::Params::builder()
11428   9854   
            .region("us-west-2".to_string())
11429   9855   
            .bucket("myaccesspoint--test-zone-ab1--xa-s3".to_string())
11430   9856   
            .use_fips(false)
11431   9857   
            .use_dual_stack(true)
11432   9858   
            .accelerate(false)
11433   9859   
            .disable_s3_express_session_auth(true)
11434   9860   
            .build()
11435   9861   
            .expect("invalid params");
11436   9862   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11437   9863   
        let endpoint = resolver.resolve_endpoint(&params);
11438   9864   
        let endpoint = endpoint
11439   9865   
            .expect("Expected valid endpoint: https://myaccesspoint--test-zone-ab1--xa-s3.s3express-test-zone-ab1.dualstack.us-west-2.amazonaws.com");
11440   9866   
        assert_eq!(
11441   9867   
            endpoint,
11442   9868   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11443   9869   
                .url("https://myaccesspoint--test-zone-ab1--xa-s3.s3express-test-zone-ab1.dualstack.us-west-2.amazonaws.com")
11444         -
                .property(
11445         -
                    "authSchemes",
11446         -
                    vec![{
11447         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11448         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11449         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11450         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11451         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11452         -
                        out
11453         -
                    }
11454         -
                    .into()]
        9870  +
                .auth_scheme(
        9871  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9872  +
                        .put("disableDoubleEncoding", true)
        9873  +
                        .put("signingName", "s3express".to_string())
        9874  +
                        .put("signingRegion", "us-west-2".to_string())
11455   9875   
                )
11456   9876   
                .property("backend", "S3Express".to_string())
11457   9877   
                .build()
11458   9878   
        );
11459   9879   
    }
11460   9880   
11461   9881   
    /// Data Plane sigv4 auth with (13 char) zone with AP and FIPS and dualstack
11462   9882   
    #[test]
11463   9883   
    fn test_380() {
11464   9884   
        let params = crate::config::endpoint::Params::builder()
11465   9885   
            .region("us-west-2".to_string())
11466   9886   
            .bucket("myaccesspoint--test-zone-ab1--xa-s3".to_string())
11467   9887   
            .use_fips(true)
11468   9888   
            .use_dual_stack(true)
11469   9889   
            .accelerate(false)
11470   9890   
            .disable_s3_express_session_auth(true)
11471   9891   
            .build()
11472   9892   
            .expect("invalid params");
11473   9893   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11474   9894   
        let endpoint = resolver.resolve_endpoint(&params);
11475   9895   
        let endpoint = endpoint.expect(
11476   9896   
            "Expected valid endpoint: https://myaccesspoint--test-zone-ab1--xa-s3.s3express-fips-test-zone-ab1.dualstack.us-west-2.amazonaws.com",
11477   9897   
        );
11478   9898   
        assert_eq!(
11479   9899   
            endpoint,
11480   9900   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11481   9901   
                .url("https://myaccesspoint--test-zone-ab1--xa-s3.s3express-fips-test-zone-ab1.dualstack.us-west-2.amazonaws.com")
11482         -
                .property(
11483         -
                    "authSchemes",
11484         -
                    vec![{
11485         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11486         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11487         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11488         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11489         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11490         -
                        out
11491         -
                    }
11492         -
                    .into()]
        9902  +
                .auth_scheme(
        9903  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9904  +
                        .put("disableDoubleEncoding", true)
        9905  +
                        .put("signingName", "s3express".to_string())
        9906  +
                        .put("signingRegion", "us-west-2".to_string())
11493   9907   
                )
11494   9908   
                .property("backend", "S3Express".to_string())
11495   9909   
                .build()
11496   9910   
        );
11497   9911   
    }
11498   9912   
11499   9913   
    /// Data Plane with (14 char) zone and AP with dualstack
11500   9914   
    #[test]
11501   9915   
    fn test_381() {
11502   9916   
        let params = crate::config::endpoint::Params::builder()
11503   9917   
            .region("us-west-2".to_string())
11504   9918   
            .bucket("myaccesspoint--test1-zone-ab1--xa-s3".to_string())
11505   9919   
            .use_fips(false)
11506   9920   
            .use_dual_stack(true)
11507   9921   
            .accelerate(false)
11508   9922   
            .use_s3_express_control_endpoint(false)
11509   9923   
            .build()
11510   9924   
            .expect("invalid params");
11511   9925   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11512   9926   
        let endpoint = resolver.resolve_endpoint(&params);
11513   9927   
        let endpoint = endpoint.expect(
11514   9928   
            "Expected valid endpoint: https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-test1-zone-ab1.dualstack.us-west-2.amazonaws.com",
11515   9929   
        );
11516   9930   
        assert_eq!(
11517   9931   
            endpoint,
11518   9932   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11519   9933   
                .url("https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-test1-zone-ab1.dualstack.us-west-2.amazonaws.com")
11520         -
                .property(
11521         -
                    "authSchemes",
11522         -
                    vec![{
11523         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11524         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11525         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11526         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11527         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11528         -
                        out
11529         -
                    }
11530         -
                    .into()]
        9934  +
                .auth_scheme(
        9935  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9936  +
                        .put("disableDoubleEncoding", true)
        9937  +
                        .put("signingName", "s3express".to_string())
        9938  +
                        .put("signingRegion", "us-west-2".to_string())
11531   9939   
                )
11532   9940   
                .property("backend", "S3Express".to_string())
11533   9941   
                .build()
11534   9942   
        );
11535   9943   
    }
11536   9944   
11537   9945   
    /// Data Plane with (14 char) zone and AP with FIPS and dualstack
11538   9946   
    #[test]
11539   9947   
    fn test_382() {
11540   9948   
        let params = crate::config::endpoint::Params::builder()
11541   9949   
            .region("us-west-2".to_string())
11542   9950   
            .bucket("myaccesspoint--test1-zone-ab1--xa-s3".to_string())
11543   9951   
            .use_fips(true)
11544   9952   
            .use_dual_stack(true)
11545   9953   
            .accelerate(false)
11546   9954   
            .use_s3_express_control_endpoint(false)
11547   9955   
            .build()
11548   9956   
            .expect("invalid params");
11549   9957   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11550   9958   
        let endpoint = resolver.resolve_endpoint(&params);
11551   9959   
        let endpoint = endpoint.expect(
11552   9960   
            "Expected valid endpoint: https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-fips-test1-zone-ab1.dualstack.us-west-2.amazonaws.com",
11553   9961   
        );
11554   9962   
        assert_eq!(
11555   9963   
            endpoint,
11556   9964   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11557   9965   
                .url("https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-fips-test1-zone-ab1.dualstack.us-west-2.amazonaws.com")
11558         -
                .property(
11559         -
                    "authSchemes",
11560         -
                    vec![{
11561         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11562         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11563         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11564         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11565         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11566         -
                        out
11567         -
                    }
11568         -
                    .into()]
        9966  +
                .auth_scheme(
        9967  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9968  +
                        .put("disableDoubleEncoding", true)
        9969  +
                        .put("signingName", "s3express".to_string())
        9970  +
                        .put("signingRegion", "us-west-2".to_string())
11569   9971   
                )
11570   9972   
                .property("backend", "S3Express".to_string())
11571   9973   
                .build()
11572   9974   
        );
11573   9975   
    }
11574   9976   
11575   9977   
    /// Data Plane sigv4 auth with (14 char) zone and AP with dualstack
11576   9978   
    #[test]
11577   9979   
    fn test_383() {
11578   9980   
        let params = crate::config::endpoint::Params::builder()
11579   9981   
            .region("us-west-2".to_string())
11580   9982   
            .bucket("myaccesspoint--test1-zone-ab1--xa-s3".to_string())
11581   9983   
            .use_fips(false)
11582   9984   
            .use_dual_stack(true)
11583   9985   
            .accelerate(false)
11584   9986   
            .disable_s3_express_session_auth(true)
11585   9987   
            .build()
11586   9988   
            .expect("invalid params");
11587   9989   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11588   9990   
        let endpoint = resolver.resolve_endpoint(&params);
11589   9991   
        let endpoint = endpoint.expect(
11590   9992   
            "Expected valid endpoint: https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-test1-zone-ab1.dualstack.us-west-2.amazonaws.com",
11591   9993   
        );
11592   9994   
        assert_eq!(
11593   9995   
            endpoint,
11594   9996   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11595   9997   
                .url("https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-test1-zone-ab1.dualstack.us-west-2.amazonaws.com")
11596         -
                .property(
11597         -
                    "authSchemes",
11598         -
                    vec![{
11599         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11600         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11601         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11602         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11603         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11604         -
                        out
11605         -
                    }
11606         -
                    .into()]
        9998  +
                .auth_scheme(
        9999  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
       10000  +
                        .put("disableDoubleEncoding", true)
       10001  +
                        .put("signingName", "s3express".to_string())
       10002  +
                        .put("signingRegion", "us-west-2".to_string())
11607  10003   
                )
11608  10004   
                .property("backend", "S3Express".to_string())
11609  10005   
                .build()
11610  10006   
        );
11611  10007   
    }
11612  10008   
11613  10009   
    /// Data Plane with (14 char) zone and AP with FIPS and dualstack
11614  10010   
    #[test]
11615  10011   
    fn test_384() {
11616  10012   
        let params = crate::config::endpoint::Params::builder()
11617  10013   
            .region("us-west-2".to_string())
11618  10014   
            .bucket("myaccesspoint--test1-zone-ab1--xa-s3".to_string())
11619  10015   
            .use_fips(true)
11620  10016   
            .use_dual_stack(true)
11621  10017   
            .accelerate(false)
11622  10018   
            .disable_s3_express_session_auth(true)
11623  10019   
            .build()
11624  10020   
            .expect("invalid params");
11625  10021   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11626  10022   
        let endpoint = resolver.resolve_endpoint(&params);
11627  10023   
        let endpoint = endpoint.expect(
11628  10024   
            "Expected valid endpoint: https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-fips-test1-zone-ab1.dualstack.us-west-2.amazonaws.com",
11629  10025   
        );
11630  10026   
        assert_eq!(
11631  10027   
            endpoint,
11632  10028   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11633  10029   
                .url("https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-fips-test1-zone-ab1.dualstack.us-west-2.amazonaws.com")
11634         -
                .property(
11635         -
                    "authSchemes",
11636         -
                    vec![{
11637         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11638         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11639         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11640         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11641         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11642         -
                        out
11643         -
                    }
11644         -
                    .into()]
       10030  +
                .auth_scheme(
       10031  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
       10032  +
                        .put("disableDoubleEncoding", true)
       10033  +
                        .put("signingName", "s3express".to_string())
       10034  +
                        .put("signingRegion", "us-west-2".to_string())
11645  10035   
                )
11646  10036   
                .property("backend", "S3Express".to_string())
11647  10037   
                .build()
11648  10038   
        );
11649  10039   
    }
11650  10040   
11651  10041   
    /// Data Plane with (20 char) zone and AP with dualstack
11652  10042   
    #[test]
11653  10043   
    fn test_385() {
11654  10044   
        let params = crate::config::endpoint::Params::builder()
11655  10045   
            .region("us-west-2".to_string())
11656  10046   
            .bucket("myaccesspoint--test1-long1-zone-ab1--xa-s3".to_string())
11657  10047   
            .use_fips(false)
11658  10048   
            .use_dual_stack(true)
11659  10049   
            .accelerate(false)
11660  10050   
            .use_s3_express_control_endpoint(false)
11661  10051   
            .build()
11662  10052   
            .expect("invalid params");
11663  10053   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11664  10054   
        let endpoint = resolver.resolve_endpoint(&params);
11665  10055   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com");
11666  10056   
        assert_eq!(
11667  10057   
            endpoint,
11668  10058   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11669  10059   
                .url("https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com")
11670         -
                .property(
11671         -
                    "authSchemes",
11672         -
                    vec![{
11673         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11674         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11675         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11676         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11677         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11678         -
                        out
11679         -
                    }
11680         -
                    .into()]
       10060  +
                .auth_scheme(
       10061  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
       10062  +
                        .put("disableDoubleEncoding", true)
       10063  +
                        .put("signingName", "s3express".to_string())
       10064  +
                        .put("signingRegion", "us-west-2".to_string())
11681  10065   
                )
11682  10066   
                .property("backend", "S3Express".to_string())
11683  10067   
                .build()
11684  10068   
        );
11685  10069   
    }
11686  10070   
11687  10071   
    /// Data Plane with (20 char) zone and AP with FIPS and dualstack
11688  10072   
    #[test]
11689  10073   
    fn test_386() {
11690  10074   
        let params = crate::config::endpoint::Params::builder()
11691  10075   
            .region("us-west-2".to_string())
11692  10076   
            .bucket("myaccesspoint--test1-long1-zone-ab1--xa-s3".to_string())
11693  10077   
            .use_fips(true)
11694  10078   
            .use_dual_stack(true)
11695  10079   
            .accelerate(false)
11696  10080   
            .use_s3_express_control_endpoint(false)
11697  10081   
            .build()
11698  10082   
            .expect("invalid params");
11699  10083   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11700  10084   
        let endpoint = resolver.resolve_endpoint(&params);
11701  10085   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-fips-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com");
11702  10086   
        assert_eq!(
11703  10087   
            endpoint,
11704  10088   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11705  10089   
                .url("https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-fips-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com")
11706         -
                .property(
11707         -
                    "authSchemes",
11708         -
                    vec![{
11709         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11710         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11711         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11712         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11713         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11714         -
                        out
11715         -
                    }
11716         -
                    .into()]
       10090  +
                .auth_scheme(
       10091  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
       10092  +
                        .put("disableDoubleEncoding", true)
       10093  +
                        .put("signingName", "s3express".to_string())
       10094  +
                        .put("signingRegion", "us-west-2".to_string())
11717  10095   
                )
11718  10096   
                .property("backend", "S3Express".to_string())
11719  10097   
                .build()
11720  10098   
        );
11721  10099   
    }
11722  10100   
11723  10101   
    /// Data plane AP with sigv4 and dualstack
11724  10102   
    #[test]
11725  10103   
    fn test_387() {
11726  10104   
        let params = crate::config::endpoint::Params::builder()
11727  10105   
            .region("us-west-2".to_string())
11728  10106   
            .bucket("myaccesspoint--test1-long1-zone-ab1--xa-s3".to_string())
11729  10107   
            .use_fips(false)
11730  10108   
            .use_dual_stack(true)
11731  10109   
            .accelerate(false)
11732  10110   
            .disable_s3_express_session_auth(true)
11733  10111   
            .build()
11734  10112   
            .expect("invalid params");
11735  10113   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11736  10114   
        let endpoint = resolver.resolve_endpoint(&params);
11737  10115   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com");
11738  10116   
        assert_eq!(
11739  10117   
            endpoint,
11740  10118   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11741  10119   
                .url("https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com")
11742         -
                .property(
11743         -
                    "authSchemes",
11744         -
                    vec![{
11745         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11746         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11747         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11748         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11749         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11750         -
                        out
11751         -
                    }
11752         -
                    .into()]
       10120  +
                .auth_scheme(
       10121  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
       10122  +
                        .put("disableDoubleEncoding", true)
       10123  +
                        .put("signingName", "s3express".to_string())
       10124  +
                        .put("signingRegion", "us-west-2".to_string())
11753  10125   
                )
11754  10126   
                .property("backend", "S3Express".to_string())
11755  10127   
                .build()
11756  10128   
        );
11757  10129   
    }
11758  10130   
11759  10131   
    /// Data plane AP sigv4 with fips and dualstack
11760  10132   
    #[test]
11761  10133   
    fn test_388() {
11762  10134   
        let params = crate::config::endpoint::Params::builder()
11763  10135   
            .region("us-west-2".to_string())
11764  10136   
            .bucket("myaccesspoint--test1-long1-zone-ab1--xa-s3".to_string())
11765  10137   
            .use_fips(true)
11766  10138   
            .use_dual_stack(true)
11767  10139   
            .accelerate(false)
11768  10140   
            .disable_s3_express_session_auth(true)
11769  10141   
            .build()
11770  10142   
            .expect("invalid params");
11771  10143   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11772  10144   
        let endpoint = resolver.resolve_endpoint(&params);
11773  10145   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-fips-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com");
11774  10146   
        assert_eq!(
11775  10147   
            endpoint,
11776  10148   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11777  10149   
                .url("https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-fips-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com")
11778         -
                .property(
11779         -
                    "authSchemes",
11780         -
                    vec![{
11781         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11782         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11783         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11784         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11785         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11786         -
                        out
11787         -
                    }
11788         -
                    .into()]
       10150  +
                .auth_scheme(
       10151  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
       10152  +
                        .put("disableDoubleEncoding", true)
       10153  +
                        .put("signingName", "s3express".to_string())
       10154  +
                        .put("signingRegion", "us-west-2".to_string())
11789  10155   
                )
11790  10156   
                .property("backend", "S3Express".to_string())
11791  10157   
                .build()
11792  10158   
        );
11793  10159   
    }
11794  10160   
11795  10161   
    /// Control plane with dualstack and bucket
11796  10162   
    #[test]
11797  10163   
    fn test_389() {
11798  10164   
        let params = crate::config::endpoint::Params::builder()
11799  10165   
            .region("us-east-1".to_string())
11800  10166   
            .bucket("mybucket--test-ab1--x-s3".to_string())
11801  10167   
            .use_fips(false)
11802  10168   
            .use_dual_stack(true)
11803  10169   
            .accelerate(false)
11804  10170   
            .use_s3_express_control_endpoint(true)
11805  10171   
            .build()
11806  10172   
            .expect("invalid params");
11807  10173   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11808  10174   
        let endpoint = resolver.resolve_endpoint(&params);
11809  10175   
        let endpoint =
11810  10176   
            endpoint.expect("Expected valid endpoint: https://s3express-control.dualstack.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3");
11811  10177   
        assert_eq!(
11812  10178   
            endpoint,
11813  10179   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11814  10180   
                .url("https://s3express-control.dualstack.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3")
11815         -
                .property(
11816         -
                    "authSchemes",
11817         -
                    vec![{
11818         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11819         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11820         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11821         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
11822         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11823         -
                        out
11824         -
                    }
11825         -
                    .into()]
       10181  +
                .auth_scheme(
       10182  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
       10183  +
                        .put("disableDoubleEncoding", true)
       10184  +
                        .put("signingName", "s3express".to_string())
       10185  +
                        .put("signingRegion", "us-east-1".to_string())
11826  10186   
                )
11827  10187   
                .property("backend", "S3Express".to_string())
11828  10188   
                .build()
11829  10189   
        );
11830  10190   
    }
11831  10191   
}
11832  10192   
11833  10193   
/// Endpoint resolver trait specific to Amazon Simple Storage Service
11834  10194   
pub trait ResolveEndpoint: ::std::marker::Send + ::std::marker::Sync + ::std::fmt::Debug {
11835  10195   
    /// Resolve an endpoint with the given parameters
11836  10196   
    fn resolve_endpoint<'a>(&'a self, params: &'a crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a>;
11837  10197   
11838  10198   
    /// Convert this service-specific resolver into a `SharedEndpointResolver`
11839  10199   
    ///
11840  10200   
    /// The resulting resolver will downcast `EndpointResolverParams` into `crate::config::endpoint::Params`.
11841  10201   
    fn into_shared_resolver(self) -> ::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver
11842  10202   
    where
11843  10203   
        Self: Sized + 'static,
11844  10204   
    {
11845  10205   
        ::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver::new(DowncastParams(self))
11846  10206   
    }
11847  10207   
}
11848  10208   
11849  10209   
#[derive(Debug)]
11850  10210   
struct DowncastParams<T>(T);
11851  10211   
impl<T> ::aws_smithy_runtime_api::client::endpoint::ResolveEndpoint for DowncastParams<T>
11852  10212   
where
11853  10213   
    T: ResolveEndpoint,
11854  10214   
{
11855  10215   
    fn resolve_endpoint<'a>(
11856  10216   
        &'a self,
11857  10217   
        params: &'a ::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams,
11858  10218   
    ) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a> {
11859  10219   
        let ep = match params.get::<crate::config::endpoint::Params>() {
11860  10220   
            Some(params) => self.0.resolve_endpoint(params),
11861  10221   
            None => ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(Err("params of expected type was not present".into())),
11862  10222   
        };
11863  10223   
        ep
11864  10224   
    }
11865  10225   
}
11866  10226   
11867  10227   
#[derive(Debug)]
11868  10228   
/// The default endpoint resolver.
11869  10229   
pub struct DefaultResolver {
11870  10230   
    partition_resolver: &'static crate::endpoint_lib::partition::PartitionResolver,
       10231  +
    endpoint_cache: ::arc_swap::ArcSwap<::std::option::Option<(Params, ::aws_smithy_types::endpoint::Endpoint)>>,
11871  10232   
}
11872  10233   
11873  10234   
impl Default for DefaultResolver {
11874  10235   
    fn default() -> Self {
11875  10236   
        Self::new()
11876  10237   
    }
11877  10238   
}
11878  10239   
11879  10240   
impl DefaultResolver {
11880  10241   
    /// Create a new DefaultResolver
11881  10242   
    pub fn new() -> Self {
11882  10243   
        Self {
11883  10244   
            partition_resolver: &crate::endpoint_lib::DEFAULT_PARTITION_RESOLVER,
       10245  +
            endpoint_cache: ::arc_swap::ArcSwap::from_pointee(None),
11884  10246   
        }
11885  10247   
    }
11886  10248   
11887         -
    #[allow(clippy::needless_borrow)]
11888         -
    pub(crate) fn evaluate_fn(
11889         -
        &self,
11890         -
    ) -> impl for<'a> FnMut(&ConditionFn, &'a Params, &mut ConditionContext<'a>, &mut crate::endpoint_lib::diagnostic::DiagnosticCollector) -> bool + '_
11891         -
    {
11892         -
        move |cond, params, context, _diagnostic_collector| cond.evaluate(params, context, &self.partition_resolver, _diagnostic_collector)
11893         -
    }
11894         -
11895         -
    fn resolve_endpoint<'a>(
11896         -
        &'a self,
11897         -
        params: &'a crate::config::endpoint::Params,
11898         -
    ) -> ::std::result::Result<::aws_smithy_types::endpoint::Endpoint, ::aws_smithy_runtime_api::box_error::BoxError> {
11899         -
        let mut diagnostic_collector = crate::endpoint_lib::diagnostic::DiagnosticCollector::new();
11900         -
        let mut condition_context = ConditionContext::default();
11901         -
        let result = crate::endpoint_lib::bdd_interpreter::evaluate_bdd(
11902         -
            &NODES,
11903         -
            &CONDITIONS,
11904         -
            &RESULTS,
11905         -
            521,
11906         -
            params,
11907         -
            &mut condition_context,
11908         -
            &mut diagnostic_collector,
11909         -
            self.evaluate_fn(),
11910         -
        );
11911         -
11912         -
        match result {
11913         -
            ::std::option::Option::Some(endpoint) => match endpoint.to_endpoint(params, &condition_context) {
11914         -
                Ok(ep) => Ok(ep),
11915         -
                Err(err) => Err(Box::new(err)),
11916         -
            },
11917         -
            ::std::option::Option::None => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
11918         -
                "No endpoint rule matched",
11919         -
            ))),
11920         -
        }
11921         -
    }
11922         -
}
11923         -
11924         -
impl crate::config::endpoint::ResolveEndpoint for DefaultResolver {
11925         -
    fn resolve_endpoint<'a>(&'a self, params: &'a crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a> {
11926         -
        let result = self.resolve_endpoint(params);
11927         -
11928         -
        ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(result)
11929         -
    }
11930         -
}
11931         -
#[derive(Debug)]
11932         -
pub(crate) enum ConditionFn {
11933         -
    Cond0,
11934         -
    Cond1,
11935         -
    Cond2,
11936         -
    Cond3,
11937         -
    Cond4,
11938         -
    Cond5,
11939         -
    Cond6,
11940         -
    Cond7,
11941         -
    Cond8,
11942         -
    Cond9,
11943         -
    Cond10,
11944         -
    Cond11,
11945         -
    Cond12,
11946         -
    Cond13,
11947         -
    Cond14,
11948         -
    Cond15,
11949         -
    Cond16,
11950         -
    Cond17,
11951         -
    Cond18,
11952         -
    Cond19,
11953         -
    Cond20,
11954         -
    Cond21,
11955         -
    Cond22,
11956         -
    Cond23,
11957         -
    Cond24,
11958         -
    Cond25,
11959         -
    Cond26,
11960         -
    Cond27,
11961         -
    Cond28,
11962         -
    Cond29,
11963         -
    Cond30,
11964         -
    Cond31,
11965         -
    Cond32,
11966         -
    Cond33,
11967         -
    Cond34,
11968         -
    Cond35,
11969         -
    Cond36,
11970         -
    Cond37,
11971         -
    Cond38,
11972         -
    Cond39,
11973         -
    Cond40,
11974         -
    Cond41,
11975         -
    Cond42,
11976         -
    Cond43,
11977         -
    Cond44,
11978         -
    Cond45,
11979         -
    Cond46,
11980         -
    Cond47,
11981         -
    Cond48,
11982         -
    Cond49,
11983         -
    Cond50,
11984         -
    Cond51,
11985         -
    Cond52,
11986         -
    Cond53,
11987         -
    Cond54,
11988         -
    Cond55,
11989         -
    Cond56,
11990         -
    Cond57,
11991         -
    Cond58,
11992         -
    Cond59,
11993         -
    Cond60,
11994         -
    Cond61,
11995         -
    Cond62,
11996         -
    Cond63,
11997         -
    Cond64,
11998         -
    Cond65,
11999         -
    Cond66,
12000         -
    Cond67,
12001         -
    Cond68,
12002         -
    Cond69,
12003         -
    Cond70,
12004         -
    Cond71,
12005         -
    Cond72,
12006         -
    Cond73,
12007         -
    Cond74,
12008         -
    Cond75,
12009         -
}
12010         -
12011         -
impl ConditionFn {
12012  10249   
    #[allow(
12013  10250   
        unused_variables,
12014  10251   
        unused_parens,
12015  10252   
        clippy::double_parens,
12016  10253   
        clippy::useless_conversion,
12017  10254   
        clippy::bool_comparison,
12018  10255   
        clippy::comparison_to_empty,
12019  10256   
        clippy::needless_borrow,
12020         -
        clippy::useless_asref
       10257  +
        clippy::useless_asref,
       10258  +
        clippy::redundant_closure_call
12021  10259   
    )]
12022         -
    fn evaluate<'a>(
12023         -
        &self,
12024         -
        params: &'a Params,
12025         -
        context: &mut ConditionContext<'a>,
12026         -
        partition_resolver: &'a crate::endpoint_lib::partition::PartitionResolver,
12027         -
        _diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector,
12028         -
    ) -> bool {
       10260  +
    fn resolve_endpoint<'a>(
       10261  +
        &'a self,
       10262  +
        params: &'a crate::config::endpoint::Params,
       10263  +
    ) -> ::std::result::Result<::aws_smithy_types::endpoint::Endpoint, ::aws_smithy_runtime_api::box_error::BoxError> {
       10264  +
        let mut _diagnostic_collector = crate::endpoint_lib::diagnostic::DiagnosticCollector::new();
       10265  +
        #[allow(unused_mut)]
       10266  +
        let mut context = ConditionContext::default();
       10267  +
12029  10268   
        // Param bindings
12030  10269   
        let bucket = &params.bucket;
12031  10270   
        let region = &params.region;
12032  10271   
        let use_fips = &params.use_fips;
12033  10272   
        let use_dual_stack = &params.use_dual_stack;
12034  10273   
        let endpoint = &params.endpoint;
12035  10274   
        let force_path_style = &params.force_path_style;
12036  10275   
        let accelerate = &params.accelerate;
12037  10276   
        let use_global_endpoint = &params.use_global_endpoint;
12038  10277   
        let use_object_lambda_endpoint = &params.use_object_lambda_endpoint;
12039  10278   
        let key = &params.key;
12040  10279   
        let prefix = &params.prefix;
12041  10280   
        let copy_source = &params.copy_source;
12042  10281   
        let disable_access_points = &params.disable_access_points;
12043  10282   
        let disable_multi_region_access_points = &params.disable_multi_region_access_points;
12044  10283   
        let use_arn_region = &params.use_arn_region;
12045  10284   
        let use_s3_express_control_endpoint = &params.use_s3_express_control_endpoint;
12046  10285   
        let disable_s3_express_session_auth = &params.disable_s3_express_session_auth;
12047  10286   
12048         -
        // Non-Param references
12049         -
        let effective_std_region = &mut context.effective_std_region;
12050         -
        let partition_result = &mut context.partition_result;
12051         -
        let url = &mut context.url;
12052         -
        let access_point_suffix = &mut context.access_point_suffix;
12053         -
        let region_prefix = &mut context.region_prefix;
12054         -
        let hardware_type = &mut context.hardware_type;
12055         -
        let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
12056         -
        let s3_e_ds = &mut context.s3_e_ds;
12057         -
        let s3_e_fips = &mut context.s3_e_fips;
12058         -
        let s3_e_auth = &mut context.s3_e_auth;
12059         -
        let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
12060         -
        let bucket_arn = &mut context.bucket_arn;
12061         -
        let effective_arn_region = &mut context.effective_arn_region;
12062         -
        let uri_encoded_bucket = &mut context.uri_encoded_bucket;
12063         -
        let arn_type = &mut context.arn_type;
12064         -
        let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
12065         -
        let bucket_partition = &mut context.bucket_partition;
12066         -
        let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
12067         -
        let outpost_type = &mut context.outpost_type;
12068         -
        let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
12069         -
        match self {
12070         -
            Self::Cond0 => region.is_some(),
12071         -
            Self::Cond1 => {
12072         -
                *effective_std_region = Some(
12073         -
                    crate::endpoint_lib::ite::ite!(
12074         -
                        (region) == &mut Some(("aws-global".into())),
12075         -
                        "us-east-1".to_string(),
12076         -
                        region.clone().expect("Reference already confirmed Some")
12077         -
                    )
12078         -
                    .into(),
12079         -
                );
12080         -
                true
12081         -
            }
12082         -
            Self::Cond2 => (accelerate) == (&true),
12083         -
            Self::Cond3 => (use_fips) == (&true),
12084         -
            Self::Cond4 => endpoint.is_some(),
12085         -
            Self::Cond5 => (use_dual_stack) == (&true),
12086         -
            Self::Cond6 => bucket.is_some(),
12087         -
            Self::Cond7 => {
12088         -
                (crate::endpoint_lib::coalesce::coalesce!(
12089         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12090         -
                        if let Some(param) = bucket { param } else { return false },
12091         -
                        0,
12092         -
                        6,
12093         -
                        true,
12094         -
                        _diagnostic_collector
12095         -
                    ) {
12096         -
                        inner
12097         -
                    } else {
12098         -
                        return false;
12099         -
                    },
12100         -
                    ""
12101         -
                )) == ("--x-s3")
12102         -
            }
12103         -
            Self::Cond8 => {
12104         -
                (crate::endpoint_lib::coalesce::coalesce!(
12105         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12106         -
                        if let Some(param) = bucket { param } else { return false },
12107         -
                        0,
12108         -
                        7,
12109         -
                        true,
12110         -
                        _diagnostic_collector
12111         -
                    ) {
12112         -
                        inner
12113         -
                    } else {
12114         -
                        return false;
12115         -
                    },
12116         -
                    ""
12117         -
                )) == ("--xa-s3")
12118         -
            }
12119         -
            Self::Cond9 => {
12120         -
                *partition_result = partition_resolver
12121         -
                    .resolve_partition(if let Some(param) = region { param } else { return false }, _diagnostic_collector)
12122         -
                    .map(|inner| inner.into());
12123         -
                partition_result.is_some()
12124         -
            }
12125         -
            Self::Cond10 => {
12126         -
                *url =
12127         -
                    crate::endpoint_lib::parse_url::parse_url(if let Some(param) = endpoint { param } else { return false }, _diagnostic_collector)
12128         -
                        .map(|inner| inner.into());
12129         -
                url.is_some()
12130         -
            }
12131         -
            Self::Cond11 => {
12132         -
                *access_point_suffix = crate::endpoint_lib::substring::substring(
12133         -
                    if let Some(param) = bucket { param } else { return false },
12134         -
                    0,
12135         -
                    7,
12136         -
                    true,
12137         -
                    _diagnostic_collector,
12138         -
                )
12139         -
                .map(|inner| inner.into());
12140         -
                access_point_suffix.is_some()
12141         -
            }
12142         -
            Self::Cond12 => (access_point_suffix) == &mut Some(("--op-s3".into())),
12143         -
            Self::Cond13 => {
12144         -
                *region_prefix = crate::endpoint_lib::substring::substring(
12145         -
                    if let Some(param) = bucket { param } else { return false },
12146         -
                    8,
12147         -
                    12,
12148         -
                    true,
12149         -
                    _diagnostic_collector,
12150         -
                )
12151         -
                .map(|inner| inner.into());
12152         -
                region_prefix.is_some()
12153         -
            }
12154         -
            Self::Cond14 => {
12155         -
                *hardware_type = crate::endpoint_lib::substring::substring(
12156         -
                    if let Some(param) = bucket { param } else { return false },
12157         -
                    49,
12158         -
                    50,
12159         -
                    true,
12160         -
                    _diagnostic_collector,
12161         -
                )
12162         -
                .map(|inner| inner.into());
12163         -
                hardware_type.is_some()
12164         -
            }
12165         -
            Self::Cond15 => {
12166         -
                *outpost_id_ssa_2 = crate::endpoint_lib::substring::substring(
12167         -
                    if let Some(param) = bucket { param } else { return false },
12168         -
                    32,
12169         -
                    49,
12170         -
                    true,
12171         -
                    _diagnostic_collector,
12172         -
                )
12173         -
                .map(|inner| inner.into());
12174         -
                outpost_id_ssa_2.is_some()
12175         -
            }
12176         -
            Self::Cond16 => {
12177         -
                (if let Some(inner) = partition_result {
12178         -
                    inner.name()
12179         -
                } else {
12180         -
                    return false;
12181         -
                }) == ("aws-cn")
12182         -
            }
12183         -
            Self::Cond17 => {
12184         -
                *s3_e_ds = Some(crate::endpoint_lib::ite::ite!(use_dual_stack, ".dualstack".to_string(), "".to_string()).into());
12185         -
                true
12186         -
            }
12187         -
            Self::Cond18 => {
12188         -
                *s3_e_fips = Some(crate::endpoint_lib::ite::ite!(use_fips, "-fips".to_string(), "".to_string()).into());
12189         -
                true
12190         -
            }
12191         -
            Self::Cond19 => (force_path_style) == (&true),
12192         -
            Self::Cond20 => {
12193         -
                *s3_e_auth = Some(
12194         -
                    crate::endpoint_lib::ite::ite!(
12195         -
                        crate::endpoint_lib::coalesce::coalesce!(*disable_s3_express_session_auth, false),
12196         -
                        "sigv4".to_string(),
12197         -
                        "sigv4-s3express".to_string()
12198         -
                    )
12199         -
                    .into(),
12200         -
                );
12201         -
                true
12202         -
            }
12203         -
            Self::Cond21 => crate::endpoint_lib::s3::is_virtual_hostable_s3_bucket(
12204         -
                if let Some(param) = bucket { param } else { return false },
12205         -
                false,
12206         -
                _diagnostic_collector,
12207         -
            ),
12208         -
            Self::Cond22 => {
12209         -
                *s3express_availability_zone_id = crate::endpoint_lib::split::split(
12210         -
                    if let Some(param) = bucket { param } else { return false },
12211         -
                    "--",
12212         -
                    0,
12213         -
                    _diagnostic_collector,
12214         -
                )
12215         -
                .get(1)
12216         -
                .cloned()
12217         -
                .map(|inner| inner.into());
12218         -
                s3express_availability_zone_id.is_some()
12219         -
            }
12220         -
            Self::Cond23 => crate::endpoint_lib::host::is_valid_host_label(
12221         -
                if let Some(param) = outpost_id_ssa_2 { param } else { return false },
12222         -
                false,
12223         -
                _diagnostic_collector,
12224         -
            ),
12225         -
            Self::Cond24 => (crate::endpoint_lib::coalesce::coalesce!(*use_s3_express_control_endpoint, false)) == (true),
12226         -
            Self::Cond25 => (region_prefix) == &mut Some(("beta".into())),
12227         -
            Self::Cond26 => crate::endpoint_lib::s3::is_virtual_hostable_s3_bucket(
12228         -
                if let Some(param) = bucket { param } else { return false },
12229         -
                true,
12230         -
                _diagnostic_collector,
12231         -
            ),
12232         -
            Self::Cond27 => {
12233         -
                (crate::endpoint_lib::coalesce::coalesce!(
12234         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12235         -
                        if let Some(param) = bucket { param } else { return false },
12236         -
                        16,
12237         -
                        18,
12238         -
                        true,
12239         -
                        _diagnostic_collector
12240         -
                    ) {
12241         -
                        inner
12242         -
                    } else {
12243         -
                        return false;
12244         -
                    },
12245         -
                    ""
12246         -
                )) == ("--")
12247         -
            }
12248         -
            Self::Cond28 => {
12249         -
                (crate::endpoint_lib::coalesce::coalesce!(
12250         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12251         -
                        if let Some(param) = bucket { param } else { return false },
12252         -
                        21,
12253         -
                        23,
12254         -
                        true,
12255         -
                        _diagnostic_collector
12256         -
                    ) {
12257         -
                        inner
12258         -
                    } else {
12259         -
                        return false;
12260         -
                    },
12261         -
                    ""
12262         -
                )) == ("--")
12263         -
            }
12264         -
            Self::Cond29 => (if let Some(inner) = url { inner.scheme() } else { return false }) == ("http"),
12265         -
            Self::Cond30 => crate::endpoint_lib::host::is_valid_host_label(
12266         -
                if let Some(param) = region { param } else { return false },
12267         -
                false,
12268         -
                _diagnostic_collector,
12269         -
            ),
12270         -
            Self::Cond31 => {
12271         -
                *bucket_arn = crate::endpoint_lib::arn::parse_arn(if let Some(param) = bucket { param } else { return false }, _diagnostic_collector)
12272         -
                    .map(|inner| inner.into());
12273         -
                bucket_arn.is_some()
12274         -
            }
12275         -
            Self::Cond32 => {
12276         -
                (crate::endpoint_lib::coalesce::coalesce!(
12277         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12278         -
                        if let Some(param) = bucket { param } else { return false },
12279         -
                        27,
12280         -
                        29,
12281         -
                        true,
12282         -
                        _diagnostic_collector
12283         -
                    ) {
12284         -
                        inner
12285         -
                    } else {
12286         -
                        return false;
12287         -
                    },
12288         -
                    ""
12289         -
                )) == ("--")
12290         -
            }
12291         -
            Self::Cond33 => {
12292         -
                *effective_arn_region = Some(
12293         -
                    crate::endpoint_lib::ite::ite!(
12294         -
                        crate::endpoint_lib::coalesce::coalesce!(*use_arn_region, true),
12295         -
                        if let Some(inner) = bucket_arn { inner.region() } else { return false }.to_string(),
12296         -
                        region.clone().expect("Reference already confirmed Some")
12297         -
                    )
12298         -
                    .into(),
12299         -
                );
12300         -
                true
12301         -
            }
12302         -
            Self::Cond34 => (if let Some(inner) = url { inner.is_ip() } else { return false }) == (true),
12303         -
            Self::Cond35 => {
12304         -
                (crate::endpoint_lib::coalesce::coalesce!(
12305         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12306         -
                        if let Some(param) = bucket { param } else { return false },
12307         -
                        0,
12308         -
                        4,
12309         -
                        false,
12310         -
                        _diagnostic_collector
12311         -
                    ) {
12312         -
                        inner
12313         -
                    } else {
12314         -
                        return false;
12315         -
                    },
12316         -
                    ""
12317         -
                )) == ("arn:")
12318         -
            }
12319         -
            Self::Cond36 => {
12320         -
                *uri_encoded_bucket = Some(
12321         -
                    crate::endpoint_lib::uri_encode::uri_encode(if let Some(param) = bucket { param } else { return false }, _diagnostic_collector)
12322         -
                        .into(),
12323         -
                );
12324         -
                true
12325         -
            }
12326         -
            Self::Cond37 => (crate::endpoint_lib::coalesce::coalesce!(*use_object_lambda_endpoint, false)) == (true),
12327         -
            Self::Cond38 => {
12328         -
                *arn_type = if let Some(inner) = bucket_arn {
12329         -
                    inner.resource_id().first().cloned()
12330         -
                } else {
12331         -
                    return false;
12332         -
                }
12333         -
                .map(|inner| inner.into());
12334         -
                arn_type.is_some()
12335         -
            }
12336         -
            Self::Cond39 => (arn_type) == &mut Some(("".into())),
12337         -
            Self::Cond40 => (arn_type) == &mut Some(("accesspoint".into())),
12338         -
            Self::Cond41 => {
12339         -
                *access_point_name_ssa_1 = if let Some(inner) = bucket_arn {
12340         -
                    inner.resource_id().get(1).cloned()
12341         -
                } else {
12342         -
                    return false;
12343         -
                }
12344         -
                .map(|inner| inner.into());
12345         -
                access_point_name_ssa_1.is_some()
12346         -
            }
12347         -
            Self::Cond42 => (access_point_name_ssa_1) == &mut Some(("".into())),
12348         -
            Self::Cond43 => (if let Some(inner) = bucket_arn { inner.service() } else { return false }) == ("s3-object-lambda"),
12349         -
            Self::Cond44 => crate::endpoint_lib::host::is_valid_host_label(
12350         -
                if let Some(param) = region { param } else { return false },
12351         -
                true,
12352         -
                _diagnostic_collector,
12353         -
            ),
12354         -
            Self::Cond45 => (if let Some(inner) = bucket_arn { inner.region() } else { return false }) == (""),
12355         -
            Self::Cond46 => (hardware_type) == &mut Some(("e".into())),
12356         -
            Self::Cond47 => {
12357         -
                (crate::endpoint_lib::coalesce::coalesce!(
12358         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12359         -
                        if let Some(param) = bucket { param } else { return false },
12360         -
                        26,
12361         -
                        28,
12362         -
                        true,
12363         -
                        _diagnostic_collector
12364         -
                    ) {
12365         -
                        inner
12366         -
                    } else {
12367         -
                        return false;
12368         -
                    },
12369         -
                    ""
12370         -
                )) == ("--")
12371         -
            }
12372         -
            Self::Cond48 => {
12373         -
                (crate::endpoint_lib::coalesce::coalesce!(
12374         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12375         -
                        if let Some(param) = bucket { param } else { return false },
12376         -
                        19,
12377         -
                        21,
12378         -
                        true,
12379         -
                        _diagnostic_collector
12380         -
                    ) {
12381         -
                        inner
12382         -
                    } else {
12383         -
                        return false;
12384         -
                    },
12385         -
                    ""
12386         -
                )) == ("--")
12387         -
            }
12388         -
            Self::Cond49 => {
12389         -
                (crate::endpoint_lib::coalesce::coalesce!(
12390         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12391         -
                        if let Some(param) = bucket { param } else { return false },
12392         -
                        14,
12393         -
                        16,
12394         -
                        true,
12395         -
                        _diagnostic_collector
12396         -
                    ) {
12397         -
                        inner
12398         -
                    } else {
12399         -
                        return false;
12400         -
                    },
12401         -
                    ""
12402         -
                )) == ("--")
12403         -
            }
12404         -
            Self::Cond50 => {
12405         -
                (crate::endpoint_lib::coalesce::coalesce!(
12406         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12407         -
                        if let Some(param) = bucket { param } else { return false },
12408         -
                        20,
12409         -
                        22,
12410         -
                        true,
12411         -
                        _diagnostic_collector
12412         -
                    ) {
12413         -
                        inner
12414         -
                    } else {
12415         -
                        return false;
12416         -
                    },
12417         -
                    ""
12418         -
                )) == ("--")
12419         -
            }
12420         -
            Self::Cond51 => {
12421         -
                (crate::endpoint_lib::coalesce::coalesce!(
12422         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12423         -
                        if let Some(param) = bucket { param } else { return false },
12424         -
                        15,
12425         -
                        17,
12426         -
                        true,
12427         -
                        _diagnostic_collector
12428         -
                    ) {
12429         -
                        inner
12430         -
                    } else {
12431         -
                        return false;
12432         -
                    },
12433         -
                    ""
12434         -
                )) == ("--")
12435         -
            }
12436         -
            Self::Cond52 => (if let Some(inner) = bucket_arn { inner.service() } else { return false }) == ("s3-outposts"),
12437         -
            Self::Cond53 => (crate::endpoint_lib::coalesce::coalesce!(*disable_access_points, false)) == (true),
12438         -
            Self::Cond54 => {
12439         -
                *bucket_partition = partition_resolver
12440         -
                    .resolve_partition(
12441         -
                        if let Some(param) = effective_arn_region { param } else { return false },
12442         -
                        _diagnostic_collector,
12443         -
                    )
12444         -
                    .map(|inner| inner.into());
12445         -
                bucket_partition.is_some()
12446         -
            }
12447         -
            Self::Cond55 => (hardware_type) == &mut Some(("o".into())),
12448         -
            Self::Cond56 => if let Some(inner) = bucket_arn {
12449         -
                inner.resource_id().get(4).cloned()
12450         -
            } else {
12451         -
                return false;
12452         -
            }
12453         -
            .is_some(),
12454         -
            Self::Cond57 => {
12455         -
                *outpost_id_ssa_1 = if let Some(inner) = bucket_arn {
12456         -
                    inner.resource_id().get(1).cloned()
12457         -
                } else {
12458         -
                    return false;
12459         -
                }
12460         -
                .map(|inner| inner.into());
12461         -
                outpost_id_ssa_1.is_some()
12462         -
            }
12463         -
            Self::Cond58 => (crate::endpoint_lib::coalesce::coalesce!(*use_arn_region, true)) == (true),
12464         -
            Self::Cond59 => (effective_arn_region) == &mut Some((if let Some(inner) = bucket_arn { inner.region() } else { return false }.into())),
12465         -
            Self::Cond60 => (region) == &mut Some(("aws-global".into())),
12466         -
            Self::Cond61 => (use_global_endpoint) == (&true),
12467         -
            Self::Cond62 => (disable_multi_region_access_points) == (&true),
12468         -
            Self::Cond63 => (region) == &mut Some(("us-east-1".into())),
12469         -
            Self::Cond64 => crate::endpoint_lib::host::is_valid_host_label(
12470         -
                if let Some(param) = outpost_id_ssa_1 { param } else { return false },
12471         -
                false,
12472         -
                _diagnostic_collector,
12473         -
            ),
12474         -
            Self::Cond65 => {
12475         -
                *outpost_type = if let Some(inner) = bucket_arn {
12476         -
                    inner.resource_id().get(2).cloned()
12477         -
                } else {
12478         -
                    return false;
12479         -
                }
12480         -
                .map(|inner| inner.into());
12481         -
                outpost_type.is_some()
12482         -
            }
12483         -
            Self::Cond66 => {
12484         -
                (if let Some(inner) = bucket_partition {
12485         -
                    inner.name()
12486         -
                } else {
12487         -
                    return false;
12488         -
                }) == (if let Some(inner) = partition_result {
12489         -
                    inner.name()
12490         -
                } else {
12491         -
                    return false;
12492         -
                })
12493         -
            }
12494         -
            Self::Cond67 => crate::endpoint_lib::host::is_valid_host_label(
12495         -
                if let Some(param) = effective_arn_region { param } else { return false },
12496         -
                true,
12497         -
                _diagnostic_collector,
12498         -
            ),
12499         -
            Self::Cond68 => (if let Some(inner) = bucket_arn { inner.service() } else { return false }) == ("s3"),
12500         -
            Self::Cond69 => {
12501         -
                (if let Some(inner) = bucket_arn {
12502         -
                    inner.account_id()
12503         -
                } else {
12504         -
                    return false;
12505         -
                }) == ("")
12506         -
            }
12507         -
            Self::Cond70 => crate::endpoint_lib::host::is_valid_host_label(
12508         -
                if let Some(inner) = bucket_arn {
12509         -
                    inner.account_id()
12510         -
                } else {
12511         -
                    return false;
12512         -
                },
12513         -
                false,
12514         -
                _diagnostic_collector,
12515         -
            ),
12516         -
            Self::Cond71 => crate::endpoint_lib::host::is_valid_host_label(
12517         -
                if let Some(param) = access_point_name_ssa_1 {
12518         -
                    param
12519         -
                } else {
12520         -
                    return false;
12521         -
                },
12522         -
                false,
12523         -
                _diagnostic_collector,
12524         -
            ),
12525         -
            Self::Cond72 => {
12526         -
                *access_point_name_ssa_2 = if let Some(inner) = bucket_arn {
12527         -
                    inner.resource_id().get(3).cloned()
12528         -
                } else {
12529         -
                    return false;
12530         -
                }
12531         -
                .map(|inner| inner.into());
12532         -
                access_point_name_ssa_2.is_some()
12533         -
            }
12534         -
            Self::Cond73 => crate::endpoint_lib::host::is_valid_host_label(
12535         -
                if let Some(param) = access_point_name_ssa_1 {
12536         -
                    param
12537         -
                } else {
12538         -
                    return false;
12539         -
                },
12540         -
                true,
12541         -
                _diagnostic_collector,
12542         -
            ),
12543         -
            Self::Cond74 => {
12544         -
                (if let Some(inner) = bucket_arn { inner.partition() } else { return false })
12545         -
                    == (if let Some(inner) = partition_result {
12546         -
                        inner.name()
12547         -
                    } else {
12548         -
                        return false;
12549         -
                    })
12550         -
            }
12551         -
            Self::Cond75 => (outpost_type) == &mut Some(("accesspoint".into())),
12552         -
        }
12553         -
    }
12554         -
}
12555         -
12556         -
const CONDITIONS: [ConditionFn; 76] = [
12557         -
    ConditionFn::Cond0,
12558         -
    ConditionFn::Cond1,
12559         -
    ConditionFn::Cond2,
12560         -
    ConditionFn::Cond3,
12561         -
    ConditionFn::Cond4,
12562         -
    ConditionFn::Cond5,
12563         -
    ConditionFn::Cond6,
12564         -
    ConditionFn::Cond7,
12565         -
    ConditionFn::Cond8,
12566         -
    ConditionFn::Cond9,
12567         -
    ConditionFn::Cond10,
12568         -
    ConditionFn::Cond11,
12569         -
    ConditionFn::Cond12,
12570         -
    ConditionFn::Cond13,
12571         -
    ConditionFn::Cond14,
12572         -
    ConditionFn::Cond15,
12573         -
    ConditionFn::Cond16,
12574         -
    ConditionFn::Cond17,
12575         -
    ConditionFn::Cond18,
12576         -
    ConditionFn::Cond19,
12577         -
    ConditionFn::Cond20,
12578         -
    ConditionFn::Cond21,
12579         -
    ConditionFn::Cond22,
12580         -
    ConditionFn::Cond23,
12581         -
    ConditionFn::Cond24,
12582         -
    ConditionFn::Cond25,
12583         -
    ConditionFn::Cond26,
12584         -
    ConditionFn::Cond27,
12585         -
    ConditionFn::Cond28,
12586         -
    ConditionFn::Cond29,
12587         -
    ConditionFn::Cond30,
12588         -
    ConditionFn::Cond31,
12589         -
    ConditionFn::Cond32,
12590         -
    ConditionFn::Cond33,
12591         -
    ConditionFn::Cond34,
12592         -
    ConditionFn::Cond35,
12593         -
    ConditionFn::Cond36,
12594         -
    ConditionFn::Cond37,
12595         -
    ConditionFn::Cond38,
12596         -
    ConditionFn::Cond39,
12597         -
    ConditionFn::Cond40,
12598         -
    ConditionFn::Cond41,
12599         -
    ConditionFn::Cond42,
12600         -
    ConditionFn::Cond43,
12601         -
    ConditionFn::Cond44,
12602         -
    ConditionFn::Cond45,
12603         -
    ConditionFn::Cond46,
12604         -
    ConditionFn::Cond47,
12605         -
    ConditionFn::Cond48,
12606         -
    ConditionFn::Cond49,
12607         -
    ConditionFn::Cond50,
12608         -
    ConditionFn::Cond51,
12609         -
    ConditionFn::Cond52,
12610         -
    ConditionFn::Cond53,
12611         -
    ConditionFn::Cond54,
12612         -
    ConditionFn::Cond55,
12613         -
    ConditionFn::Cond56,
12614         -
    ConditionFn::Cond57,
12615         -
    ConditionFn::Cond58,
12616         -
    ConditionFn::Cond59,
12617         -
    ConditionFn::Cond60,
12618         -
    ConditionFn::Cond61,
12619         -
    ConditionFn::Cond62,
12620         -
    ConditionFn::Cond63,
12621         -
    ConditionFn::Cond64,
12622         -
    ConditionFn::Cond65,
12623         -
    ConditionFn::Cond66,
12624         -
    ConditionFn::Cond67,
12625         -
    ConditionFn::Cond68,
12626         -
    ConditionFn::Cond69,
12627         -
    ConditionFn::Cond70,
12628         -
    ConditionFn::Cond71,
12629         -
    ConditionFn::Cond72,
12630         -
    ConditionFn::Cond73,
12631         -
    ConditionFn::Cond74,
12632         -
    ConditionFn::Cond75,
12633         -
];
12634         -
#[derive(Debug, Clone)]
12635         -
enum ResultEndpoint {
12636         -
    Result0,
12637         -
    Result1,
12638         -
    Result2,
12639         -
    Result3,
12640         -
    Result4,
12641         -
    Result5,
12642         -
    Result6,
12643         -
    Result7,
12644         -
    Result8,
12645         -
    Result9,
12646         -
    Result10,
12647         -
    Result11,
12648         -
    Result12,
12649         -
    Result13,
12650         -
    Result14,
12651         -
    Result15,
12652         -
    Result16,
12653         -
    Result17,
12654         -
    Result18,
12655         -
    Result19,
12656         -
    Result20,
12657         -
    Result21,
12658         -
    Result22,
12659         -
    Result23,
12660         -
    Result24,
12661         -
    Result25,
12662         -
    Result26,
12663         -
    Result27,
12664         -
    Result28,
12665         -
    Result29,
12666         -
    Result30,
12667         -
    Result31,
12668         -
    Result32,
12669         -
    Result33,
12670         -
    Result34,
12671         -
    Result35,
12672         -
    Result36,
12673         -
    Result37,
12674         -
    Result38,
12675         -
    Result39,
12676         -
    Result40,
12677         -
    Result41,
12678         -
    Result42,
12679         -
    Result43,
12680         -
    Result44,
12681         -
    Result45,
12682         -
    Result46,
12683         -
    Result47,
12684         -
    Result48,
12685         -
    Result49,
12686         -
    Result50,
12687         -
    Result51,
12688         -
    Result52,
12689         -
    Result53,
12690         -
    Result54,
12691         -
    Result55,
12692         -
    Result56,
12693         -
    Result57,
12694         -
    Result58,
12695         -
    Result59,
12696         -
    Result60,
12697         -
    Result61,
12698         -
    Result62,
12699         -
    Result63,
12700         -
    Result64,
12701         -
    Result65,
12702         -
    Result66,
12703         -
    Result67,
12704         -
    Result68,
12705         -
    Result69,
12706         -
    Result70,
12707         -
    Result71,
12708         -
    Result72,
12709         -
    Result73,
12710         -
    Result74,
12711         -
    Result75,
12712         -
    Result76,
12713         -
    Result77,
12714         -
    Result78,
12715         -
    Result79,
12716         -
    Result80,
12717         -
    Result81,
12718         -
    Result82,
12719         -
    Result83,
12720         -
    Result84,
12721         -
    Result85,
12722         -
    Result86,
12723         -
    Result87,
12724         -
    Result88,
12725         -
    Result89,
12726         -
    Result90,
12727         -
    Result91,
12728         -
    Result92,
12729         -
    Result93,
12730         -
    Result94,
12731         -
    Result95,
12732         -
    Result96,
12733         -
}
12734         -
12735         -
impl<'a> ResultEndpoint {
12736         -
    #[allow(unused_variables, clippy::useless_asref)]
12737         -
    fn to_endpoint(
12738         -
        &self,
12739         -
        params: &'a Params,
12740         -
        context: &ConditionContext<'a>,
12741         -
    ) -> ::std::result::Result<::aws_smithy_types::endpoint::Endpoint, ::aws_smithy_http::endpoint::ResolveEndpointError> {
12742         -
        match self {
12743         -
            Self::Result0 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message("No endpoint rule matched")),
12744         -
            Self::Result1 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
12745         -
                "Accelerate cannot be used with FIPS".to_string(),
12746         -
            )),
12747         -
            Self::Result2 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
12748         -
                "Cannot set dual-stack in combination with a custom endpoint.".to_string(),
12749         -
            )),
12750         -
            Self::Result3 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
12751         -
                "A custom endpoint cannot be combined with FIPS".to_string(),
12752         -
            )),
12753         -
            Self::Result4 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
12754         -
                "A custom endpoint cannot be combined with S3 Accelerate".to_string(),
12755         -
            )),
12756         -
            Self::Result5 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
12757         -
                "Partition does not support FIPS".to_string(),
12758         -
            )),
12759         -
            Self::Result6 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
12760         -
                "S3Express does not support S3 Accelerate.".to_string(),
12761         -
            )),
12762         -
            Self::Result7 => {
12763         -
                let effective_std_region = context
12764         -
                    .effective_std_region
12765         -
                    .as_ref()
12766         -
                    .map(|s| s.clone())
12767         -
                    .expect("Guaranteed to have a value by earlier checks.");
12768         -
                let url = context
12769         -
                    .url
12770         -
                    .as_ref()
12771         -
                    .map(|s| s.clone())
12772         -
                    .expect("Guaranteed to have a value by earlier checks.");
12773         -
                let s3_e_auth = context
12774         -
                    .s3_e_auth
12775         -
                    .as_ref()
12776         -
                    .map(|s| s.clone())
12777         -
                    .expect("Guaranteed to have a value by earlier checks.");
12778         -
                let uri_encoded_bucket = context
12779         -
                    .uri_encoded_bucket
12780         -
                    .as_ref()
12781         -
                    .map(|s| s.clone())
12782         -
                    .expect("Guaranteed to have a value by earlier checks.");
12783         -
                ::std::result::Result::Ok(
12784         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
12785         -
                        .url({
12786         -
                            let mut out = String::new();
12787         -
                            #[allow(clippy::needless_borrow)]
12788         -
                            out.push_str(&url.scheme());
12789         -
                            out.push_str("://");
12790         -
                            #[allow(clippy::needless_borrow)]
12791         -
                            out.push_str(&url.authority());
12792         -
                            out.push('/');
12793         -
                            #[allow(clippy::needless_borrow)]
12794         -
                            out.push_str(&uri_encoded_bucket.as_ref());
12795         -
                            #[allow(clippy::needless_borrow)]
12796         -
                            out.push_str(&url.path());
12797         -
                            out
12798         -
                        })
12799         -
                        .property("backend", "S3Express".to_string())
12800         -
                        .property(
12801         -
                            "authSchemes",
12802         -
                            vec![::aws_smithy_types::Document::from({
12803         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
12804         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
12805         -
                                out.insert("name".to_string(), s3_e_auth.to_owned().into());
12806         -
                                out.insert("signingName".to_string(), "s3express".to_string().into());
12807         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
12808         -
                                out
12809         -
                            })],
12810         -
                        )
12811         -
                        .build(),
12812         -
                )
12813         -
            }
12814         -
            Self::Result8 => {
12815         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
12816         -
                let effective_std_region = context
12817         -
                    .effective_std_region
12818         -
                    .as_ref()
12819         -
                    .map(|s| s.clone())
12820         -
                    .expect("Guaranteed to have a value by earlier checks.");
12821         -
                let url = context
12822         -
                    .url
12823         -
                    .as_ref()
12824         -
                    .map(|s| s.clone())
12825         -
                    .expect("Guaranteed to have a value by earlier checks.");
12826         -
                let s3_e_auth = context
12827         -
                    .s3_e_auth
12828         -
                    .as_ref()
12829         -
                    .map(|s| s.clone())
12830         -
                    .expect("Guaranteed to have a value by earlier checks.");
12831         -
                ::std::result::Result::Ok(
12832         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
12833         -
                        .url({
12834         -
                            let mut out = String::new();
12835         -
                            #[allow(clippy::needless_borrow)]
12836         -
                            out.push_str(&url.scheme());
12837         -
                            out.push_str("://");
12838         -
                            #[allow(clippy::needless_borrow)]
12839         -
                            out.push_str(&bucket.as_ref());
12840         -
                            out.push('.');
12841         -
                            #[allow(clippy::needless_borrow)]
12842         -
                            out.push_str(&url.authority());
12843         -
                            #[allow(clippy::needless_borrow)]
12844         -
                            out.push_str(&url.path());
12845         -
                            out
12846         -
                        })
12847         -
                        .property("backend", "S3Express".to_string())
12848         -
                        .property(
12849         -
                            "authSchemes",
12850         -
                            vec![::aws_smithy_types::Document::from({
12851         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
12852         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
12853         -
                                out.insert("name".to_string(), s3_e_auth.to_owned().into());
12854         -
                                out.insert("signingName".to_string(), "s3express".to_string().into());
12855         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
12856         -
                                out
12857         -
                            })],
12858         -
                        )
12859         -
                        .build(),
12860         -
                )
12861         -
            }
12862         -
            Self::Result9 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
12863         -
                "S3Express bucket name is not a valid virtual hostable name.".to_string(),
12864         -
            )),
12865         -
            Self::Result10 => {
12866         -
                let effective_std_region = context
12867         -
                    .effective_std_region
12868         -
                    .as_ref()
12869         -
                    .map(|s| s.clone())
12870         -
                    .expect("Guaranteed to have a value by earlier checks.");
12871         -
                let partition_result = context
12872         -
                    .partition_result
12873         -
                    .as_ref()
12874         -
                    .map(|s| s.clone())
12875         -
                    .expect("Guaranteed to have a value by earlier checks.");
12876         -
                let s3_e_ds = context
12877         -
                    .s3_e_ds
12878         -
                    .as_ref()
12879         -
                    .map(|s| s.clone())
12880         -
                    .expect("Guaranteed to have a value by earlier checks.");
12881         -
                let s3_e_fips = context
12882         -
                    .s3_e_fips
12883         -
                    .as_ref()
12884         -
                    .map(|s| s.clone())
12885         -
                    .expect("Guaranteed to have a value by earlier checks.");
12886         -
                let uri_encoded_bucket = context
12887         -
                    .uri_encoded_bucket
12888         -
                    .as_ref()
12889         -
                    .map(|s| s.clone())
12890         -
                    .expect("Guaranteed to have a value by earlier checks.");
12891         -
                ::std::result::Result::Ok(
12892         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
12893         -
                        .url({
12894         -
                            let mut out = String::new();
12895         -
                            out.push_str("https://s3express-control");
12896         -
                            #[allow(clippy::needless_borrow)]
12897         -
                            out.push_str(&s3_e_fips.as_ref());
12898         -
                            #[allow(clippy::needless_borrow)]
12899         -
                            out.push_str(&s3_e_ds.as_ref());
12900         -
                            out.push('.');
12901         -
                            #[allow(clippy::needless_borrow)]
12902         -
                            out.push_str(&effective_std_region.as_ref());
12903         -
                            out.push('.');
12904         -
                            #[allow(clippy::needless_borrow)]
12905         -
                            out.push_str(&partition_result.dns_suffix());
12906         -
                            out.push('/');
12907         -
                            #[allow(clippy::needless_borrow)]
12908         -
                            out.push_str(&uri_encoded_bucket.as_ref());
12909         -
                            out
12910         -
                        })
12911         -
                        .property("backend", "S3Express".to_string())
12912         -
                        .property(
12913         -
                            "authSchemes",
12914         -
                            vec![::aws_smithy_types::Document::from({
12915         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
12916         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
12917         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
12918         -
                                out.insert("signingName".to_string(), "s3express".to_string().into());
12919         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
12920         -
                                out
12921         -
                            })],
12922         -
                        )
12923         -
                        .build(),
12924         -
                )
12925         -
            }
12926         -
            Self::Result11 => {
12927         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
12928         -
                let effective_std_region = context
12929         -
                    .effective_std_region
12930         -
                    .as_ref()
12931         -
                    .map(|s| s.clone())
12932         -
                    .expect("Guaranteed to have a value by earlier checks.");
12933         -
                let partition_result = context
12934         -
                    .partition_result
12935         -
                    .as_ref()
12936         -
                    .map(|s| s.clone())
12937         -
                    .expect("Guaranteed to have a value by earlier checks.");
12938         -
                let s3_e_ds = context
12939         -
                    .s3_e_ds
12940         -
                    .as_ref()
12941         -
                    .map(|s| s.clone())
12942         -
                    .expect("Guaranteed to have a value by earlier checks.");
12943         -
                let s3_e_fips = context
12944         -
                    .s3_e_fips
12945         -
                    .as_ref()
12946         -
                    .map(|s| s.clone())
12947         -
                    .expect("Guaranteed to have a value by earlier checks.");
12948         -
                let s3_e_auth = context
12949         -
                    .s3_e_auth
12950         -
                    .as_ref()
12951         -
                    .map(|s| s.clone())
12952         -
                    .expect("Guaranteed to have a value by earlier checks.");
12953         -
                let s3express_availability_zone_id = context
12954         -
                    .s3express_availability_zone_id
12955         -
                    .as_ref()
12956         -
                    .map(|s| s.clone())
12957         -
                    .expect("Guaranteed to have a value by earlier checks.");
12958         -
                ::std::result::Result::Ok(
12959         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
12960         -
                        .url({
12961         -
                            let mut out = String::new();
12962         -
                            out.push_str("https://");
12963         -
                            #[allow(clippy::needless_borrow)]
12964         -
                            out.push_str(&bucket.as_ref());
12965         -
                            out.push_str(".s3express");
12966         -
                            #[allow(clippy::needless_borrow)]
12967         -
                            out.push_str(&s3_e_fips.as_ref());
12968         -
                            out.push('-');
12969         -
                            #[allow(clippy::needless_borrow)]
12970         -
                            out.push_str(&s3express_availability_zone_id.as_ref());
12971         -
                            #[allow(clippy::needless_borrow)]
12972         -
                            out.push_str(&s3_e_ds.as_ref());
12973         -
                            out.push('.');
12974         -
                            #[allow(clippy::needless_borrow)]
12975         -
                            out.push_str(&effective_std_region.as_ref());
12976         -
                            out.push('.');
12977         -
                            #[allow(clippy::needless_borrow)]
12978         -
                            out.push_str(&partition_result.dns_suffix());
12979         -
                            out
12980         -
                        })
12981         -
                        .property("backend", "S3Express".to_string())
12982         -
                        .property(
12983         -
                            "authSchemes",
12984         -
                            vec![::aws_smithy_types::Document::from({
12985         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
12986         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
12987         -
                                out.insert("name".to_string(), s3_e_auth.to_owned().into());
12988         -
                                out.insert("signingName".to_string(), "s3express".to_string().into());
12989         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
12990         -
                                out
12991         -
                            })],
12992         -
                        )
12993         -
                        .build(),
12994         -
                )
12995         -
            }
12996         -
            Self::Result12 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
12997         -
                "Unrecognized S3Express bucket name format.".to_string(),
12998         -
            )),
12999         -
            Self::Result13 => {
13000         -
                let effective_std_region = context
13001         -
                    .effective_std_region
13002         -
                    .as_ref()
13003         -
                    .map(|s| s.clone())
13004         -
                    .expect("Guaranteed to have a value by earlier checks.");
13005         -
                let url = context
13006         -
                    .url
13007         -
                    .as_ref()
13008         -
                    .map(|s| s.clone())
13009         -
                    .expect("Guaranteed to have a value by earlier checks.");
13010         -
                let s3_e_auth = context
13011         -
                    .s3_e_auth
13012         -
                    .as_ref()
13013         -
                    .map(|s| s.clone())
13014         -
                    .expect("Guaranteed to have a value by earlier checks.");
13015         -
                ::std::result::Result::Ok(
13016         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13017         -
                        .url({
13018         -
                            let mut out = String::new();
13019         -
                            #[allow(clippy::needless_borrow)]
13020         -
                            out.push_str(&url.scheme());
13021         -
                            out.push_str("://");
13022         -
                            #[allow(clippy::needless_borrow)]
13023         -
                            out.push_str(&url.authority());
13024         -
                            #[allow(clippy::needless_borrow)]
13025         -
                            out.push_str(&url.path());
13026         -
                            out
13027         -
                        })
13028         -
                        .property("backend", "S3Express".to_string())
13029         -
                        .property(
13030         -
                            "authSchemes",
13031         -
                            vec![::aws_smithy_types::Document::from({
13032         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13033         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13034         -
                                out.insert("name".to_string(), s3_e_auth.to_owned().into());
13035         -
                                out.insert("signingName".to_string(), "s3express".to_string().into());
13036         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13037         -
                                out
13038         -
                            })],
13039         -
                        )
13040         -
                        .build(),
13041         -
                )
13042         -
            }
13043         -
            Self::Result14 => {
13044         -
                let effective_std_region = context
13045         -
                    .effective_std_region
13046         -
                    .as_ref()
13047         -
                    .map(|s| s.clone())
13048         -
                    .expect("Guaranteed to have a value by earlier checks.");
13049         -
                let partition_result = context
13050         -
                    .partition_result
13051         -
                    .as_ref()
13052         -
                    .map(|s| s.clone())
13053         -
                    .expect("Guaranteed to have a value by earlier checks.");
13054         -
                let s3_e_ds = context
13055         -
                    .s3_e_ds
13056         -
                    .as_ref()
13057         -
                    .map(|s| s.clone())
13058         -
                    .expect("Guaranteed to have a value by earlier checks.");
13059         -
                let s3_e_fips = context
13060         -
                    .s3_e_fips
13061         -
                    .as_ref()
13062         -
                    .map(|s| s.clone())
13063         -
                    .expect("Guaranteed to have a value by earlier checks.");
13064         -
                ::std::result::Result::Ok(
13065         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13066         -
                        .url({
13067         -
                            let mut out = String::new();
13068         -
                            out.push_str("https://s3express-control");
13069         -
                            #[allow(clippy::needless_borrow)]
13070         -
                            out.push_str(&s3_e_fips.as_ref());
13071         -
                            #[allow(clippy::needless_borrow)]
13072         -
                            out.push_str(&s3_e_ds.as_ref());
13073         -
                            out.push('.');
13074         -
                            #[allow(clippy::needless_borrow)]
13075         -
                            out.push_str(&effective_std_region.as_ref());
13076         -
                            out.push('.');
13077         -
                            #[allow(clippy::needless_borrow)]
13078         -
                            out.push_str(&partition_result.dns_suffix());
13079         -
                            out
13080         -
                        })
13081         -
                        .property("backend", "S3Express".to_string())
13082         -
                        .property(
13083         -
                            "authSchemes",
13084         -
                            vec![::aws_smithy_types::Document::from({
13085         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13086         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13087         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13088         -
                                out.insert("signingName".to_string(), "s3express".to_string().into());
13089         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13090         -
                                out
13091         -
                            })],
13092         -
                        )
13093         -
                        .build(),
13094         -
                )
13095         -
            }
13096         -
            Self::Result15 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
13097         -
                "Expected a endpoint to be specified but no endpoint was found".to_string(),
13098         -
            )),
13099         -
            Self::Result16 => {
13100         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13101         -
                let effective_std_region = context
13102         -
                    .effective_std_region
13103         -
                    .as_ref()
13104         -
                    .map(|s| s.clone())
13105         -
                    .expect("Guaranteed to have a value by earlier checks.");
13106         -
                let url = context
13107         -
                    .url
13108         -
                    .as_ref()
13109         -
                    .map(|s| s.clone())
13110         -
                    .expect("Guaranteed to have a value by earlier checks.");
13111         -
                ::std::result::Result::Ok(
13112         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13113         -
                        .url({
13114         -
                            let mut out = String::new();
13115         -
                            out.push_str("https://");
13116         -
                            #[allow(clippy::needless_borrow)]
13117         -
                            out.push_str(&bucket.as_ref());
13118         -
                            out.push_str(".ec2.");
13119         -
                            #[allow(clippy::needless_borrow)]
13120         -
                            out.push_str(&url.authority());
13121         -
                            out
13122         -
                        })
13123         -
                        .property(
13124         -
                            "authSchemes",
13125         -
                            vec![
13126         -
                                ::aws_smithy_types::Document::from({
13127         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13128         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
13129         -
                                    out.insert("name".to_string(), "sigv4a".to_string().into());
13130         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
13131         -
                                    out.insert(
13132         -
                                        "signingRegionSet".to_string(),
13133         -
                                        vec![::aws_smithy_types::Document::from("*".to_string())].into(),
13134         -
                                    );
13135         -
                                    out
13136         -
                                }),
13137         -
                                ::aws_smithy_types::Document::from({
13138         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13139         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
13140         -
                                    out.insert("name".to_string(), "sigv4".to_string().into());
13141         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
13142         -
                                    out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13143         -
                                    out
13144         -
                                }),
13145         -
                            ],
13146         -
                        )
13147         -
                        .build(),
13148         -
                )
13149         -
            }
13150         -
            Self::Result17 => {
13151         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13152         -
                let effective_std_region = context
13153         -
                    .effective_std_region
13154         -
                    .as_ref()
13155         -
                    .map(|s| s.clone())
13156         -
                    .expect("Guaranteed to have a value by earlier checks.");
13157         -
                let partition_result = context
13158         -
                    .partition_result
13159         -
                    .as_ref()
13160         -
                    .map(|s| s.clone())
13161         -
                    .expect("Guaranteed to have a value by earlier checks.");
13162         -
                ::std::result::Result::Ok(
13163         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13164         -
                        .url({
13165         -
                            let mut out = String::new();
13166         -
                            out.push_str("https://");
13167         -
                            #[allow(clippy::needless_borrow)]
13168         -
                            out.push_str(&bucket.as_ref());
13169         -
                            out.push_str(".ec2.s3-outposts.");
13170         -
                            #[allow(clippy::needless_borrow)]
13171         -
                            out.push_str(&effective_std_region.as_ref());
13172         -
                            out.push('.');
13173         -
                            #[allow(clippy::needless_borrow)]
13174         -
                            out.push_str(&partition_result.dns_suffix());
13175         -
                            out
13176         -
                        })
13177         -
                        .property(
13178         -
                            "authSchemes",
13179         -
                            vec![
13180         -
                                ::aws_smithy_types::Document::from({
13181         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13182         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
13183         -
                                    out.insert("name".to_string(), "sigv4a".to_string().into());
13184         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
13185         -
                                    out.insert(
13186         -
                                        "signingRegionSet".to_string(),
13187         -
                                        vec![::aws_smithy_types::Document::from("*".to_string())].into(),
13188         -
                                    );
13189         -
                                    out
13190         -
                                }),
13191         -
                                ::aws_smithy_types::Document::from({
13192         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13193         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
13194         -
                                    out.insert("name".to_string(), "sigv4".to_string().into());
13195         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
13196         -
                                    out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13197         -
                                    out
13198         -
                                }),
13199         -
                            ],
13200         -
                        )
13201         -
                        .build(),
13202         -
                )
13203         -
            }
13204         -
            Self::Result18 => {
13205         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13206         -
                let effective_std_region = context
13207         -
                    .effective_std_region
13208         -
                    .as_ref()
13209         -
                    .map(|s| s.clone())
13210         -
                    .expect("Guaranteed to have a value by earlier checks.");
13211         -
                let url = context
13212         -
                    .url
13213         -
                    .as_ref()
13214         -
                    .map(|s| s.clone())
13215         -
                    .expect("Guaranteed to have a value by earlier checks.");
13216         -
                let outpost_id_ssa_2 = context
13217         -
                    .outpost_id_ssa_2
13218         -
                    .as_ref()
13219         -
                    .map(|s| s.clone())
13220         -
                    .expect("Guaranteed to have a value by earlier checks.");
13221         -
                ::std::result::Result::Ok(
13222         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13223         -
                        .url({
13224         -
                            let mut out = String::new();
13225         -
                            out.push_str("https://");
13226         -
                            #[allow(clippy::needless_borrow)]
13227         -
                            out.push_str(&bucket.as_ref());
13228         -
                            out.push_str(".op-");
13229         -
                            #[allow(clippy::needless_borrow)]
13230         -
                            out.push_str(&outpost_id_ssa_2.as_ref());
13231         -
                            out.push('.');
13232         -
                            #[allow(clippy::needless_borrow)]
13233         -
                            out.push_str(&url.authority());
13234         -
                            out
13235         -
                        })
13236         -
                        .property(
13237         -
                            "authSchemes",
13238         -
                            vec![
13239         -
                                ::aws_smithy_types::Document::from({
13240         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13241         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
13242         -
                                    out.insert("name".to_string(), "sigv4a".to_string().into());
13243         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
13244         -
                                    out.insert(
13245         -
                                        "signingRegionSet".to_string(),
13246         -
                                        vec![::aws_smithy_types::Document::from("*".to_string())].into(),
13247         -
                                    );
13248         -
                                    out
13249         -
                                }),
13250         -
                                ::aws_smithy_types::Document::from({
13251         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13252         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
13253         -
                                    out.insert("name".to_string(), "sigv4".to_string().into());
13254         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
13255         -
                                    out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13256         -
                                    out
13257         -
                                }),
13258         -
                            ],
13259         -
                        )
13260         -
                        .build(),
13261         -
                )
13262         -
            }
13263         -
            Self::Result19 => {
13264         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13265         -
                let effective_std_region = context
13266         -
                    .effective_std_region
13267         -
                    .as_ref()
13268         -
                    .map(|s| s.clone())
13269         -
                    .expect("Guaranteed to have a value by earlier checks.");
13270         -
                let partition_result = context
13271         -
                    .partition_result
13272         -
                    .as_ref()
13273         -
                    .map(|s| s.clone())
13274         -
                    .expect("Guaranteed to have a value by earlier checks.");
13275         -
                let outpost_id_ssa_2 = context
13276         -
                    .outpost_id_ssa_2
13277         -
                    .as_ref()
13278         -
                    .map(|s| s.clone())
13279         -
                    .expect("Guaranteed to have a value by earlier checks.");
13280         -
                ::std::result::Result::Ok(
13281         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13282         -
                        .url({
13283         -
                            let mut out = String::new();
13284         -
                            out.push_str("https://");
13285         -
                            #[allow(clippy::needless_borrow)]
13286         -
                            out.push_str(&bucket.as_ref());
13287         -
                            out.push_str(".op-");
13288         -
                            #[allow(clippy::needless_borrow)]
13289         -
                            out.push_str(&outpost_id_ssa_2.as_ref());
13290         -
                            out.push_str(".s3-outposts.");
13291         -
                            #[allow(clippy::needless_borrow)]
13292         -
                            out.push_str(&effective_std_region.as_ref());
13293         -
                            out.push('.');
13294         -
                            #[allow(clippy::needless_borrow)]
13295         -
                            out.push_str(&partition_result.dns_suffix());
13296         -
                            out
13297         -
                        })
13298         -
                        .property(
13299         -
                            "authSchemes",
13300         -
                            vec![
13301         -
                                ::aws_smithy_types::Document::from({
13302         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13303         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
13304         -
                                    out.insert("name".to_string(), "sigv4a".to_string().into());
13305         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
13306         -
                                    out.insert(
13307         -
                                        "signingRegionSet".to_string(),
13308         -
                                        vec![::aws_smithy_types::Document::from("*".to_string())].into(),
13309         -
                                    );
13310         -
                                    out
13311         -
                                }),
13312         -
                                ::aws_smithy_types::Document::from({
13313         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13314         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
13315         -
                                    out.insert("name".to_string(), "sigv4".to_string().into());
13316         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
13317         -
                                    out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13318         -
                                    out
13319         -
                                }),
13320         -
                            ],
13321         -
                        )
13322         -
                        .build(),
13323         -
                )
13324         -
            }
13325         -
            Self::Result20 => {
13326         -
                let hardware_type = context
13327         -
                    .hardware_type
13328         -
                    .as_ref()
13329         -
                    .map(|s| s.clone())
13330         -
                    .expect("Guaranteed to have a value by earlier checks.");
13331         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
13332         -
                    let mut out = String::new();
13333         -
                    out.push_str("Unrecognized hardware type: \"Expected hardware type o or e but got ");
13334         -
                    #[allow(clippy::needless_borrow)]
13335         -
                    out.push_str(&hardware_type.as_ref());
13336         -
                    out.push('"');
13337         -
                    out
13338         -
                }))
13339         -
            }
13340         -
            Self::Result21 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
13341         -
                "Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.".to_string(),
13342         -
            )),
13343         -
            Self::Result22 => {
13344         -
                let endpoint = params.endpoint.as_ref().map(|s| s.clone()).unwrap_or_default();
13345         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
13346         -
                    let mut out = String::new();
13347         -
                    out.push_str("Custom endpoint `");
13348         -
                    #[allow(clippy::needless_borrow)]
13349         -
                    out.push_str(&endpoint.as_ref());
13350         -
                    out.push_str("` was not a valid URI");
13351         -
                    out
13352         -
                }))
13353         -
            }
13354         -
            Self::Result23 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
13355         -
                "S3 Accelerate cannot be used in this region".to_string(),
13356         -
            )),
13357         -
            Self::Result24 => {
13358         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13359         -
                let effective_std_region = context
13360         -
                    .effective_std_region
13361         -
                    .as_ref()
13362         -
                    .map(|s| s.clone())
13363         -
                    .expect("Guaranteed to have a value by earlier checks.");
13364         -
                let partition_result = context
13365         -
                    .partition_result
13366         -
                    .as_ref()
13367         -
                    .map(|s| s.clone())
13368         -
                    .expect("Guaranteed to have a value by earlier checks.");
13369         -
                ::std::result::Result::Ok(
13370         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13371         -
                        .url({
13372         -
                            let mut out = String::new();
13373         -
                            out.push_str("https://");
13374         -
                            #[allow(clippy::needless_borrow)]
13375         -
                            out.push_str(&bucket.as_ref());
13376         -
                            out.push_str(".s3-fips.dualstack.");
13377         -
                            #[allow(clippy::needless_borrow)]
13378         -
                            out.push_str(&effective_std_region.as_ref());
13379         -
                            out.push('.');
13380         -
                            #[allow(clippy::needless_borrow)]
13381         -
                            out.push_str(&partition_result.dns_suffix());
13382         -
                            out
13383         -
                        })
13384         -
                        .property(
13385         -
                            "authSchemes",
13386         -
                            vec![::aws_smithy_types::Document::from({
13387         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13388         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13389         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13390         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13391         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13392         -
                                out
13393         -
                            })],
13394         -
                        )
13395         -
                        .build(),
13396         -
                )
13397         -
            }
13398         -
            Self::Result25 => {
13399         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13400         -
                let effective_std_region = context
13401         -
                    .effective_std_region
13402         -
                    .as_ref()
13403         -
                    .map(|s| s.clone())
13404         -
                    .expect("Guaranteed to have a value by earlier checks.");
13405         -
                let partition_result = context
13406         -
                    .partition_result
13407         -
                    .as_ref()
13408         -
                    .map(|s| s.clone())
13409         -
                    .expect("Guaranteed to have a value by earlier checks.");
13410         -
                ::std::result::Result::Ok(
13411         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13412         -
                        .url({
13413         -
                            let mut out = String::new();
13414         -
                            out.push_str("https://");
13415         -
                            #[allow(clippy::needless_borrow)]
13416         -
                            out.push_str(&bucket.as_ref());
13417         -
                            out.push_str(".s3-fips.");
13418         -
                            #[allow(clippy::needless_borrow)]
13419         -
                            out.push_str(&effective_std_region.as_ref());
13420         -
                            out.push('.');
13421         -
                            #[allow(clippy::needless_borrow)]
13422         -
                            out.push_str(&partition_result.dns_suffix());
13423         -
                            out
13424         -
                        })
13425         -
                        .property(
13426         -
                            "authSchemes",
13427         -
                            vec![::aws_smithy_types::Document::from({
13428         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13429         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13430         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13431         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13432         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13433         -
                                out
13434         -
                            })],
13435         -
                        )
13436         -
                        .build(),
13437         -
                )
13438         -
            }
13439         -
            Self::Result26 => {
13440         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13441         -
                let effective_std_region = context
13442         -
                    .effective_std_region
13443         -
                    .as_ref()
13444         -
                    .map(|s| s.clone())
13445         -
                    .expect("Guaranteed to have a value by earlier checks.");
13446         -
                let partition_result = context
13447         -
                    .partition_result
13448         -
                    .as_ref()
13449         -
                    .map(|s| s.clone())
13450         -
                    .expect("Guaranteed to have a value by earlier checks.");
13451         -
                ::std::result::Result::Ok(
13452         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13453         -
                        .url({
13454         -
                            let mut out = String::new();
13455         -
                            out.push_str("https://");
13456         -
                            #[allow(clippy::needless_borrow)]
13457         -
                            out.push_str(&bucket.as_ref());
13458         -
                            out.push_str(".s3-accelerate.dualstack.");
13459         -
                            #[allow(clippy::needless_borrow)]
13460         -
                            out.push_str(&effective_std_region.as_ref());
13461         -
                            out.push('.');
13462         -
                            #[allow(clippy::needless_borrow)]
13463         -
                            out.push_str(&partition_result.dns_suffix());
13464         -
                            out
13465         -
                        })
13466         -
                        .property(
13467         -
                            "authSchemes",
13468         -
                            vec![::aws_smithy_types::Document::from({
13469         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13470         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13471         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13472         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13473         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13474         -
                                out
13475         -
                            })],
13476         -
                        )
13477         -
                        .build(),
13478         -
                )
13479         -
            }
13480         -
            Self::Result27 => {
13481         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13482         -
                let effective_std_region = context
13483         -
                    .effective_std_region
13484         -
                    .as_ref()
13485         -
                    .map(|s| s.clone())
13486         -
                    .expect("Guaranteed to have a value by earlier checks.");
13487         -
                let partition_result = context
13488         -
                    .partition_result
13489         -
                    .as_ref()
13490         -
                    .map(|s| s.clone())
13491         -
                    .expect("Guaranteed to have a value by earlier checks.");
13492         -
                ::std::result::Result::Ok(
13493         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13494         -
                        .url({
13495         -
                            let mut out = String::new();
13496         -
                            out.push_str("https://");
13497         -
                            #[allow(clippy::needless_borrow)]
13498         -
                            out.push_str(&bucket.as_ref());
13499         -
                            out.push_str(".s3-accelerate.dualstack.");
13500         -
                            #[allow(clippy::needless_borrow)]
13501         -
                            out.push_str(&partition_result.dns_suffix());
13502         -
                            out
13503         -
                        })
13504         -
                        .property(
13505         -
                            "authSchemes",
13506         -
                            vec![::aws_smithy_types::Document::from({
13507         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13508         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13509         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13510         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13511         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13512         -
                                out
13513         -
                            })],
13514         -
                        )
13515         -
                        .build(),
13516         -
                )
13517         -
            }
13518         -
            Self::Result28 => {
13519         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13520         -
                let effective_std_region = context
13521         -
                    .effective_std_region
13522         -
                    .as_ref()
13523         -
                    .map(|s| s.clone())
13524         -
                    .expect("Guaranteed to have a value by earlier checks.");
13525         -
                let partition_result = context
13526         -
                    .partition_result
13527         -
                    .as_ref()
13528         -
                    .map(|s| s.clone())
13529         -
                    .expect("Guaranteed to have a value by earlier checks.");
13530         -
                ::std::result::Result::Ok(
13531         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13532         -
                        .url({
13533         -
                            let mut out = String::new();
13534         -
                            out.push_str("https://");
13535         -
                            #[allow(clippy::needless_borrow)]
13536         -
                            out.push_str(&bucket.as_ref());
13537         -
                            out.push_str(".s3.dualstack.");
13538         -
                            #[allow(clippy::needless_borrow)]
13539         -
                            out.push_str(&effective_std_region.as_ref());
13540         -
                            out.push('.');
13541         -
                            #[allow(clippy::needless_borrow)]
13542         -
                            out.push_str(&partition_result.dns_suffix());
13543         -
                            out
13544         -
                        })
13545         -
                        .property(
13546         -
                            "authSchemes",
13547         -
                            vec![::aws_smithy_types::Document::from({
13548         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13549         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13550         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13551         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13552         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
       10287  +
        let mut current_ref: i32 = 521;
       10288  +
        loop {
       10289  +
            match current_ref {
       10290  +
                ref_val if ref_val >= 100_000_000 => {
       10291  +
                    return match (ref_val - 100_000_000) as usize {
       10292  +
                        0 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10293  +
                            "No endpoint rule matched",
       10294  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10295  +
                        1 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10296  +
                            "Accelerate cannot be used with FIPS".to_string(),
       10297  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10298  +
                        2 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10299  +
                            "Cannot set dual-stack in combination with a custom endpoint.".to_string(),
       10300  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10301  +
                        3 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10302  +
                            "A custom endpoint cannot be combined with FIPS".to_string(),
       10303  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10304  +
                        4 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10305  +
                            "A custom endpoint cannot be combined with S3 Accelerate".to_string(),
       10306  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10307  +
                        5 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10308  +
                            "Partition does not support FIPS".to_string(),
       10309  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10310  +
                        6 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10311  +
                            "S3Express does not support S3 Accelerate.".to_string(),
       10312  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10313  +
                        7 => {
       10314  +
                            let effective_std_region = context
       10315  +
                                .effective_std_region
       10316  +
                                .as_ref()
       10317  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10318  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10319  +
                            let s3_e_auth = context.s3_e_auth.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10320  +
                            let uri_encoded_bucket = context
       10321  +
                                .uri_encoded_bucket
       10322  +
                                .as_ref()
       10323  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10324  +
                            ::std::result::Result::Ok(
       10325  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10326  +
                                    .url({
       10327  +
                                        let mut out = String::new();
       10328  +
                                        #[allow(clippy::needless_borrow)]
       10329  +
                                        out.push_str(&url.scheme());
       10330  +
                                        out.push_str("://");
       10331  +
                                        #[allow(clippy::needless_borrow)]
       10332  +
                                        out.push_str(&url.authority());
       10333  +
                                        out.push('/');
       10334  +
                                        #[allow(clippy::needless_borrow)]
       10335  +
                                        out.push_str(&uri_encoded_bucket.as_ref());
       10336  +
                                        #[allow(clippy::needless_borrow)]
       10337  +
                                        out.push_str(&url.path());
       10338  +
                                        out
       10339  +
                                    })
       10340  +
                                    .property("backend", "S3Express".to_string())
       10341  +
                                    .auth_scheme(
       10342  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity(s3_e_auth.to_owned(), 3)
       10343  +
                                            .put("disableDoubleEncoding", true)
       10344  +
                                            .put("signingName", "s3express")
       10345  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10346  +
                                    )
       10347  +
                                    .build(),
       10348  +
                            )
       10349  +
                        }
       10350  +
                        8 => {
       10351  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10352  +
                            let effective_std_region = context
       10353  +
                                .effective_std_region
       10354  +
                                .as_ref()
       10355  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10356  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10357  +
                            let s3_e_auth = context.s3_e_auth.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10358  +
                            ::std::result::Result::Ok(
       10359  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10360  +
                                    .url({
       10361  +
                                        let mut out = String::new();
       10362  +
                                        #[allow(clippy::needless_borrow)]
       10363  +
                                        out.push_str(&url.scheme());
       10364  +
                                        out.push_str("://");
       10365  +
                                        #[allow(clippy::needless_borrow)]
       10366  +
                                        out.push_str(&bucket.as_ref());
       10367  +
                                        out.push('.');
       10368  +
                                        #[allow(clippy::needless_borrow)]
       10369  +
                                        out.push_str(&url.authority());
       10370  +
                                        #[allow(clippy::needless_borrow)]
       10371  +
                                        out.push_str(&url.path());
       10372  +
                                        out
       10373  +
                                    })
       10374  +
                                    .property("backend", "S3Express".to_string())
       10375  +
                                    .auth_scheme(
       10376  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity(s3_e_auth.to_owned(), 3)
       10377  +
                                            .put("disableDoubleEncoding", true)
       10378  +
                                            .put("signingName", "s3express")
       10379  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10380  +
                                    )
       10381  +
                                    .build(),
       10382  +
                            )
       10383  +
                        }
       10384  +
                        9 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10385  +
                            "S3Express bucket name is not a valid virtual hostable name.".to_string(),
       10386  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10387  +
                        10 => {
       10388  +
                            let effective_std_region = context
       10389  +
                                .effective_std_region
       10390  +
                                .as_ref()
       10391  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10392  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10393  +
                            let s3_e_ds = context.s3_e_ds.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10394  +
                            let s3_e_fips = context.s3_e_fips.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10395  +
                            let uri_encoded_bucket = context
       10396  +
                                .uri_encoded_bucket
       10397  +
                                .as_ref()
       10398  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10399  +
                            ::std::result::Result::Ok(
       10400  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10401  +
                                    .url({
       10402  +
                                        let mut out = String::new();
       10403  +
                                        out.push_str("https://s3express-control");
       10404  +
                                        #[allow(clippy::needless_borrow)]
       10405  +
                                        out.push_str(&s3_e_fips.as_ref());
       10406  +
                                        #[allow(clippy::needless_borrow)]
       10407  +
                                        out.push_str(&s3_e_ds.as_ref());
       10408  +
                                        out.push('.');
       10409  +
                                        #[allow(clippy::needless_borrow)]
       10410  +
                                        out.push_str(&effective_std_region.as_ref());
       10411  +
                                        out.push('.');
       10412  +
                                        #[allow(clippy::needless_borrow)]
       10413  +
                                        out.push_str(&partition_result.dns_suffix());
       10414  +
                                        out.push('/');
       10415  +
                                        #[allow(clippy::needless_borrow)]
       10416  +
                                        out.push_str(&uri_encoded_bucket.as_ref());
       10417  +
                                        out
       10418  +
                                    })
       10419  +
                                    .property("backend", "S3Express".to_string())
       10420  +
                                    .auth_scheme(
       10421  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10422  +
                                            .put("disableDoubleEncoding", true)
       10423  +
                                            .put("signingName", "s3express")
       10424  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10425  +
                                    )
       10426  +
                                    .build(),
       10427  +
                            )
       10428  +
                        }
       10429  +
                        11 => {
       10430  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10431  +
                            let effective_std_region = context
       10432  +
                                .effective_std_region
       10433  +
                                .as_ref()
       10434  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10435  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10436  +
                            let s3_e_ds = context.s3_e_ds.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10437  +
                            let s3_e_fips = context.s3_e_fips.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10438  +
                            let s3_e_auth = context.s3_e_auth.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10439  +
                            let s3express_availability_zone_id = context
       10440  +
                                .s3express_availability_zone_id
       10441  +
                                .as_ref()
       10442  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10443  +
                            ::std::result::Result::Ok(
       10444  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10445  +
                                    .url({
       10446  +
                                        let mut out = String::new();
       10447  +
                                        out.push_str("https://");
       10448  +
                                        #[allow(clippy::needless_borrow)]
       10449  +
                                        out.push_str(&bucket.as_ref());
       10450  +
                                        out.push_str(".s3express");
       10451  +
                                        #[allow(clippy::needless_borrow)]
       10452  +
                                        out.push_str(&s3_e_fips.as_ref());
       10453  +
                                        out.push('-');
       10454  +
                                        #[allow(clippy::needless_borrow)]
       10455  +
                                        out.push_str(&s3express_availability_zone_id.as_ref());
       10456  +
                                        #[allow(clippy::needless_borrow)]
       10457  +
                                        out.push_str(&s3_e_ds.as_ref());
       10458  +
                                        out.push('.');
       10459  +
                                        #[allow(clippy::needless_borrow)]
       10460  +
                                        out.push_str(&effective_std_region.as_ref());
       10461  +
                                        out.push('.');
       10462  +
                                        #[allow(clippy::needless_borrow)]
       10463  +
                                        out.push_str(&partition_result.dns_suffix());
       10464  +
                                        out
       10465  +
                                    })
       10466  +
                                    .property("backend", "S3Express".to_string())
       10467  +
                                    .auth_scheme(
       10468  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity(s3_e_auth.to_owned(), 3)
       10469  +
                                            .put("disableDoubleEncoding", true)
       10470  +
                                            .put("signingName", "s3express")
       10471  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10472  +
                                    )
       10473  +
                                    .build(),
       10474  +
                            )
       10475  +
                        }
       10476  +
                        12 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10477  +
                            "Unrecognized S3Express bucket name format.".to_string(),
       10478  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10479  +
                        13 => {
       10480  +
                            let effective_std_region = context
       10481  +
                                .effective_std_region
       10482  +
                                .as_ref()
       10483  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10484  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10485  +
                            let s3_e_auth = context.s3_e_auth.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10486  +
                            ::std::result::Result::Ok(
       10487  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10488  +
                                    .url({
       10489  +
                                        let mut out = String::new();
       10490  +
                                        #[allow(clippy::needless_borrow)]
       10491  +
                                        out.push_str(&url.scheme());
       10492  +
                                        out.push_str("://");
       10493  +
                                        #[allow(clippy::needless_borrow)]
       10494  +
                                        out.push_str(&url.authority());
       10495  +
                                        #[allow(clippy::needless_borrow)]
       10496  +
                                        out.push_str(&url.path());
       10497  +
                                        out
       10498  +
                                    })
       10499  +
                                    .property("backend", "S3Express".to_string())
       10500  +
                                    .auth_scheme(
       10501  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity(s3_e_auth.to_owned(), 3)
       10502  +
                                            .put("disableDoubleEncoding", true)
       10503  +
                                            .put("signingName", "s3express")
       10504  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10505  +
                                    )
       10506  +
                                    .build(),
       10507  +
                            )
       10508  +
                        }
       10509  +
                        14 => {
       10510  +
                            let effective_std_region = context
       10511  +
                                .effective_std_region
       10512  +
                                .as_ref()
       10513  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10514  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10515  +
                            let s3_e_ds = context.s3_e_ds.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10516  +
                            let s3_e_fips = context.s3_e_fips.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10517  +
                            ::std::result::Result::Ok(
       10518  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10519  +
                                    .url({
       10520  +
                                        let mut out = String::new();
       10521  +
                                        out.push_str("https://s3express-control");
       10522  +
                                        #[allow(clippy::needless_borrow)]
       10523  +
                                        out.push_str(&s3_e_fips.as_ref());
       10524  +
                                        #[allow(clippy::needless_borrow)]
       10525  +
                                        out.push_str(&s3_e_ds.as_ref());
       10526  +
                                        out.push('.');
       10527  +
                                        #[allow(clippy::needless_borrow)]
       10528  +
                                        out.push_str(&effective_std_region.as_ref());
       10529  +
                                        out.push('.');
       10530  +
                                        #[allow(clippy::needless_borrow)]
       10531  +
                                        out.push_str(&partition_result.dns_suffix());
       10532  +
                                        out
       10533  +
                                    })
       10534  +
                                    .property("backend", "S3Express".to_string())
       10535  +
                                    .auth_scheme(
       10536  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10537  +
                                            .put("disableDoubleEncoding", true)
       10538  +
                                            .put("signingName", "s3express")
       10539  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10540  +
                                    )
       10541  +
                                    .build(),
       10542  +
                            )
       10543  +
                        }
       10544  +
                        15 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10545  +
                            "Expected a endpoint to be specified but no endpoint was found".to_string(),
       10546  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10547  +
                        16 => {
       10548  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10549  +
                            let effective_std_region = context
       10550  +
                                .effective_std_region
       10551  +
                                .as_ref()
       10552  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10553  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10554  +
                            ::std::result::Result::Ok(
       10555  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10556  +
                                    .url({
       10557  +
                                        let mut out = String::new();
       10558  +
                                        out.push_str("https://");
       10559  +
                                        #[allow(clippy::needless_borrow)]
       10560  +
                                        out.push_str(&bucket.as_ref());
       10561  +
                                        out.push_str(".ec2.");
       10562  +
                                        #[allow(clippy::needless_borrow)]
       10563  +
                                        out.push_str(&url.authority());
       10564  +
                                        out
       10565  +
                                    })
       10566  +
                                    .auth_scheme(
       10567  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a".to_string(), 3)
       10568  +
                                            .put("disableDoubleEncoding", true)
       10569  +
                                            .put("signingName", "s3-outposts")
       10570  +
                                            .put("signingRegionSet", vec![::aws_smithy_types::Document::from("*".to_string())]),
       10571  +
                                    )
       10572  +
                                    .auth_scheme(
       10573  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10574  +
                                            .put("disableDoubleEncoding", true)
       10575  +
                                            .put("signingName", "s3-outposts")
       10576  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10577  +
                                    )
       10578  +
                                    .build(),
       10579  +
                            )
       10580  +
                        }
       10581  +
                        17 => {
       10582  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10583  +
                            let effective_std_region = context
       10584  +
                                .effective_std_region
       10585  +
                                .as_ref()
       10586  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10587  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10588  +
                            ::std::result::Result::Ok(
       10589  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10590  +
                                    .url({
       10591  +
                                        let mut out = String::new();
       10592  +
                                        out.push_str("https://");
       10593  +
                                        #[allow(clippy::needless_borrow)]
       10594  +
                                        out.push_str(&bucket.as_ref());
       10595  +
                                        out.push_str(".ec2.s3-outposts.");
       10596  +
                                        #[allow(clippy::needless_borrow)]
       10597  +
                                        out.push_str(&effective_std_region.as_ref());
       10598  +
                                        out.push('.');
       10599  +
                                        #[allow(clippy::needless_borrow)]
       10600  +
                                        out.push_str(&partition_result.dns_suffix());
       10601  +
                                        out
       10602  +
                                    })
       10603  +
                                    .auth_scheme(
       10604  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a".to_string(), 3)
       10605  +
                                            .put("disableDoubleEncoding", true)
       10606  +
                                            .put("signingName", "s3-outposts")
       10607  +
                                            .put("signingRegionSet", vec![::aws_smithy_types::Document::from("*".to_string())]),
       10608  +
                                    )
       10609  +
                                    .auth_scheme(
       10610  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10611  +
                                            .put("disableDoubleEncoding", true)
       10612  +
                                            .put("signingName", "s3-outposts")
       10613  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10614  +
                                    )
       10615  +
                                    .build(),
       10616  +
                            )
       10617  +
                        }
       10618  +
                        18 => {
       10619  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10620  +
                            let effective_std_region = context
       10621  +
                                .effective_std_region
       10622  +
                                .as_ref()
       10623  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10624  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10625  +
                            let outpost_id_ssa_2 = context.outpost_id_ssa_2.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10626  +
                            ::std::result::Result::Ok(
       10627  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10628  +
                                    .url({
       10629  +
                                        let mut out = String::new();
       10630  +
                                        out.push_str("https://");
       10631  +
                                        #[allow(clippy::needless_borrow)]
       10632  +
                                        out.push_str(&bucket.as_ref());
       10633  +
                                        out.push_str(".op-");
       10634  +
                                        #[allow(clippy::needless_borrow)]
       10635  +
                                        out.push_str(&outpost_id_ssa_2.as_ref());
       10636  +
                                        out.push('.');
       10637  +
                                        #[allow(clippy::needless_borrow)]
       10638  +
                                        out.push_str(&url.authority());
       10639  +
                                        out
       10640  +
                                    })
       10641  +
                                    .auth_scheme(
       10642  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a".to_string(), 3)
       10643  +
                                            .put("disableDoubleEncoding", true)
       10644  +
                                            .put("signingName", "s3-outposts")
       10645  +
                                            .put("signingRegionSet", vec![::aws_smithy_types::Document::from("*".to_string())]),
       10646  +
                                    )
       10647  +
                                    .auth_scheme(
       10648  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10649  +
                                            .put("disableDoubleEncoding", true)
       10650  +
                                            .put("signingName", "s3-outposts")
       10651  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10652  +
                                    )
       10653  +
                                    .build(),
       10654  +
                            )
       10655  +
                        }
       10656  +
                        19 => {
       10657  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10658  +
                            let effective_std_region = context
       10659  +
                                .effective_std_region
       10660  +
                                .as_ref()
       10661  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10662  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10663  +
                            let outpost_id_ssa_2 = context.outpost_id_ssa_2.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10664  +
                            ::std::result::Result::Ok(
       10665  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10666  +
                                    .url({
       10667  +
                                        let mut out = String::new();
       10668  +
                                        out.push_str("https://");
       10669  +
                                        #[allow(clippy::needless_borrow)]
       10670  +
                                        out.push_str(&bucket.as_ref());
       10671  +
                                        out.push_str(".op-");
       10672  +
                                        #[allow(clippy::needless_borrow)]
       10673  +
                                        out.push_str(&outpost_id_ssa_2.as_ref());
       10674  +
                                        out.push_str(".s3-outposts.");
       10675  +
                                        #[allow(clippy::needless_borrow)]
       10676  +
                                        out.push_str(&effective_std_region.as_ref());
       10677  +
                                        out.push('.');
       10678  +
                                        #[allow(clippy::needless_borrow)]
       10679  +
                                        out.push_str(&partition_result.dns_suffix());
       10680  +
                                        out
       10681  +
                                    })
       10682  +
                                    .auth_scheme(
       10683  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a".to_string(), 3)
       10684  +
                                            .put("disableDoubleEncoding", true)
       10685  +
                                            .put("signingName", "s3-outposts")
       10686  +
                                            .put("signingRegionSet", vec![::aws_smithy_types::Document::from("*".to_string())]),
       10687  +
                                    )
       10688  +
                                    .auth_scheme(
       10689  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10690  +
                                            .put("disableDoubleEncoding", true)
       10691  +
                                            .put("signingName", "s3-outposts")
       10692  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10693  +
                                    )
       10694  +
                                    .build(),
       10695  +
                            )
       10696  +
                        }
       10697  +
                        20 => {
       10698  +
                            let hardware_type = context.hardware_type.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10699  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       10700  +
                                let mut out = String::new();
       10701  +
                                out.push_str("Unrecognized hardware type: \"Expected hardware type o or e but got ");
       10702  +
                                #[allow(clippy::needless_borrow)]
       10703  +
                                out.push_str(&hardware_type.as_ref());
       10704  +
                                out.push('"');
13553  10705   
                                out
13554         -
                            })],
13555         -
                        )
13556         -
                        .build(),
13557         -
                )
13558         -
            }
13559         -
            Self::Result29 => {
13560         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13561         -
                let effective_std_region = context
13562         -
                    .effective_std_region
13563         -
                    .as_ref()
13564         -
                    .map(|s| s.clone())
13565         -
                    .expect("Guaranteed to have a value by earlier checks.");
13566         -
                let url = context
13567         -
                    .url
13568         -
                    .as_ref()
13569         -
                    .map(|s| s.clone())
13570         -
                    .expect("Guaranteed to have a value by earlier checks.");
13571         -
                ::std::result::Result::Ok(
13572         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13573         -
                        .url({
13574         -
                            let mut out = String::new();
13575         -
                            #[allow(clippy::needless_borrow)]
13576         -
                            out.push_str(&url.scheme());
13577         -
                            out.push_str("://");
13578         -
                            #[allow(clippy::needless_borrow)]
13579         -
                            out.push_str(&url.authority());
13580         -
                            #[allow(clippy::needless_borrow)]
13581         -
                            out.push_str(&url.normalized_path());
13582         -
                            #[allow(clippy::needless_borrow)]
13583         -
                            out.push_str(&bucket.as_ref());
13584         -
                            out
13585         -
                        })
13586         -
                        .property(
13587         -
                            "authSchemes",
13588         -
                            vec![::aws_smithy_types::Document::from({
13589         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13590         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13591         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13592         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13593         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
       10706  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       10707  +
                        }
       10708  +
                        21 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10709  +
                            "Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.".to_string(),
       10710  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10711  +
                        22 => {
       10712  +
                            let endpoint = params.endpoint.as_deref().unwrap_or_default();
       10713  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       10714  +
                                let mut out = String::new();
       10715  +
                                out.push_str("Custom endpoint `");
       10716  +
                                #[allow(clippy::needless_borrow)]
       10717  +
                                out.push_str(&endpoint.as_ref());
       10718  +
                                out.push_str("` was not a valid URI");
13594  10719   
                                out
13595         -
                            })],
13596         -
                        )
13597         -
                        .build(),
13598         -
                )
13599         -
            }
13600         -
            Self::Result30 => {
13601         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13602         -
                let effective_std_region = context
13603         -
                    .effective_std_region
13604         -
                    .as_ref()
13605         -
                    .map(|s| s.clone())
13606         -
                    .expect("Guaranteed to have a value by earlier checks.");
13607         -
                let url = context
13608         -
                    .url
13609         -
                    .as_ref()
13610         -
                    .map(|s| s.clone())
13611         -
                    .expect("Guaranteed to have a value by earlier checks.");
13612         -
                ::std::result::Result::Ok(
13613         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13614         -
                        .url({
13615         -
                            let mut out = String::new();
13616         -
                            #[allow(clippy::needless_borrow)]
13617         -
                            out.push_str(&url.scheme());
13618         -
                            out.push_str("://");
13619         -
                            #[allow(clippy::needless_borrow)]
13620         -
                            out.push_str(&bucket.as_ref());
13621         -
                            out.push('.');
13622         -
                            #[allow(clippy::needless_borrow)]
13623         -
                            out.push_str(&url.authority());
13624         -
                            #[allow(clippy::needless_borrow)]
13625         -
                            out.push_str(&url.path());
13626         -
                            out
13627         -
                        })
13628         -
                        .property(
13629         -
                            "authSchemes",
13630         -
                            vec![::aws_smithy_types::Document::from({
13631         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13632         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13633         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13634         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13635         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
       10720  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       10721  +
                        }
       10722  +
                        23 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10723  +
                            "S3 Accelerate cannot be used in this region".to_string(),
       10724  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10725  +
                        24 => {
       10726  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10727  +
                            let effective_std_region = context
       10728  +
                                .effective_std_region
       10729  +
                                .as_ref()
       10730  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10731  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10732  +
                            ::std::result::Result::Ok(
       10733  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10734  +
                                    .url({
       10735  +
                                        let mut out = String::new();
       10736  +
                                        out.push_str("https://");
       10737  +
                                        #[allow(clippy::needless_borrow)]
       10738  +
                                        out.push_str(&bucket.as_ref());
       10739  +
                                        out.push_str(".s3-fips.dualstack.");
       10740  +
                                        #[allow(clippy::needless_borrow)]
       10741  +
                                        out.push_str(&effective_std_region.as_ref());
       10742  +
                                        out.push('.');
       10743  +
                                        #[allow(clippy::needless_borrow)]
       10744  +
                                        out.push_str(&partition_result.dns_suffix());
       10745  +
                                        out
       10746  +
                                    })
       10747  +
                                    .auth_scheme(
       10748  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10749  +
                                            .put("disableDoubleEncoding", true)
       10750  +
                                            .put("signingName", "s3")
       10751  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10752  +
                                    )
       10753  +
                                    .build(),
       10754  +
                            )
       10755  +
                        }
       10756  +
                        25 => {
       10757  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10758  +
                            let effective_std_region = context
       10759  +
                                .effective_std_region
       10760  +
                                .as_ref()
       10761  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10762  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10763  +
                            ::std::result::Result::Ok(
       10764  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10765  +
                                    .url({
       10766  +
                                        let mut out = String::new();
       10767  +
                                        out.push_str("https://");
       10768  +
                                        #[allow(clippy::needless_borrow)]
       10769  +
                                        out.push_str(&bucket.as_ref());
       10770  +
                                        out.push_str(".s3-fips.");
       10771  +
                                        #[allow(clippy::needless_borrow)]
       10772  +
                                        out.push_str(&effective_std_region.as_ref());
       10773  +
                                        out.push('.');
       10774  +
                                        #[allow(clippy::needless_borrow)]
       10775  +
                                        out.push_str(&partition_result.dns_suffix());
       10776  +
                                        out
       10777  +
                                    })
       10778  +
                                    .auth_scheme(
       10779  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10780  +
                                            .put("disableDoubleEncoding", true)
       10781  +
                                            .put("signingName", "s3")
       10782  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10783  +
                                    )
       10784  +
                                    .build(),
       10785  +
                            )
       10786  +
                        }
       10787  +
                        26 => {
       10788  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10789  +
                            let effective_std_region = context
       10790  +
                                .effective_std_region
       10791  +
                                .as_ref()
       10792  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10793  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10794  +
                            ::std::result::Result::Ok(
       10795  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10796  +
                                    .url({
       10797  +
                                        let mut out = String::new();
       10798  +
                                        out.push_str("https://");
       10799  +
                                        #[allow(clippy::needless_borrow)]
       10800  +
                                        out.push_str(&bucket.as_ref());
       10801  +
                                        out.push_str(".s3-accelerate.dualstack.");
       10802  +
                                        #[allow(clippy::needless_borrow)]
       10803  +
                                        out.push_str(&effective_std_region.as_ref());
       10804  +
                                        out.push('.');
       10805  +
                                        #[allow(clippy::needless_borrow)]
       10806  +
                                        out.push_str(&partition_result.dns_suffix());
       10807  +
                                        out
       10808  +
                                    })
       10809  +
                                    .auth_scheme(
       10810  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10811  +
                                            .put("disableDoubleEncoding", true)
       10812  +
                                            .put("signingName", "s3")
       10813  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10814  +
                                    )
       10815  +
                                    .build(),
       10816  +
                            )
       10817  +
                        }
       10818  +
                        27 => {
       10819  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10820  +
                            let effective_std_region = context
       10821  +
                                .effective_std_region
       10822  +
                                .as_ref()
       10823  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10824  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10825  +
                            ::std::result::Result::Ok(
       10826  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10827  +
                                    .url({
       10828  +
                                        let mut out = String::new();
       10829  +
                                        out.push_str("https://");
       10830  +
                                        #[allow(clippy::needless_borrow)]
       10831  +
                                        out.push_str(&bucket.as_ref());
       10832  +
                                        out.push_str(".s3-accelerate.dualstack.");
       10833  +
                                        #[allow(clippy::needless_borrow)]
       10834  +
                                        out.push_str(&partition_result.dns_suffix());
       10835  +
                                        out
       10836  +
                                    })
       10837  +
                                    .auth_scheme(
       10838  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10839  +
                                            .put("disableDoubleEncoding", true)
       10840  +
                                            .put("signingName", "s3")
       10841  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10842  +
                                    )
       10843  +
                                    .build(),
       10844  +
                            )
       10845  +
                        }
       10846  +
                        28 => {
       10847  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10848  +
                            let effective_std_region = context
       10849  +
                                .effective_std_region
       10850  +
                                .as_ref()
       10851  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10852  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10853  +
                            ::std::result::Result::Ok(
       10854  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10855  +
                                    .url({
       10856  +
                                        let mut out = String::new();
       10857  +
                                        out.push_str("https://");
       10858  +
                                        #[allow(clippy::needless_borrow)]
       10859  +
                                        out.push_str(&bucket.as_ref());
       10860  +
                                        out.push_str(".s3.dualstack.");
       10861  +
                                        #[allow(clippy::needless_borrow)]
       10862  +
                                        out.push_str(&effective_std_region.as_ref());
       10863  +
                                        out.push('.');
       10864  +
                                        #[allow(clippy::needless_borrow)]
       10865  +
                                        out.push_str(&partition_result.dns_suffix());
       10866  +
                                        out
       10867  +
                                    })
       10868  +
                                    .auth_scheme(
       10869  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10870  +
                                            .put("disableDoubleEncoding", true)
       10871  +
                                            .put("signingName", "s3")
       10872  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10873  +
                                    )
       10874  +
                                    .build(),
       10875  +
                            )
       10876  +
                        }
       10877  +
                        29 => {
       10878  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10879  +
                            let effective_std_region = context
       10880  +
                                .effective_std_region
       10881  +
                                .as_ref()
       10882  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10883  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10884  +
                            ::std::result::Result::Ok(
       10885  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10886  +
                                    .url({
       10887  +
                                        let mut out = String::new();
       10888  +
                                        #[allow(clippy::needless_borrow)]
       10889  +
                                        out.push_str(&url.scheme());
       10890  +
                                        out.push_str("://");
       10891  +
                                        #[allow(clippy::needless_borrow)]
       10892  +
                                        out.push_str(&url.authority());
       10893  +
                                        #[allow(clippy::needless_borrow)]
       10894  +
                                        out.push_str(&url.normalized_path());
       10895  +
                                        #[allow(clippy::needless_borrow)]
       10896  +
                                        out.push_str(&bucket.as_ref());
       10897  +
                                        out
       10898  +
                                    })
       10899  +
                                    .auth_scheme(
       10900  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10901  +
                                            .put("disableDoubleEncoding", true)
       10902  +
                                            .put("signingName", "s3")
       10903  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10904  +
                                    )
       10905  +
                                    .build(),
       10906  +
                            )
       10907  +
                        }
       10908  +
                        30 => {
       10909  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10910  +
                            let effective_std_region = context
       10911  +
                                .effective_std_region
       10912  +
                                .as_ref()
       10913  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10914  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10915  +
                            ::std::result::Result::Ok(
       10916  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10917  +
                                    .url({
       10918  +
                                        let mut out = String::new();
       10919  +
                                        #[allow(clippy::needless_borrow)]
       10920  +
                                        out.push_str(&url.scheme());
       10921  +
                                        out.push_str("://");
       10922  +
                                        #[allow(clippy::needless_borrow)]
       10923  +
                                        out.push_str(&bucket.as_ref());
       10924  +
                                        out.push('.');
       10925  +
                                        #[allow(clippy::needless_borrow)]
       10926  +
                                        out.push_str(&url.authority());
       10927  +
                                        #[allow(clippy::needless_borrow)]
       10928  +
                                        out.push_str(&url.path());
       10929  +
                                        out
       10930  +
                                    })
       10931  +
                                    .auth_scheme(
       10932  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10933  +
                                            .put("disableDoubleEncoding", true)
       10934  +
                                            .put("signingName", "s3")
       10935  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10936  +
                                    )
       10937  +
                                    .build(),
       10938  +
                            )
       10939  +
                        }
       10940  +
                        31 => {
       10941  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10942  +
                            let effective_std_region = context
       10943  +
                                .effective_std_region
       10944  +
                                .as_ref()
       10945  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10946  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10947  +
                            ::std::result::Result::Ok(
       10948  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10949  +
                                    .url({
       10950  +
                                        let mut out = String::new();
       10951  +
                                        out.push_str("https://");
       10952  +
                                        #[allow(clippy::needless_borrow)]
       10953  +
                                        out.push_str(&bucket.as_ref());
       10954  +
                                        out.push_str(".s3-accelerate.");
       10955  +
                                        #[allow(clippy::needless_borrow)]
       10956  +
                                        out.push_str(&partition_result.dns_suffix());
       10957  +
                                        out
       10958  +
                                    })
       10959  +
                                    .auth_scheme(
       10960  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10961  +
                                            .put("disableDoubleEncoding", true)
       10962  +
                                            .put("signingName", "s3")
       10963  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10964  +
                                    )
       10965  +
                                    .build(),
       10966  +
                            )
       10967  +
                        }
       10968  +
                        32 => {
       10969  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10970  +
                            let effective_std_region = context
       10971  +
                                .effective_std_region
       10972  +
                                .as_ref()
       10973  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10974  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10975  +
                            ::std::result::Result::Ok(
       10976  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10977  +
                                    .url({
       10978  +
                                        let mut out = String::new();
       10979  +
                                        out.push_str("https://");
       10980  +
                                        #[allow(clippy::needless_borrow)]
       10981  +
                                        out.push_str(&bucket.as_ref());
       10982  +
                                        out.push_str(".s3.");
       10983  +
                                        #[allow(clippy::needless_borrow)]
       10984  +
                                        out.push_str(&partition_result.dns_suffix());
       10985  +
                                        out
       10986  +
                                    })
       10987  +
                                    .auth_scheme(
       10988  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10989  +
                                            .put("disableDoubleEncoding", true)
       10990  +
                                            .put("signingName", "s3")
       10991  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10992  +
                                    )
       10993  +
                                    .build(),
       10994  +
                            )
       10995  +
                        }
       10996  +
                        33 => {
       10997  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10998  +
                            let effective_std_region = context
       10999  +
                                .effective_std_region
       11000  +
                                .as_ref()
       11001  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11002  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11003  +
                            ::std::result::Result::Ok(
       11004  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11005  +
                                    .url({
       11006  +
                                        let mut out = String::new();
       11007  +
                                        out.push_str("https://");
       11008  +
                                        #[allow(clippy::needless_borrow)]
       11009  +
                                        out.push_str(&bucket.as_ref());
       11010  +
                                        out.push_str(".s3.");
       11011  +
                                        #[allow(clippy::needless_borrow)]
       11012  +
                                        out.push_str(&effective_std_region.as_ref());
       11013  +
                                        out.push('.');
       11014  +
                                        #[allow(clippy::needless_borrow)]
       11015  +
                                        out.push_str(&partition_result.dns_suffix());
       11016  +
                                        out
       11017  +
                                    })
       11018  +
                                    .auth_scheme(
       11019  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11020  +
                                            .put("disableDoubleEncoding", true)
       11021  +
                                            .put("signingName", "s3")
       11022  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       11023  +
                                    )
       11024  +
                                    .build(),
       11025  +
                            )
       11026  +
                        }
       11027  +
                        34 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11028  +
                            "Invalid region: region was not a valid DNS name.".to_string(),
       11029  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11030  +
                        35 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11031  +
                            "S3 Object Lambda does not support Dual-stack".to_string(),
       11032  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11033  +
                        36 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11034  +
                            "S3 Object Lambda does not support S3 Accelerate".to_string(),
       11035  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11036  +
                        37 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11037  +
                            "Access points are not supported for this operation".to_string(),
       11038  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11039  +
                        38 => {
       11040  +
                            let region = params.region.as_deref().unwrap_or_default();
       11041  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11042  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11043  +
                                let mut out = String::new();
       11044  +
                                out.push_str("Invalid configuration: region from ARN `");
       11045  +
                                #[allow(clippy::needless_borrow)]
       11046  +
                                out.push_str(&bucket_arn.region());
       11047  +
                                out.push_str("` does not match client region `");
       11048  +
                                #[allow(clippy::needless_borrow)]
       11049  +
                                out.push_str(&region.as_ref());
       11050  +
                                out.push_str("` and UseArnRegion is `false`");
13636  11051   
                                out
13637         -
                            })],
13638         -
                        )
13639         -
                        .build(),
13640         -
                )
13641         -
            }
13642         -
            Self::Result31 => {
13643         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13644         -
                let effective_std_region = context
13645         -
                    .effective_std_region
13646         -
                    .as_ref()
13647         -
                    .map(|s| s.clone())
13648         -
                    .expect("Guaranteed to have a value by earlier checks.");
13649         -
                let partition_result = context
13650         -
                    .partition_result
13651         -
                    .as_ref()
13652         -
                    .map(|s| s.clone())
13653         -
                    .expect("Guaranteed to have a value by earlier checks.");
13654         -
                ::std::result::Result::Ok(
13655         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13656         -
                        .url({
13657         -
                            let mut out = String::new();
13658         -
                            out.push_str("https://");
13659         -
                            #[allow(clippy::needless_borrow)]
13660         -
                            out.push_str(&bucket.as_ref());
13661         -
                            out.push_str(".s3-accelerate.");
13662         -
                            #[allow(clippy::needless_borrow)]
13663         -
                            out.push_str(&partition_result.dns_suffix());
13664         -
                            out
13665         -
                        })
13666         -
                        .property(
13667         -
                            "authSchemes",
13668         -
                            vec![::aws_smithy_types::Document::from({
13669         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13670         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13671         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13672         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13673         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
       11052  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11053  +
                        }
       11054  +
                        39 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11055  +
                            "Invalid ARN: Missing account id".to_string(),
       11056  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11057  +
                        40 => {
       11058  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11059  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11060  +
                            let effective_arn_region = context
       11061  +
                                .effective_arn_region
       11062  +
                                .as_ref()
       11063  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11064  +
                            let access_point_name_ssa_1 = context
       11065  +
                                .access_point_name_ssa_1
       11066  +
                                .as_ref()
       11067  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11068  +
                            ::std::result::Result::Ok(
       11069  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11070  +
                                    .url({
       11071  +
                                        let mut out = String::new();
       11072  +
                                        #[allow(clippy::needless_borrow)]
       11073  +
                                        out.push_str(&url.scheme());
       11074  +
                                        out.push_str("://");
       11075  +
                                        #[allow(clippy::needless_borrow)]
       11076  +
                                        out.push_str(&access_point_name_ssa_1.as_ref());
       11077  +
                                        out.push('-');
       11078  +
                                        #[allow(clippy::needless_borrow)]
       11079  +
                                        out.push_str(&bucket_arn.account_id());
       11080  +
                                        out.push('.');
       11081  +
                                        #[allow(clippy::needless_borrow)]
       11082  +
                                        out.push_str(&url.authority());
       11083  +
                                        #[allow(clippy::needless_borrow)]
       11084  +
                                        out.push_str(&url.path());
       11085  +
                                        out
       11086  +
                                    })
       11087  +
                                    .auth_scheme(
       11088  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11089  +
                                            .put("disableDoubleEncoding", true)
       11090  +
                                            .put("signingName", "s3-object-lambda")
       11091  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
       11092  +
                                    )
       11093  +
                                    .build(),
       11094  +
                            )
       11095  +
                        }
       11096  +
                        41 => {
       11097  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11098  +
                            let effective_arn_region = context
       11099  +
                                .effective_arn_region
       11100  +
                                .as_ref()
       11101  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11102  +
                            let access_point_name_ssa_1 = context
       11103  +
                                .access_point_name_ssa_1
       11104  +
                                .as_ref()
       11105  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11106  +
                            let bucket_partition = context.bucket_partition.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11107  +
                            ::std::result::Result::Ok(
       11108  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11109  +
                                    .url({
       11110  +
                                        let mut out = String::new();
       11111  +
                                        out.push_str("https://");
       11112  +
                                        #[allow(clippy::needless_borrow)]
       11113  +
                                        out.push_str(&access_point_name_ssa_1.as_ref());
       11114  +
                                        out.push('-');
       11115  +
                                        #[allow(clippy::needless_borrow)]
       11116  +
                                        out.push_str(&bucket_arn.account_id());
       11117  +
                                        out.push_str(".s3-object-lambda-fips.");
       11118  +
                                        #[allow(clippy::needless_borrow)]
       11119  +
                                        out.push_str(&effective_arn_region.as_ref());
       11120  +
                                        out.push('.');
       11121  +
                                        #[allow(clippy::needless_borrow)]
       11122  +
                                        out.push_str(&bucket_partition.dns_suffix());
       11123  +
                                        out
       11124  +
                                    })
       11125  +
                                    .auth_scheme(
       11126  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11127  +
                                            .put("disableDoubleEncoding", true)
       11128  +
                                            .put("signingName", "s3-object-lambda")
       11129  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
       11130  +
                                    )
       11131  +
                                    .build(),
       11132  +
                            )
       11133  +
                        }
       11134  +
                        42 => {
       11135  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11136  +
                            let effective_arn_region = context
       11137  +
                                .effective_arn_region
       11138  +
                                .as_ref()
       11139  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11140  +
                            let access_point_name_ssa_1 = context
       11141  +
                                .access_point_name_ssa_1
       11142  +
                                .as_ref()
       11143  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11144  +
                            let bucket_partition = context.bucket_partition.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11145  +
                            ::std::result::Result::Ok(
       11146  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11147  +
                                    .url({
       11148  +
                                        let mut out = String::new();
       11149  +
                                        out.push_str("https://");
       11150  +
                                        #[allow(clippy::needless_borrow)]
       11151  +
                                        out.push_str(&access_point_name_ssa_1.as_ref());
       11152  +
                                        out.push('-');
       11153  +
                                        #[allow(clippy::needless_borrow)]
       11154  +
                                        out.push_str(&bucket_arn.account_id());
       11155  +
                                        out.push_str(".s3-object-lambda.");
       11156  +
                                        #[allow(clippy::needless_borrow)]
       11157  +
                                        out.push_str(&effective_arn_region.as_ref());
       11158  +
                                        out.push('.');
       11159  +
                                        #[allow(clippy::needless_borrow)]
       11160  +
                                        out.push_str(&bucket_partition.dns_suffix());
       11161  +
                                        out
       11162  +
                                    })
       11163  +
                                    .auth_scheme(
       11164  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11165  +
                                            .put("disableDoubleEncoding", true)
       11166  +
                                            .put("signingName", "s3-object-lambda")
       11167  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
       11168  +
                                    )
       11169  +
                                    .build(),
       11170  +
                            )
       11171  +
                        }
       11172  +
                        43 => {
       11173  +
                            let access_point_name_ssa_1 = context
       11174  +
                                .access_point_name_ssa_1
       11175  +
                                .as_ref()
       11176  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11177  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11178  +
                                let mut out = String::new();
       11179  +
                                out.push_str("Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `");
       11180  +
                                #[allow(clippy::needless_borrow)]
       11181  +
                                out.push_str(&access_point_name_ssa_1.as_ref());
       11182  +
                                out.push('`');
13674  11183   
                                out
13675         -
                            })],
13676         -
                        )
13677         -
                        .build(),
13678         -
                )
13679         -
            }
13680         -
            Self::Result32 => {
13681         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13682         -
                let effective_std_region = context
13683         -
                    .effective_std_region
13684         -
                    .as_ref()
13685         -
                    .map(|s| s.clone())
13686         -
                    .expect("Guaranteed to have a value by earlier checks.");
13687         -
                let partition_result = context
13688         -
                    .partition_result
13689         -
                    .as_ref()
13690         -
                    .map(|s| s.clone())
13691         -
                    .expect("Guaranteed to have a value by earlier checks.");
13692         -
                ::std::result::Result::Ok(
13693         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13694         -
                        .url({
13695         -
                            let mut out = String::new();
13696         -
                            out.push_str("https://");
13697         -
                            #[allow(clippy::needless_borrow)]
13698         -
                            out.push_str(&bucket.as_ref());
13699         -
                            out.push_str(".s3.");
13700         -
                            #[allow(clippy::needless_borrow)]
13701         -
                            out.push_str(&partition_result.dns_suffix());
13702         -
                            out
13703         -
                        })
13704         -
                        .property(
13705         -
                            "authSchemes",
13706         -
                            vec![::aws_smithy_types::Document::from({
13707         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13708         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13709         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13710         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13711         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
       11184  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11185  +
                        }
       11186  +
                        44 => {
       11187  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11188  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11189  +
                                let mut out = String::new();
       11190  +
                                out.push_str("Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `");
       11191  +
                                #[allow(clippy::needless_borrow)]
       11192  +
                                out.push_str(&bucket_arn.account_id());
       11193  +
                                out.push('`');
13712  11194   
                                out
13713         -
                            })],
13714         -
                        )
13715         -
                        .build(),
13716         -
                )
13717         -
            }
13718         -
            Self::Result33 => {
13719         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13720         -
                let effective_std_region = context
13721         -
                    .effective_std_region
13722         -
                    .as_ref()
13723         -
                    .map(|s| s.clone())
13724         -
                    .expect("Guaranteed to have a value by earlier checks.");
13725         -
                let partition_result = context
13726         -
                    .partition_result
13727         -
                    .as_ref()
13728         -
                    .map(|s| s.clone())
13729         -
                    .expect("Guaranteed to have a value by earlier checks.");
13730         -
                ::std::result::Result::Ok(
13731         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13732         -
                        .url({
13733         -
                            let mut out = String::new();
13734         -
                            out.push_str("https://");
13735         -
                            #[allow(clippy::needless_borrow)]
13736         -
                            out.push_str(&bucket.as_ref());
13737         -
                            out.push_str(".s3.");
13738         -
                            #[allow(clippy::needless_borrow)]
13739         -
                            out.push_str(&effective_std_region.as_ref());
13740         -
                            out.push('.');
13741         -
                            #[allow(clippy::needless_borrow)]
13742         -
                            out.push_str(&partition_result.dns_suffix());
13743         -
                            out
13744         -
                        })
13745         -
                        .property(
13746         -
                            "authSchemes",
13747         -
                            vec![::aws_smithy_types::Document::from({
13748         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13749         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13750         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13751         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13752         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
       11195  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11196  +
                        }
       11197  +
                        45 => {
       11198  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11199  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11200  +
                                let mut out = String::new();
       11201  +
                                out.push_str("Invalid region in ARN: `");
       11202  +
                                #[allow(clippy::needless_borrow)]
       11203  +
                                out.push_str(&bucket_arn.region());
       11204  +
                                out.push_str("` (invalid DNS name)");
13753  11205   
                                out
13754         -
                            })],
13755         -
                        )
13756         -
                        .build(),
13757         -
                )
13758         -
            }
13759         -
            Self::Result34 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
13760         -
                "Invalid region: region was not a valid DNS name.".to_string(),
13761         -
            )),
13762         -
            Self::Result35 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
13763         -
                "S3 Object Lambda does not support Dual-stack".to_string(),
13764         -
            )),
13765         -
            Self::Result36 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
13766         -
                "S3 Object Lambda does not support S3 Accelerate".to_string(),
13767         -
            )),
13768         -
            Self::Result37 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
13769         -
                "Access points are not supported for this operation".to_string(),
13770         -
            )),
13771         -
            Self::Result38 => {
13772         -
                let region = params.region.as_ref().map(|s| s.clone()).unwrap_or_default();
13773         -
                let bucket_arn = context
13774         -
                    .bucket_arn
13775         -
                    .as_ref()
13776         -
                    .map(|s| s.clone())
13777         -
                    .expect("Guaranteed to have a value by earlier checks.");
13778         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
13779         -
                    let mut out = String::new();
13780         -
                    out.push_str("Invalid configuration: region from ARN `");
13781         -
                    #[allow(clippy::needless_borrow)]
13782         -
                    out.push_str(&bucket_arn.region());
13783         -
                    out.push_str("` does not match client region `");
13784         -
                    #[allow(clippy::needless_borrow)]
13785         -
                    out.push_str(&region.as_ref());
13786         -
                    out.push_str("` and UseArnRegion is `false`");
13787         -
                    out
13788         -
                }))
13789         -
            }
13790         -
            Self::Result39 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
13791         -
                "Invalid ARN: Missing account id".to_string(),
13792         -
            )),
13793         -
            Self::Result40 => {
13794         -
                let url = context
13795         -
                    .url
13796         -
                    .as_ref()
13797         -
                    .map(|s| s.clone())
13798         -
                    .expect("Guaranteed to have a value by earlier checks.");
13799         -
                let bucket_arn = context
13800         -
                    .bucket_arn
13801         -
                    .as_ref()
13802         -
                    .map(|s| s.clone())
13803         -
                    .expect("Guaranteed to have a value by earlier checks.");
13804         -
                let effective_arn_region = context
13805         -
                    .effective_arn_region
13806         -
                    .as_ref()
13807         -
                    .map(|s| s.clone())
13808         -
                    .expect("Guaranteed to have a value by earlier checks.");
13809         -
                let access_point_name_ssa_1 = context
13810         -
                    .access_point_name_ssa_1
13811         -
                    .as_ref()
13812         -
                    .map(|s| s.clone())
13813         -
                    .expect("Guaranteed to have a value by earlier checks.");
13814         -
                ::std::result::Result::Ok(
13815         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13816         -
                        .url({
13817         -
                            let mut out = String::new();
13818         -
                            #[allow(clippy::needless_borrow)]
13819         -
                            out.push_str(&url.scheme());
13820         -
                            out.push_str("://");
13821         -
                            #[allow(clippy::needless_borrow)]
13822         -
                            out.push_str(&access_point_name_ssa_1.as_ref());
13823         -
                            out.push('-');
13824         -
                            #[allow(clippy::needless_borrow)]
13825         -
                            out.push_str(&bucket_arn.account_id());
13826         -
                            out.push('.');
13827         -
                            #[allow(clippy::needless_borrow)]
13828         -
                            out.push_str(&url.authority());
13829         -
                            #[allow(clippy::needless_borrow)]
13830         -
                            out.push_str(&url.path());
13831         -
                            out
13832         -
                        })
13833         -
                        .property(
13834         -
                            "authSchemes",
13835         -
                            vec![::aws_smithy_types::Document::from({
13836         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13837         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13838         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13839         -
                                out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
13840         -
                                out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
       11206  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11207  +
                        }
       11208  +
                        46 => {
       11209  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       11210  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11211  +
                            let bucket_partition = context.bucket_partition.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11212  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11213  +
                                let mut out = String::new();
       11214  +
                                out.push_str("Client was configured for partition `");
       11215  +
                                #[allow(clippy::needless_borrow)]
       11216  +
                                out.push_str(&partition_result.name());
       11217  +
                                out.push_str("` but ARN (`");
       11218  +
                                #[allow(clippy::needless_borrow)]
       11219  +
                                out.push_str(&bucket.as_ref());
       11220  +
                                out.push_str("`) has `");
       11221  +
                                #[allow(clippy::needless_borrow)]
       11222  +
                                out.push_str(&bucket_partition.name());
       11223  +
                                out.push('`');
13841  11224   
                                out
13842         -
                            })],
13843         -
                        )
13844         -
                        .build(),
13845         -
                )
13846         -
            }
13847         -
            Self::Result41 => {
13848         -
                let bucket_arn = context
13849         -
                    .bucket_arn
13850         -
                    .as_ref()
13851         -
                    .map(|s| s.clone())
13852         -
                    .expect("Guaranteed to have a value by earlier checks.");
13853         -
                let effective_arn_region = context
13854         -
                    .effective_arn_region
13855         -
                    .as_ref()
13856         -
                    .map(|s| s.clone())
13857         -
                    .expect("Guaranteed to have a value by earlier checks.");
13858         -
                let access_point_name_ssa_1 = context
13859         -
                    .access_point_name_ssa_1
13860         -
                    .as_ref()
13861         -
                    .map(|s| s.clone())
13862         -
                    .expect("Guaranteed to have a value by earlier checks.");
13863         -
                let bucket_partition = context
13864         -
                    .bucket_partition
13865         -
                    .as_ref()
13866         -
                    .map(|s| s.clone())
13867         -
                    .expect("Guaranteed to have a value by earlier checks.");
13868         -
                ::std::result::Result::Ok(
13869         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13870         -
                        .url({
13871         -
                            let mut out = String::new();
13872         -
                            out.push_str("https://");
13873         -
                            #[allow(clippy::needless_borrow)]
13874         -
                            out.push_str(&access_point_name_ssa_1.as_ref());
13875         -
                            out.push('-');
13876         -
                            #[allow(clippy::needless_borrow)]
13877         -
                            out.push_str(&bucket_arn.account_id());
13878         -
                            out.push_str(".s3-object-lambda-fips.");
13879         -
                            #[allow(clippy::needless_borrow)]
13880         -
                            out.push_str(&effective_arn_region.as_ref());
13881         -
                            out.push('.');
13882         -
                            #[allow(clippy::needless_borrow)]
13883         -
                            out.push_str(&bucket_partition.dns_suffix());
13884         -
                            out
13885         -
                        })
13886         -
                        .property(
13887         -
                            "authSchemes",
13888         -
                            vec![::aws_smithy_types::Document::from({
13889         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13890         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13891         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13892         -
                                out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
13893         -
                                out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
       11225  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11226  +
                        }
       11227  +
                        47 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11228  +
                            "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.".to_string(),
       11229  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11230  +
                        48 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11231  +
                            "Invalid ARN: bucket ARN is missing a region".to_string(),
       11232  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11233  +
                        49 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11234  +
                            "Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided".to_string(),
       11235  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11236  +
                        50 => {
       11237  +
                            let arn_type = context.arn_type.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11238  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11239  +
                                let mut out = String::new();
       11240  +
                                out.push_str("Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `");
       11241  +
                                #[allow(clippy::needless_borrow)]
       11242  +
                                out.push_str(&arn_type.as_ref());
       11243  +
                                out.push('`');
13894  11244   
                                out
13895         -
                            })],
13896         -
                        )
13897         -
                        .build(),
13898         -
                )
13899         -
            }
13900         -
            Self::Result42 => {
13901         -
                let bucket_arn = context
13902         -
                    .bucket_arn
13903         -
                    .as_ref()
13904         -
                    .map(|s| s.clone())
13905         -
                    .expect("Guaranteed to have a value by earlier checks.");
13906         -
                let effective_arn_region = context
13907         -
                    .effective_arn_region
13908         -
                    .as_ref()
13909         -
                    .map(|s| s.clone())
13910         -
                    .expect("Guaranteed to have a value by earlier checks.");
13911         -
                let access_point_name_ssa_1 = context
13912         -
                    .access_point_name_ssa_1
13913         -
                    .as_ref()
13914         -
                    .map(|s| s.clone())
13915         -
                    .expect("Guaranteed to have a value by earlier checks.");
13916         -
                let bucket_partition = context
13917         -
                    .bucket_partition
13918         -
                    .as_ref()
13919         -
                    .map(|s| s.clone())
13920         -
                    .expect("Guaranteed to have a value by earlier checks.");
13921         -
                ::std::result::Result::Ok(
13922         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13923         -
                        .url({
13924         -
                            let mut out = String::new();
13925         -
                            out.push_str("https://");
13926         -
                            #[allow(clippy::needless_borrow)]
13927         -
                            out.push_str(&access_point_name_ssa_1.as_ref());
13928         -
                            out.push('-');
13929         -
                            #[allow(clippy::needless_borrow)]
13930         -
                            out.push_str(&bucket_arn.account_id());
13931         -
                            out.push_str(".s3-object-lambda.");
13932         -
                            #[allow(clippy::needless_borrow)]
13933         -
                            out.push_str(&effective_arn_region.as_ref());
13934         -
                            out.push('.');
13935         -
                            #[allow(clippy::needless_borrow)]
13936         -
                            out.push_str(&bucket_partition.dns_suffix());
13937         -
                            out
13938         -
                        })
13939         -
                        .property(
13940         -
                            "authSchemes",
13941         -
                            vec![::aws_smithy_types::Document::from({
13942         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13943         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13944         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13945         -
                                out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
13946         -
                                out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
       11245  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11246  +
                        }
       11247  +
                        51 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11248  +
                            "Access Points do not support S3 Accelerate".to_string(),
       11249  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11250  +
                        52 => {
       11251  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11252  +
                            let effective_arn_region = context
       11253  +
                                .effective_arn_region
       11254  +
                                .as_ref()
       11255  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11256  +
                            let access_point_name_ssa_1 = context
       11257  +
                                .access_point_name_ssa_1
       11258  +
                                .as_ref()
       11259  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11260  +
                            let bucket_partition = context.bucket_partition.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11261  +
                            ::std::result::Result::Ok(
       11262  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11263  +
                                    .url({
       11264  +
                                        let mut out = String::new();
       11265  +
                                        out.push_str("https://");
       11266  +
                                        #[allow(clippy::needless_borrow)]
       11267  +
                                        out.push_str(&access_point_name_ssa_1.as_ref());
       11268  +
                                        out.push('-');
       11269  +
                                        #[allow(clippy::needless_borrow)]
       11270  +
                                        out.push_str(&bucket_arn.account_id());
       11271  +
                                        out.push_str(".s3-accesspoint-fips.dualstack.");
       11272  +
                                        #[allow(clippy::needless_borrow)]
       11273  +
                                        out.push_str(&effective_arn_region.as_ref());
       11274  +
                                        out.push('.');
       11275  +
                                        #[allow(clippy::needless_borrow)]
       11276  +
                                        out.push_str(&bucket_partition.dns_suffix());
       11277  +
                                        out
       11278  +
                                    })
       11279  +
                                    .auth_scheme(
       11280  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11281  +
                                            .put("disableDoubleEncoding", true)
       11282  +
                                            .put("signingName", "s3")
       11283  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
       11284  +
                                    )
       11285  +
                                    .build(),
       11286  +
                            )
       11287  +
                        }
       11288  +
                        53 => {
       11289  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11290  +
                            let effective_arn_region = context
       11291  +
                                .effective_arn_region
       11292  +
                                .as_ref()
       11293  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11294  +
                            let access_point_name_ssa_1 = context
       11295  +
                                .access_point_name_ssa_1
       11296  +
                                .as_ref()
       11297  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11298  +
                            let bucket_partition = context.bucket_partition.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11299  +
                            ::std::result::Result::Ok(
       11300  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11301  +
                                    .url({
       11302  +
                                        let mut out = String::new();
       11303  +
                                        out.push_str("https://");
       11304  +
                                        #[allow(clippy::needless_borrow)]
       11305  +
                                        out.push_str(&access_point_name_ssa_1.as_ref());
       11306  +
                                        out.push('-');
       11307  +
                                        #[allow(clippy::needless_borrow)]
       11308  +
                                        out.push_str(&bucket_arn.account_id());
       11309  +
                                        out.push_str(".s3-accesspoint-fips.");
       11310  +
                                        #[allow(clippy::needless_borrow)]
       11311  +
                                        out.push_str(&effective_arn_region.as_ref());
       11312  +
                                        out.push('.');
       11313  +
                                        #[allow(clippy::needless_borrow)]
       11314  +
                                        out.push_str(&bucket_partition.dns_suffix());
       11315  +
                                        out
       11316  +
                                    })
       11317  +
                                    .auth_scheme(
       11318  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11319  +
                                            .put("disableDoubleEncoding", true)
       11320  +
                                            .put("signingName", "s3")
       11321  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
       11322  +
                                    )
       11323  +
                                    .build(),
       11324  +
                            )
       11325  +
                        }
       11326  +
                        54 => {
       11327  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11328  +
                            let effective_arn_region = context
       11329  +
                                .effective_arn_region
       11330  +
                                .as_ref()
       11331  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11332  +
                            let access_point_name_ssa_1 = context
       11333  +
                                .access_point_name_ssa_1
       11334  +
                                .as_ref()
       11335  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11336  +
                            let bucket_partition = context.bucket_partition.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11337  +
                            ::std::result::Result::Ok(
       11338  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11339  +
                                    .url({
       11340  +
                                        let mut out = String::new();
       11341  +
                                        out.push_str("https://");
       11342  +
                                        #[allow(clippy::needless_borrow)]
       11343  +
                                        out.push_str(&access_point_name_ssa_1.as_ref());
       11344  +
                                        out.push('-');
       11345  +
                                        #[allow(clippy::needless_borrow)]
       11346  +
                                        out.push_str(&bucket_arn.account_id());
       11347  +
                                        out.push_str(".s3-accesspoint.dualstack.");
       11348  +
                                        #[allow(clippy::needless_borrow)]
       11349  +
                                        out.push_str(&effective_arn_region.as_ref());
       11350  +
                                        out.push('.');
       11351  +
                                        #[allow(clippy::needless_borrow)]
       11352  +
                                        out.push_str(&bucket_partition.dns_suffix());
       11353  +
                                        out
       11354  +
                                    })
       11355  +
                                    .auth_scheme(
       11356  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11357  +
                                            .put("disableDoubleEncoding", true)
       11358  +
                                            .put("signingName", "s3")
       11359  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
       11360  +
                                    )
       11361  +
                                    .build(),
       11362  +
                            )
       11363  +
                        }
       11364  +
                        55 => {
       11365  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11366  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11367  +
                            let effective_arn_region = context
       11368  +
                                .effective_arn_region
       11369  +
                                .as_ref()
       11370  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11371  +
                            let access_point_name_ssa_1 = context
       11372  +
                                .access_point_name_ssa_1
       11373  +
                                .as_ref()
       11374  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11375  +
                            ::std::result::Result::Ok(
       11376  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11377  +
                                    .url({
       11378  +
                                        let mut out = String::new();
       11379  +
                                        #[allow(clippy::needless_borrow)]
       11380  +
                                        out.push_str(&url.scheme());
       11381  +
                                        out.push_str("://");
       11382  +
                                        #[allow(clippy::needless_borrow)]
       11383  +
                                        out.push_str(&access_point_name_ssa_1.as_ref());
       11384  +
                                        out.push('-');
       11385  +
                                        #[allow(clippy::needless_borrow)]
       11386  +
                                        out.push_str(&bucket_arn.account_id());
       11387  +
                                        out.push('.');
       11388  +
                                        #[allow(clippy::needless_borrow)]
       11389  +
                                        out.push_str(&url.authority());
       11390  +
                                        #[allow(clippy::needless_borrow)]
       11391  +
                                        out.push_str(&url.path());
       11392  +
                                        out
       11393  +
                                    })
       11394  +
                                    .auth_scheme(
       11395  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11396  +
                                            .put("disableDoubleEncoding", true)
       11397  +
                                            .put("signingName", "s3")
       11398  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
       11399  +
                                    )
       11400  +
                                    .build(),
       11401  +
                            )
       11402  +
                        }
       11403  +
                        56 => {
       11404  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11405  +
                            let effective_arn_region = context
       11406  +
                                .effective_arn_region
       11407  +
                                .as_ref()
       11408  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11409  +
                            let access_point_name_ssa_1 = context
       11410  +
                                .access_point_name_ssa_1
       11411  +
                                .as_ref()
       11412  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11413  +
                            let bucket_partition = context.bucket_partition.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11414  +
                            ::std::result::Result::Ok(
       11415  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11416  +
                                    .url({
       11417  +
                                        let mut out = String::new();
       11418  +
                                        out.push_str("https://");
       11419  +
                                        #[allow(clippy::needless_borrow)]
       11420  +
                                        out.push_str(&access_point_name_ssa_1.as_ref());
       11421  +
                                        out.push('-');
       11422  +
                                        #[allow(clippy::needless_borrow)]
       11423  +
                                        out.push_str(&bucket_arn.account_id());
       11424  +
                                        out.push_str(".s3-accesspoint.");
       11425  +
                                        #[allow(clippy::needless_borrow)]
       11426  +
                                        out.push_str(&effective_arn_region.as_ref());
       11427  +
                                        out.push('.');
       11428  +
                                        #[allow(clippy::needless_borrow)]
       11429  +
                                        out.push_str(&bucket_partition.dns_suffix());
       11430  +
                                        out
       11431  +
                                    })
       11432  +
                                    .auth_scheme(
       11433  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11434  +
                                            .put("disableDoubleEncoding", true)
       11435  +
                                            .put("signingName", "s3")
       11436  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
       11437  +
                                    )
       11438  +
                                    .build(),
       11439  +
                            )
       11440  +
                        }
       11441  +
                        57 => {
       11442  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11443  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11444  +
                                let mut out = String::new();
       11445  +
                                out.push_str("Invalid ARN: The ARN was not for the S3 service, found: ");
       11446  +
                                #[allow(clippy::needless_borrow)]
       11447  +
                                out.push_str(&bucket_arn.service());
13947  11448   
                                out
13948         -
                            })],
13949         -
                        )
13950         -
                        .build(),
13951         -
                )
13952         -
            }
13953         -
            Self::Result43 => {
13954         -
                let access_point_name_ssa_1 = context
13955         -
                    .access_point_name_ssa_1
13956         -
                    .as_ref()
13957         -
                    .map(|s| s.clone())
13958         -
                    .expect("Guaranteed to have a value by earlier checks.");
13959         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
13960         -
                    let mut out = String::new();
13961         -
                    out.push_str("Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `");
13962         -
                    #[allow(clippy::needless_borrow)]
13963         -
                    out.push_str(&access_point_name_ssa_1.as_ref());
13964         -
                    out.push('`');
13965         -
                    out
13966         -
                }))
13967         -
            }
13968         -
            Self::Result44 => {
13969         -
                let bucket_arn = context
13970         -
                    .bucket_arn
13971         -
                    .as_ref()
13972         -
                    .map(|s| s.clone())
13973         -
                    .expect("Guaranteed to have a value by earlier checks.");
13974         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
13975         -
                    let mut out = String::new();
13976         -
                    out.push_str("Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `");
13977         -
                    #[allow(clippy::needless_borrow)]
13978         -
                    out.push_str(&bucket_arn.account_id());
13979         -
                    out.push('`');
13980         -
                    out
13981         -
                }))
13982         -
            }
13983         -
            Self::Result45 => {
13984         -
                let bucket_arn = context
13985         -
                    .bucket_arn
13986         -
                    .as_ref()
13987         -
                    .map(|s| s.clone())
13988         -
                    .expect("Guaranteed to have a value by earlier checks.");
13989         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
13990         -
                    let mut out = String::new();
13991         -
                    out.push_str("Invalid region in ARN: `");
13992         -
                    #[allow(clippy::needless_borrow)]
13993         -
                    out.push_str(&bucket_arn.region());
13994         -
                    out.push_str("` (invalid DNS name)");
13995         -
                    out
13996         -
                }))
13997         -
            }
13998         -
            Self::Result46 => {
13999         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
14000         -
                let partition_result = context
14001         -
                    .partition_result
14002         -
                    .as_ref()
14003         -
                    .map(|s| s.clone())
14004         -
                    .expect("Guaranteed to have a value by earlier checks.");
14005         -
                let bucket_partition = context
14006         -
                    .bucket_partition
14007         -
                    .as_ref()
14008         -
                    .map(|s| s.clone())
14009         -
                    .expect("Guaranteed to have a value by earlier checks.");
14010         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
14011         -
                    let mut out = String::new();
14012         -
                    out.push_str("Client was configured for partition `");
14013         -
                    #[allow(clippy::needless_borrow)]
14014         -
                    out.push_str(&partition_result.name());
14015         -
                    out.push_str("` but ARN (`");
14016         -
                    #[allow(clippy::needless_borrow)]
14017         -
                    out.push_str(&bucket.as_ref());
14018         -
                    out.push_str("`) has `");
14019         -
                    #[allow(clippy::needless_borrow)]
14020         -
                    out.push_str(&bucket_partition.name());
14021         -
                    out.push('`');
14022         -
                    out
14023         -
                }))
14024         -
            }
14025         -
            Self::Result47 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14026         -
                "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.".to_string(),
14027         -
            )),
14028         -
            Self::Result48 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14029         -
                "Invalid ARN: bucket ARN is missing a region".to_string(),
14030         -
            )),
14031         -
            Self::Result49 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14032         -
                "Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided".to_string(),
14033         -
            )),
14034         -
            Self::Result50 => {
14035         -
                let arn_type = context
14036         -
                    .arn_type
14037         -
                    .as_ref()
14038         -
                    .map(|s| s.clone())
14039         -
                    .expect("Guaranteed to have a value by earlier checks.");
14040         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
14041         -
                    let mut out = String::new();
14042         -
                    out.push_str("Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `");
14043         -
                    #[allow(clippy::needless_borrow)]
14044         -
                    out.push_str(&arn_type.as_ref());
14045         -
                    out.push('`');
14046         -
                    out
14047         -
                }))
14048         -
            }
14049         -
            Self::Result51 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14050         -
                "Access Points do not support S3 Accelerate".to_string(),
14051         -
            )),
14052         -
            Self::Result52 => {
14053         -
                let bucket_arn = context
14054         -
                    .bucket_arn
14055         -
                    .as_ref()
14056         -
                    .map(|s| s.clone())
14057         -
                    .expect("Guaranteed to have a value by earlier checks.");
14058         -
                let effective_arn_region = context
14059         -
                    .effective_arn_region
14060         -
                    .as_ref()
14061         -
                    .map(|s| s.clone())
14062         -
                    .expect("Guaranteed to have a value by earlier checks.");
14063         -
                let access_point_name_ssa_1 = context
14064         -
                    .access_point_name_ssa_1
14065         -
                    .as_ref()
14066         -
                    .map(|s| s.clone())
14067         -
                    .expect("Guaranteed to have a value by earlier checks.");
14068         -
                let bucket_partition = context
14069         -
                    .bucket_partition
14070         -
                    .as_ref()
14071         -
                    .map(|s| s.clone())
14072         -
                    .expect("Guaranteed to have a value by earlier checks.");
14073         -
                ::std::result::Result::Ok(
14074         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14075         -
                        .url({
14076         -
                            let mut out = String::new();
14077         -
                            out.push_str("https://");
14078         -
                            #[allow(clippy::needless_borrow)]
14079         -
                            out.push_str(&access_point_name_ssa_1.as_ref());
14080         -
                            out.push('-');
14081         -
                            #[allow(clippy::needless_borrow)]
14082         -
                            out.push_str(&bucket_arn.account_id());
14083         -
                            out.push_str(".s3-accesspoint-fips.dualstack.");
14084         -
                            #[allow(clippy::needless_borrow)]
14085         -
                            out.push_str(&effective_arn_region.as_ref());
14086         -
                            out.push('.');
14087         -
                            #[allow(clippy::needless_borrow)]
14088         -
                            out.push_str(&bucket_partition.dns_suffix());
14089         -
                            out
14090         -
                        })
14091         -
                        .property(
14092         -
                            "authSchemes",
14093         -
                            vec![::aws_smithy_types::Document::from({
14094         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14095         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14096         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14097         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14098         -
                                out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
       11449  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11450  +
                        }
       11451  +
                        58 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11452  +
                            "S3 MRAP does not support dual-stack".to_string(),
       11453  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11454  +
                        59 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11455  +
                            "S3 MRAP does not support FIPS".to_string(),
       11456  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11457  +
                        60 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11458  +
                            "S3 MRAP does not support S3 Accelerate".to_string(),
       11459  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11460  +
                        61 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11461  +
                            "Invalid configuration: Multi-Region Access Point ARNs are disabled.".to_string(),
       11462  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11463  +
                        62 => {
       11464  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11465  +
                            let access_point_name_ssa_1 = context
       11466  +
                                .access_point_name_ssa_1
       11467  +
                                .as_ref()
       11468  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11469  +
                            ::std::result::Result::Ok(
       11470  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11471  +
                                    .url({
       11472  +
                                        let mut out = String::new();
       11473  +
                                        out.push_str("https://");
       11474  +
                                        #[allow(clippy::needless_borrow)]
       11475  +
                                        out.push_str(&access_point_name_ssa_1.as_ref());
       11476  +
                                        out.push_str(".accesspoint.s3-global.");
       11477  +
                                        #[allow(clippy::needless_borrow)]
       11478  +
                                        out.push_str(&partition_result.dns_suffix());
       11479  +
                                        out
       11480  +
                                    })
       11481  +
                                    .auth_scheme(
       11482  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a".to_string(), 3)
       11483  +
                                            .put("disableDoubleEncoding", true)
       11484  +
                                            .put("signingName", "s3")
       11485  +
                                            .put("signingRegionSet", vec![::aws_smithy_types::Document::from("*".to_string())]),
       11486  +
                                    )
       11487  +
                                    .build(),
       11488  +
                            )
       11489  +
                        }
       11490  +
                        63 => {
       11491  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11492  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11493  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11494  +
                                let mut out = String::new();
       11495  +
                                out.push_str("Client was configured for partition `");
       11496  +
                                #[allow(clippy::needless_borrow)]
       11497  +
                                out.push_str(&partition_result.name());
       11498  +
                                out.push_str("` but bucket referred to partition `");
       11499  +
                                #[allow(clippy::needless_borrow)]
       11500  +
                                out.push_str(&bucket_arn.partition());
       11501  +
                                out.push('`');
14099  11502   
                                out
14100         -
                            })],
14101         -
                        )
14102         -
                        .build(),
14103         -
                )
14104         -
            }
14105         -
            Self::Result53 => {
14106         -
                let bucket_arn = context
14107         -
                    .bucket_arn
14108         -
                    .as_ref()
14109         -
                    .map(|s| s.clone())
14110         -
                    .expect("Guaranteed to have a value by earlier checks.");
14111         -
                let effective_arn_region = context
14112         -
                    .effective_arn_region
14113         -
                    .as_ref()
14114         -
                    .map(|s| s.clone())
14115         -
                    .expect("Guaranteed to have a value by earlier checks.");
14116         -
                let access_point_name_ssa_1 = context
14117         -
                    .access_point_name_ssa_1
14118         -
                    .as_ref()
14119         -
                    .map(|s| s.clone())
14120         -
                    .expect("Guaranteed to have a value by earlier checks.");
14121         -
                let bucket_partition = context
14122         -
                    .bucket_partition
14123         -
                    .as_ref()
14124         -
                    .map(|s| s.clone())
14125         -
                    .expect("Guaranteed to have a value by earlier checks.");
14126         -
                ::std::result::Result::Ok(
14127         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14128         -
                        .url({
14129         -
                            let mut out = String::new();
14130         -
                            out.push_str("https://");
14131         -
                            #[allow(clippy::needless_borrow)]
14132         -
                            out.push_str(&access_point_name_ssa_1.as_ref());
14133         -
                            out.push('-');
14134         -
                            #[allow(clippy::needless_borrow)]
14135         -
                            out.push_str(&bucket_arn.account_id());
14136         -
                            out.push_str(".s3-accesspoint-fips.");
14137         -
                            #[allow(clippy::needless_borrow)]
14138         -
                            out.push_str(&effective_arn_region.as_ref());
14139         -
                            out.push('.');
14140         -
                            #[allow(clippy::needless_borrow)]
14141         -
                            out.push_str(&bucket_partition.dns_suffix());
14142         -
                            out
14143         -
                        })
14144         -
                        .property(
14145         -
                            "authSchemes",
14146         -
                            vec![::aws_smithy_types::Document::from({
14147         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14148         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14149         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14150         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14151         -
                                out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
       11503  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11504  +
                        }
       11505  +
                        64 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11506  +
                            "Invalid Access Point Name".to_string(),
       11507  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11508  +
                        65 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11509  +
                            "S3 Outposts does not support Dual-stack".to_string(),
       11510  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11511  +
                        66 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11512  +
                            "S3 Outposts does not support FIPS".to_string(),
       11513  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11514  +
                        67 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11515  +
                            "S3 Outposts does not support S3 Accelerate".to_string(),
       11516  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11517  +
                        68 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11518  +
                            "Invalid Arn: Outpost Access Point ARN contains sub resources".to_string(),
       11519  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11520  +
                        69 => {
       11521  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11522  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11523  +
                            let effective_arn_region = context
       11524  +
                                .effective_arn_region
       11525  +
                                .as_ref()
       11526  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11527  +
                            let outpost_id_ssa_1 = context.outpost_id_ssa_1.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11528  +
                            let access_point_name_ssa_2 = context
       11529  +
                                .access_point_name_ssa_2
       11530  +
                                .as_ref()
       11531  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11532  +
                            ::std::result::Result::Ok(
       11533  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11534  +
                                    .url({
       11535  +
                                        let mut out = String::new();
       11536  +
                                        out.push_str("https://");
       11537  +
                                        #[allow(clippy::needless_borrow)]
       11538  +
                                        out.push_str(&access_point_name_ssa_2.as_ref());
       11539  +
                                        out.push('-');
       11540  +
                                        #[allow(clippy::needless_borrow)]
       11541  +
                                        out.push_str(&bucket_arn.account_id());
       11542  +
                                        out.push('.');
       11543  +
                                        #[allow(clippy::needless_borrow)]
       11544  +
                                        out.push_str(&outpost_id_ssa_1.as_ref());
       11545  +
                                        out.push('.');
       11546  +
                                        #[allow(clippy::needless_borrow)]
       11547  +
                                        out.push_str(&url.authority());
       11548  +
                                        out
       11549  +
                                    })
       11550  +
                                    .auth_scheme(
       11551  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a".to_string(), 3)
       11552  +
                                            .put("disableDoubleEncoding", true)
       11553  +
                                            .put("signingName", "s3-outposts")
       11554  +
                                            .put("signingRegionSet", vec![::aws_smithy_types::Document::from("*".to_string())]),
       11555  +
                                    )
       11556  +
                                    .auth_scheme(
       11557  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11558  +
                                            .put("disableDoubleEncoding", true)
       11559  +
                                            .put("signingName", "s3-outposts")
       11560  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
       11561  +
                                    )
       11562  +
                                    .build(),
       11563  +
                            )
       11564  +
                        }
       11565  +
                        70 => {
       11566  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11567  +
                            let effective_arn_region = context
       11568  +
                                .effective_arn_region
       11569  +
                                .as_ref()
       11570  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11571  +
                            let bucket_partition = context.bucket_partition.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11572  +
                            let outpost_id_ssa_1 = context.outpost_id_ssa_1.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11573  +
                            let access_point_name_ssa_2 = context
       11574  +
                                .access_point_name_ssa_2
       11575  +
                                .as_ref()
       11576  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11577  +
                            ::std::result::Result::Ok(
       11578  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11579  +
                                    .url({
       11580  +
                                        let mut out = String::new();
       11581  +
                                        out.push_str("https://");
       11582  +
                                        #[allow(clippy::needless_borrow)]
       11583  +
                                        out.push_str(&access_point_name_ssa_2.as_ref());
       11584  +
                                        out.push('-');
       11585  +
                                        #[allow(clippy::needless_borrow)]
       11586  +
                                        out.push_str(&bucket_arn.account_id());
       11587  +
                                        out.push('.');
       11588  +
                                        #[allow(clippy::needless_borrow)]
       11589  +
                                        out.push_str(&outpost_id_ssa_1.as_ref());
       11590  +
                                        out.push_str(".s3-outposts.");
       11591  +
                                        #[allow(clippy::needless_borrow)]
       11592  +
                                        out.push_str(&effective_arn_region.as_ref());
       11593  +
                                        out.push('.');
       11594  +
                                        #[allow(clippy::needless_borrow)]
       11595  +
                                        out.push_str(&bucket_partition.dns_suffix());
       11596  +
                                        out
       11597  +
                                    })
       11598  +
                                    .auth_scheme(
       11599  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a".to_string(), 3)
       11600  +
                                            .put("disableDoubleEncoding", true)
       11601  +
                                            .put("signingName", "s3-outposts")
       11602  +
                                            .put("signingRegionSet", vec![::aws_smithy_types::Document::from("*".to_string())]),
       11603  +
                                    )
       11604  +
                                    .auth_scheme(
       11605  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11606  +
                                            .put("disableDoubleEncoding", true)
       11607  +
                                            .put("signingName", "s3-outposts")
       11608  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
       11609  +
                                    )
       11610  +
                                    .build(),
       11611  +
                            )
       11612  +
                        }
       11613  +
                        71 => {
       11614  +
                            let outpost_type = context.outpost_type.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11615  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11616  +
                                let mut out = String::new();
       11617  +
                                out.push_str("Expected an outpost type `accesspoint`, found ");
       11618  +
                                #[allow(clippy::needless_borrow)]
       11619  +
                                out.push_str(&outpost_type.as_ref());
14152  11620   
                                out
14153         -
                            })],
14154         -
                        )
14155         -
                        .build(),
14156         -
                )
14157         -
            }
14158         -
            Self::Result54 => {
14159         -
                let bucket_arn = context
14160         -
                    .bucket_arn
14161         -
                    .as_ref()
14162         -
                    .map(|s| s.clone())
14163         -
                    .expect("Guaranteed to have a value by earlier checks.");
14164         -
                let effective_arn_region = context
14165         -
                    .effective_arn_region
14166         -
                    .as_ref()
14167         -
                    .map(|s| s.clone())
14168         -
                    .expect("Guaranteed to have a value by earlier checks.");
14169         -
                let access_point_name_ssa_1 = context
14170         -
                    .access_point_name_ssa_1
14171         -
                    .as_ref()
14172         -
                    .map(|s| s.clone())
14173         -
                    .expect("Guaranteed to have a value by earlier checks.");
14174         -
                let bucket_partition = context
14175         -
                    .bucket_partition
14176         -
                    .as_ref()
14177         -
                    .map(|s| s.clone())
14178         -
                    .expect("Guaranteed to have a value by earlier checks.");
14179         -
                ::std::result::Result::Ok(
14180         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14181         -
                        .url({
14182         -
                            let mut out = String::new();
14183         -
                            out.push_str("https://");
14184         -
                            #[allow(clippy::needless_borrow)]
14185         -
                            out.push_str(&access_point_name_ssa_1.as_ref());
14186         -
                            out.push('-');
14187         -
                            #[allow(clippy::needless_borrow)]
14188         -
                            out.push_str(&bucket_arn.account_id());
14189         -
                            out.push_str(".s3-accesspoint.dualstack.");
14190         -
                            #[allow(clippy::needless_borrow)]
14191         -
                            out.push_str(&effective_arn_region.as_ref());
14192         -
                            out.push('.');
14193         -
                            #[allow(clippy::needless_borrow)]
14194         -
                            out.push_str(&bucket_partition.dns_suffix());
14195         -
                            out
14196         -
                        })
14197         -
                        .property(
14198         -
                            "authSchemes",
14199         -
                            vec![::aws_smithy_types::Document::from({
14200         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14201         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14202         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14203         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14204         -
                                out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
       11621  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11622  +
                        }
       11623  +
                        72 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11624  +
                            "Invalid ARN: expected an access point name".to_string(),
       11625  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11626  +
                        73 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11627  +
                            "Invalid ARN: Expected a 4-component resource".to_string(),
       11628  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11629  +
                        74 => {
       11630  +
                            let outpost_id_ssa_1 = context.outpost_id_ssa_1.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11631  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11632  +
                                let mut out = String::new();
       11633  +
                                out.push_str("Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `");
       11634  +
                                #[allow(clippy::needless_borrow)]
       11635  +
                                out.push_str(&outpost_id_ssa_1.as_ref());
       11636  +
                                out.push('`');
14205  11637   
                                out
14206         -
                            })],
14207         -
                        )
14208         -
                        .build(),
14209         -
                )
14210         -
            }
14211         -
            Self::Result55 => {
14212         -
                let url = context
14213         -
                    .url
14214         -
                    .as_ref()
14215         -
                    .map(|s| s.clone())
14216         -
                    .expect("Guaranteed to have a value by earlier checks.");
14217         -
                let bucket_arn = context
14218         -
                    .bucket_arn
14219         -
                    .as_ref()
14220         -
                    .map(|s| s.clone())
14221         -
                    .expect("Guaranteed to have a value by earlier checks.");
14222         -
                let effective_arn_region = context
14223         -
                    .effective_arn_region
14224         -
                    .as_ref()
14225         -
                    .map(|s| s.clone())
14226         -
                    .expect("Guaranteed to have a value by earlier checks.");
14227         -
                let access_point_name_ssa_1 = context
14228         -
                    .access_point_name_ssa_1
14229         -
                    .as_ref()
14230         -
                    .map(|s| s.clone())
14231         -
                    .expect("Guaranteed to have a value by earlier checks.");
14232         -
                ::std::result::Result::Ok(
14233         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14234         -
                        .url({
14235         -
                            let mut out = String::new();
14236         -
                            #[allow(clippy::needless_borrow)]
14237         -
                            out.push_str(&url.scheme());
14238         -
                            out.push_str("://");
14239         -
                            #[allow(clippy::needless_borrow)]
14240         -
                            out.push_str(&access_point_name_ssa_1.as_ref());
14241         -
                            out.push('-');
14242         -
                            #[allow(clippy::needless_borrow)]
14243         -
                            out.push_str(&bucket_arn.account_id());
14244         -
                            out.push('.');
14245         -
                            #[allow(clippy::needless_borrow)]
14246         -
                            out.push_str(&url.authority());
14247         -
                            #[allow(clippy::needless_borrow)]
14248         -
                            out.push_str(&url.path());
14249         -
                            out
14250         -
                        })
14251         -
                        .property(
14252         -
                            "authSchemes",
14253         -
                            vec![::aws_smithy_types::Document::from({
14254         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14255         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14256         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14257         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14258         -
                                out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
       11638  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11639  +
                        }
       11640  +
                        75 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11641  +
                            "Invalid ARN: The Outpost Id was not set".to_string(),
       11642  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11643  +
                        76 => {
       11644  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       11645  +
                            let arn_type = context.arn_type.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11646  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11647  +
                                let mut out = String::new();
       11648  +
                                out.push_str("Invalid ARN: Unrecognized format: ");
       11649  +
                                #[allow(clippy::needless_borrow)]
       11650  +
                                out.push_str(&bucket.as_ref());
       11651  +
                                out.push_str(" (type: ");
       11652  +
                                #[allow(clippy::needless_borrow)]
       11653  +
                                out.push_str(&arn_type.as_ref());
       11654  +
                                out.push(')');
14259  11655   
                                out
14260         -
                            })],
14261         -
                        )
14262         -
                        .build(),
14263         -
                )
14264         -
            }
14265         -
            Self::Result56 => {
14266         -
                let bucket_arn = context
14267         -
                    .bucket_arn
14268         -
                    .as_ref()
14269         -
                    .map(|s| s.clone())
14270         -
                    .expect("Guaranteed to have a value by earlier checks.");
14271         -
                let effective_arn_region = context
14272         -
                    .effective_arn_region
14273         -
                    .as_ref()
14274         -
                    .map(|s| s.clone())
14275         -
                    .expect("Guaranteed to have a value by earlier checks.");
14276         -
                let access_point_name_ssa_1 = context
14277         -
                    .access_point_name_ssa_1
14278         -
                    .as_ref()
14279         -
                    .map(|s| s.clone())
14280         -
                    .expect("Guaranteed to have a value by earlier checks.");
14281         -
                let bucket_partition = context
14282         -
                    .bucket_partition
14283         -
                    .as_ref()
14284         -
                    .map(|s| s.clone())
14285         -
                    .expect("Guaranteed to have a value by earlier checks.");
14286         -
                ::std::result::Result::Ok(
14287         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14288         -
                        .url({
14289         -
                            let mut out = String::new();
14290         -
                            out.push_str("https://");
14291         -
                            #[allow(clippy::needless_borrow)]
14292         -
                            out.push_str(&access_point_name_ssa_1.as_ref());
14293         -
                            out.push('-');
14294         -
                            #[allow(clippy::needless_borrow)]
14295         -
                            out.push_str(&bucket_arn.account_id());
14296         -
                            out.push_str(".s3-accesspoint.");
14297         -
                            #[allow(clippy::needless_borrow)]
14298         -
                            out.push_str(&effective_arn_region.as_ref());
14299         -
                            out.push('.');
14300         -
                            #[allow(clippy::needless_borrow)]
14301         -
                            out.push_str(&bucket_partition.dns_suffix());
14302         -
                            out
14303         -
                        })
14304         -
                        .property(
14305         -
                            "authSchemes",
14306         -
                            vec![::aws_smithy_types::Document::from({
14307         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14308         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14309         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14310         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14311         -
                                out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
       11656  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11657  +
                        }
       11658  +
                        77 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11659  +
                            "Invalid ARN: No ARN type specified".to_string(),
       11660  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11661  +
                        78 => {
       11662  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       11663  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11664  +
                                let mut out = String::new();
       11665  +
                                out.push_str("Invalid ARN: `");
       11666  +
                                #[allow(clippy::needless_borrow)]
       11667  +
                                out.push_str(&bucket.as_ref());
       11668  +
                                out.push_str("` was not a valid ARN");
14312  11669   
                                out
14313         -
                            })],
14314         -
                        )
14315         -
                        .build(),
14316         -
                )
14317         -
            }
14318         -
            Self::Result57 => {
14319         -
                let bucket_arn = context
14320         -
                    .bucket_arn
14321         -
                    .as_ref()
14322         -
                    .map(|s| s.clone())
14323         -
                    .expect("Guaranteed to have a value by earlier checks.");
14324         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
14325         -
                    let mut out = String::new();
14326         -
                    out.push_str("Invalid ARN: The ARN was not for the S3 service, found: ");
14327         -
                    #[allow(clippy::needless_borrow)]
14328         -
                    out.push_str(&bucket_arn.service());
14329         -
                    out
14330         -
                }))
14331         -
            }
14332         -
            Self::Result58 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14333         -
                "S3 MRAP does not support dual-stack".to_string(),
14334         -
            )),
14335         -
            Self::Result59 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14336         -
                "S3 MRAP does not support FIPS".to_string(),
14337         -
            )),
14338         -
            Self::Result60 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14339         -
                "S3 MRAP does not support S3 Accelerate".to_string(),
14340         -
            )),
14341         -
            Self::Result61 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14342         -
                "Invalid configuration: Multi-Region Access Point ARNs are disabled.".to_string(),
14343         -
            )),
14344         -
            Self::Result62 => {
14345         -
                let partition_result = context
14346         -
                    .partition_result
14347         -
                    .as_ref()
14348         -
                    .map(|s| s.clone())
14349         -
                    .expect("Guaranteed to have a value by earlier checks.");
14350         -
                let access_point_name_ssa_1 = context
14351         -
                    .access_point_name_ssa_1
14352         -
                    .as_ref()
14353         -
                    .map(|s| s.clone())
14354         -
                    .expect("Guaranteed to have a value by earlier checks.");
14355         -
                ::std::result::Result::Ok(
14356         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14357         -
                        .url({
14358         -
                            let mut out = String::new();
14359         -
                            out.push_str("https://");
14360         -
                            #[allow(clippy::needless_borrow)]
14361         -
                            out.push_str(&access_point_name_ssa_1.as_ref());
14362         -
                            out.push_str(".accesspoint.s3-global.");
14363         -
                            #[allow(clippy::needless_borrow)]
14364         -
                            out.push_str(&partition_result.dns_suffix());
14365         -
                            out
14366         -
                        })
14367         -
                        .property(
14368         -
                            "authSchemes",
14369         -
                            vec![::aws_smithy_types::Document::from({
14370         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14371         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14372         -
                                out.insert("name".to_string(), "sigv4a".to_string().into());
14373         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14374         -
                                out.insert(
14375         -
                                    "signingRegionSet".to_string(),
14376         -
                                    vec![::aws_smithy_types::Document::from("*".to_string())].into(),
       11670  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11671  +
                        }
       11672  +
                        79 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11673  +
                            "Path-style addressing cannot be used with ARN buckets".to_string(),
       11674  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11675  +
                        80 => {
       11676  +
                            let effective_std_region = context
       11677  +
                                .effective_std_region
       11678  +
                                .as_ref()
       11679  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11680  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11681  +
                            let uri_encoded_bucket = context
       11682  +
                                .uri_encoded_bucket
       11683  +
                                .as_ref()
       11684  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11685  +
                            ::std::result::Result::Ok(
       11686  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11687  +
                                    .url({
       11688  +
                                        let mut out = String::new();
       11689  +
                                        out.push_str("https://s3-fips.dualstack.");
       11690  +
                                        #[allow(clippy::needless_borrow)]
       11691  +
                                        out.push_str(&effective_std_region.as_ref());
       11692  +
                                        out.push('.');
       11693  +
                                        #[allow(clippy::needless_borrow)]
       11694  +
                                        out.push_str(&partition_result.dns_suffix());
       11695  +
                                        out.push('/');
       11696  +
                                        #[allow(clippy::needless_borrow)]
       11697  +
                                        out.push_str(&uri_encoded_bucket.as_ref());
       11698  +
                                        out
       11699  +
                                    })
       11700  +
                                    .auth_scheme(
       11701  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11702  +
                                            .put("disableDoubleEncoding", true)
       11703  +
                                            .put("signingName", "s3")
       11704  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       11705  +
                                    )
       11706  +
                                    .build(),
       11707  +
                            )
       11708  +
                        }
       11709  +
                        81 => {
       11710  +
                            let effective_std_region = context
       11711  +
                                .effective_std_region
       11712  +
                                .as_ref()
       11713  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11714  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11715  +
                            let uri_encoded_bucket = context
       11716  +
                                .uri_encoded_bucket
       11717  +
                                .as_ref()
       11718  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11719  +
                            ::std::result::Result::Ok(
       11720  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11721  +
                                    .url({
       11722  +
                                        let mut out = String::new();
       11723  +
                                        out.push_str("https://s3-fips.");
       11724  +
                                        #[allow(clippy::needless_borrow)]
       11725  +
                                        out.push_str(&effective_std_region.as_ref());
       11726  +
                                        out.push('.');
       11727  +
                                        #[allow(clippy::needless_borrow)]
       11728  +
                                        out.push_str(&partition_result.dns_suffix());
       11729  +
                                        out.push('/');
       11730  +
                                        #[allow(clippy::needless_borrow)]
       11731  +
                                        out.push_str(&uri_encoded_bucket.as_ref());
       11732  +
                                        out
       11733  +
                                    })
       11734  +
                                    .auth_scheme(
       11735  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11736  +
                                            .put("disableDoubleEncoding", true)
       11737  +
                                            .put("signingName", "s3")
       11738  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       11739  +
                                    )
       11740  +
                                    .build(),
       11741  +
                            )
       11742  +
                        }
       11743  +
                        82 => {
       11744  +
                            let effective_std_region = context
       11745  +
                                .effective_std_region
       11746  +
                                .as_ref()
       11747  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11748  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11749  +
                            let uri_encoded_bucket = context
       11750  +
                                .uri_encoded_bucket
       11751  +
                                .as_ref()
       11752  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11753  +
                            ::std::result::Result::Ok(
       11754  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11755  +
                                    .url({
       11756  +
                                        let mut out = String::new();
       11757  +
                                        out.push_str("https://s3.dualstack.");
       11758  +
                                        #[allow(clippy::needless_borrow)]
       11759  +
                                        out.push_str(&effective_std_region.as_ref());
       11760  +
                                        out.push('.');
       11761  +
                                        #[allow(clippy::needless_borrow)]
       11762  +
                                        out.push_str(&partition_result.dns_suffix());
       11763  +
                                        out.push('/');
       11764  +
                                        #[allow(clippy::needless_borrow)]
       11765  +
                                        out.push_str(&uri_encoded_bucket.as_ref());
       11766  +
                                        out
       11767  +
                                    })
       11768  +
                                    .auth_scheme(
       11769  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11770  +
                                            .put("disableDoubleEncoding", true)
       11771  +
                                            .put("signingName", "s3")
       11772  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       11773  +
                                    )
       11774  +
                                    .build(),
       11775  +
                            )
       11776  +
                        }
       11777  +
                        83 => {
       11778  +
                            let effective_std_region = context
       11779  +
                                .effective_std_region
       11780  +
                                .as_ref()
       11781  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11782  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11783  +
                            let uri_encoded_bucket = context
       11784  +
                                .uri_encoded_bucket
       11785  +
                                .as_ref()
       11786  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11787  +
                            ::std::result::Result::Ok(
       11788  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11789  +
                                    .url({
       11790  +
                                        let mut out = String::new();
       11791  +
                                        #[allow(clippy::needless_borrow)]
       11792  +
                                        out.push_str(&url.scheme());
       11793  +
                                        out.push_str("://");
       11794  +
                                        #[allow(clippy::needless_borrow)]
       11795  +
                                        out.push_str(&url.authority());
       11796  +
                                        #[allow(clippy::needless_borrow)]
       11797  +
                                        out.push_str(&url.normalized_path());
       11798  +
                                        #[allow(clippy::needless_borrow)]
       11799  +
                                        out.push_str(&uri_encoded_bucket.as_ref());
       11800  +
                                        out
       11801  +
                                    })
       11802  +
                                    .auth_scheme(
       11803  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11804  +
                                            .put("disableDoubleEncoding", true)
       11805  +
                                            .put("signingName", "s3")
       11806  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       11807  +
                                    )
       11808  +
                                    .build(),
       11809  +
                            )
       11810  +
                        }
       11811  +
                        84 => {
       11812  +
                            let effective_std_region = context
       11813  +
                                .effective_std_region
       11814  +
                                .as_ref()
       11815  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11816  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11817  +
                            let uri_encoded_bucket = context
       11818  +
                                .uri_encoded_bucket
       11819  +
                                .as_ref()
       11820  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11821  +
                            ::std::result::Result::Ok(
       11822  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11823  +
                                    .url({
       11824  +
                                        let mut out = String::new();
       11825  +
                                        out.push_str("https://s3.");
       11826  +
                                        #[allow(clippy::needless_borrow)]
       11827  +
                                        out.push_str(&partition_result.dns_suffix());
       11828  +
                                        out.push('/');
       11829  +
                                        #[allow(clippy::needless_borrow)]
       11830  +
                                        out.push_str(&uri_encoded_bucket.as_ref());
       11831  +
                                        out
       11832  +
                                    })
       11833  +
                                    .auth_scheme(
       11834  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11835  +
                                            .put("disableDoubleEncoding", true)
       11836  +
                                            .put("signingName", "s3")
       11837  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       11838  +
                                    )
       11839  +
                                    .build(),
       11840  +
                            )
       11841  +
                        }
       11842  +
                        85 => {
       11843  +
                            let effective_std_region = context
       11844  +
                                .effective_std_region
       11845  +
                                .as_ref()
       11846  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11847  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11848  +
                            let uri_encoded_bucket = context
       11849  +
                                .uri_encoded_bucket
       11850  +
                                .as_ref()
       11851  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11852  +
                            ::std::result::Result::Ok(
       11853  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11854  +
                                    .url({
       11855  +
                                        let mut out = String::new();
       11856  +
                                        out.push_str("https://s3.");
       11857  +
                                        #[allow(clippy::needless_borrow)]
       11858  +
                                        out.push_str(&effective_std_region.as_ref());
       11859  +
                                        out.push('.');
       11860  +
                                        #[allow(clippy::needless_borrow)]
       11861  +
                                        out.push_str(&partition_result.dns_suffix());
       11862  +
                                        out.push('/');
       11863  +
                                        #[allow(clippy::needless_borrow)]
       11864  +
                                        out.push_str(&uri_encoded_bucket.as_ref());
       11865  +
                                        out
       11866  +
                                    })
       11867  +
                                    .auth_scheme(
       11868  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11869  +
                                            .put("disableDoubleEncoding", true)
       11870  +
                                            .put("signingName", "s3")
       11871  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       11872  +
                                    )
       11873  +
                                    .build(),
       11874  +
                            )
       11875  +
                        }
       11876  +
                        86 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11877  +
                            "Path-style addressing cannot be used with S3 Accelerate".to_string(),
       11878  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11879  +
                        87 => {
       11880  +
                            let effective_std_region = context
       11881  +
                                .effective_std_region
       11882  +
                                .as_ref()
       11883  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11884  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11885  +
                            ::std::result::Result::Ok(
       11886  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11887  +
                                    .url({
       11888  +
                                        let mut out = String::new();
       11889  +
                                        #[allow(clippy::needless_borrow)]
       11890  +
                                        out.push_str(&url.scheme());
       11891  +
                                        out.push_str("://");
       11892  +
                                        #[allow(clippy::needless_borrow)]
       11893  +
                                        out.push_str(&url.authority());
       11894  +
                                        #[allow(clippy::needless_borrow)]
       11895  +
                                        out.push_str(&url.path());
       11896  +
                                        out
       11897  +
                                    })
       11898  +
                                    .auth_scheme(
       11899  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11900  +
                                            .put("disableDoubleEncoding", true)
       11901  +
                                            .put("signingName", "s3-object-lambda")
       11902  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       11903  +
                                    )
       11904  +
                                    .build(),
       11905  +
                            )
       11906  +
                        }
       11907  +
                        88 => {
       11908  +
                            let effective_std_region = context
       11909  +
                                .effective_std_region
       11910  +
                                .as_ref()
       11911  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11912  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11913  +
                            ::std::result::Result::Ok(
       11914  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11915  +
                                    .url({
       11916  +
                                        let mut out = String::new();
       11917  +
                                        out.push_str("https://s3-object-lambda-fips.");
       11918  +
                                        #[allow(clippy::needless_borrow)]
       11919  +
                                        out.push_str(&effective_std_region.as_ref());
       11920  +
                                        out.push('.');
       11921  +
                                        #[allow(clippy::needless_borrow)]
       11922  +
                                        out.push_str(&partition_result.dns_suffix());
       11923  +
                                        out
       11924  +
                                    })
       11925  +
                                    .auth_scheme(
       11926  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11927  +
                                            .put("disableDoubleEncoding", true)
       11928  +
                                            .put("signingName", "s3-object-lambda")
       11929  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       11930  +
                                    )
       11931  +
                                    .build(),
       11932  +
                            )
       11933  +
                        }
       11934  +
                        89 => {
       11935  +
                            let effective_std_region = context
       11936  +
                                .effective_std_region
       11937  +
                                .as_ref()
       11938  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11939  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11940  +
                            ::std::result::Result::Ok(
       11941  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11942  +
                                    .url({
       11943  +
                                        let mut out = String::new();
       11944  +
                                        out.push_str("https://s3-object-lambda.");
       11945  +
                                        #[allow(clippy::needless_borrow)]
       11946  +
                                        out.push_str(&effective_std_region.as_ref());
       11947  +
                                        out.push('.');
       11948  +
                                        #[allow(clippy::needless_borrow)]
       11949  +
                                        out.push_str(&partition_result.dns_suffix());
       11950  +
                                        out
       11951  +
                                    })
       11952  +
                                    .auth_scheme(
       11953  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11954  +
                                            .put("disableDoubleEncoding", true)
       11955  +
                                            .put("signingName", "s3-object-lambda")
       11956  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       11957  +
                                    )
       11958  +
                                    .build(),
       11959  +
                            )
       11960  +
                        }
       11961  +
                        90 => {
       11962  +
                            let effective_std_region = context
       11963  +
                                .effective_std_region
       11964  +
                                .as_ref()
       11965  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11966  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11967  +
                            ::std::result::Result::Ok(
       11968  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11969  +
                                    .url({
       11970  +
                                        let mut out = String::new();
       11971  +
                                        out.push_str("https://s3-fips.dualstack.");
       11972  +
                                        #[allow(clippy::needless_borrow)]
       11973  +
                                        out.push_str(&effective_std_region.as_ref());
       11974  +
                                        out.push('.');
       11975  +
                                        #[allow(clippy::needless_borrow)]
       11976  +
                                        out.push_str(&partition_result.dns_suffix());
       11977  +
                                        out
       11978  +
                                    })
       11979  +
                                    .auth_scheme(
       11980  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11981  +
                                            .put("disableDoubleEncoding", true)
       11982  +
                                            .put("signingName", "s3")
       11983  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       11984  +
                                    )
       11985  +
                                    .build(),
       11986  +
                            )
       11987  +
                        }
       11988  +
                        91 => {
       11989  +
                            let effective_std_region = context
       11990  +
                                .effective_std_region
       11991  +
                                .as_ref()
       11992  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11993  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11994  +
                            ::std::result::Result::Ok(
       11995  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11996  +
                                    .url({
       11997  +
                                        let mut out = String::new();
       11998  +
                                        out.push_str("https://s3-fips.");
       11999  +
                                        #[allow(clippy::needless_borrow)]
       12000  +
                                        out.push_str(&effective_std_region.as_ref());
       12001  +
                                        out.push('.');
       12002  +
                                        #[allow(clippy::needless_borrow)]
       12003  +
                                        out.push_str(&partition_result.dns_suffix());
       12004  +
                                        out
       12005  +
                                    })
       12006  +
                                    .auth_scheme(
       12007  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       12008  +
                                            .put("disableDoubleEncoding", true)
       12009  +
                                            .put("signingName", "s3")
       12010  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       12011  +
                                    )
       12012  +
                                    .build(),
       12013  +
                            )
       12014  +
                        }
       12015  +
                        92 => {
       12016  +
                            let effective_std_region = context
       12017  +
                                .effective_std_region
       12018  +
                                .as_ref()
       12019  +
                                .expect("Guaranteed to have a value by earlier checks.");
       12020  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       12021  +
                            ::std::result::Result::Ok(
       12022  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       12023  +
                                    .url({
       12024  +
                                        let mut out = String::new();
       12025  +
                                        out.push_str("https://s3.dualstack.");
       12026  +
                                        #[allow(clippy::needless_borrow)]
       12027  +
                                        out.push_str(&effective_std_region.as_ref());
       12028  +
                                        out.push('.');
       12029  +
                                        #[allow(clippy::needless_borrow)]
       12030  +
                                        out.push_str(&partition_result.dns_suffix());
       12031  +
                                        out
       12032  +
                                    })
       12033  +
                                    .auth_scheme(
       12034  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       12035  +
                                            .put("disableDoubleEncoding", true)
       12036  +
                                            .put("signingName", "s3")
       12037  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       12038  +
                                    )
       12039  +
                                    .build(),
       12040  +
                            )
       12041  +
                        }
       12042  +
                        93 => {
       12043  +
                            let effective_std_region = context
       12044  +
                                .effective_std_region
       12045  +
                                .as_ref()
       12046  +
                                .expect("Guaranteed to have a value by earlier checks.");
       12047  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       12048  +
                            ::std::result::Result::Ok(
       12049  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       12050  +
                                    .url({
       12051  +
                                        let mut out = String::new();
       12052  +
                                        #[allow(clippy::needless_borrow)]
       12053  +
                                        out.push_str(&url.scheme());
       12054  +
                                        out.push_str("://");
       12055  +
                                        #[allow(clippy::needless_borrow)]
       12056  +
                                        out.push_str(&url.authority());
       12057  +
                                        #[allow(clippy::needless_borrow)]
       12058  +
                                        out.push_str(&url.path());
       12059  +
                                        out
       12060  +
                                    })
       12061  +
                                    .auth_scheme(
       12062  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       12063  +
                                            .put("disableDoubleEncoding", true)
       12064  +
                                            .put("signingName", "s3")
       12065  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       12066  +
                                    )
       12067  +
                                    .build(),
       12068  +
                            )
       12069  +
                        }
       12070  +
                        94 => {
       12071  +
                            let effective_std_region = context
       12072  +
                                .effective_std_region
       12073  +
                                .as_ref()
       12074  +
                                .expect("Guaranteed to have a value by earlier checks.");
       12075  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       12076  +
                            ::std::result::Result::Ok(
       12077  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       12078  +
                                    .url({
       12079  +
                                        let mut out = String::new();
       12080  +
                                        out.push_str("https://s3.");
       12081  +
                                        #[allow(clippy::needless_borrow)]
       12082  +
                                        out.push_str(&partition_result.dns_suffix());
       12083  +
                                        out
       12084  +
                                    })
       12085  +
                                    .auth_scheme(
       12086  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       12087  +
                                            .put("disableDoubleEncoding", true)
       12088  +
                                            .put("signingName", "s3")
       12089  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       12090  +
                                    )
       12091  +
                                    .build(),
       12092  +
                            )
       12093  +
                        }
       12094  +
                        95 => {
       12095  +
                            let effective_std_region = context
       12096  +
                                .effective_std_region
       12097  +
                                .as_ref()
       12098  +
                                .expect("Guaranteed to have a value by earlier checks.");
       12099  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       12100  +
                            ::std::result::Result::Ok(
       12101  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       12102  +
                                    .url({
       12103  +
                                        let mut out = String::new();
       12104  +
                                        out.push_str("https://s3.");
       12105  +
                                        #[allow(clippy::needless_borrow)]
       12106  +
                                        out.push_str(&effective_std_region.as_ref());
       12107  +
                                        out.push('.');
       12108  +
                                        #[allow(clippy::needless_borrow)]
       12109  +
                                        out.push_str(&partition_result.dns_suffix());
       12110  +
                                        out
       12111  +
                                    })
       12112  +
                                    .auth_scheme(
       12113  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       12114  +
                                            .put("disableDoubleEncoding", true)
       12115  +
                                            .put("signingName", "s3")
       12116  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       12117  +
                                    )
       12118  +
                                    .build(),
       12119  +
                            )
       12120  +
                        }
       12121  +
                        96 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       12122  +
                            "A region must be set when sending requests to S3.".to_string(),
       12123  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       12124  +
                        _ => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       12125  +
                            "No endpoint rule matched",
       12126  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       12127  +
                    };
       12128  +
                }
       12129  +
                1 | -1 => {
       12130  +
                    return ::std::result::Result::Err(
       12131  +
                        Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message("No endpoint rule matched"))
       12132  +
                            as ::aws_smithy_runtime_api::box_error::BoxError,
       12133  +
                    )
       12134  +
                }
       12135  +
                ref_val => {
       12136  +
                    let is_complement = ref_val < 0;
       12137  +
                    let node = &NODES[(ref_val.unsigned_abs() as usize) - 1];
       12138  +
                    let condition_result = match node.condition_index {
       12139  +
                        0 => region.is_some(),
       12140  +
                        1 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12141  +
                            let effective_std_region = &mut context.effective_std_region;
       12142  +
                            let partition_result = &mut context.partition_result;
       12143  +
                            let url = &mut context.url;
       12144  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12145  +
                            let region_prefix = &mut context.region_prefix;
       12146  +
                            let hardware_type = &mut context.hardware_type;
       12147  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12148  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12149  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12150  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12151  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12152  +
                            let bucket_arn = &mut context.bucket_arn;
       12153  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12154  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12155  +
                            let arn_type = &mut context.arn_type;
       12156  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12157  +
                            let bucket_partition = &mut context.bucket_partition;
       12158  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12159  +
                            let outpost_type = &mut context.outpost_type;
       12160  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12161  +
                            let partition_resolver = &self.partition_resolver;
       12162  +
                            {
       12163  +
                                *effective_std_region = Some(
       12164  +
                                    crate::endpoint_lib::ite::ite!(
       12165  +
                                        (region) == &mut Some(("aws-global".into())),
       12166  +
                                        "us-east-1".to_string(),
       12167  +
                                        region.clone().expect("Reference already confirmed Some")
       12168  +
                                    )
       12169  +
                                    .into(),
14377  12170   
                                );
14378         -
                                out
14379         -
                            })],
14380         -
                        )
14381         -
                        .build(),
14382         -
                )
14383         -
            }
14384         -
            Self::Result63 => {
14385         -
                let partition_result = context
14386         -
                    .partition_result
14387         -
                    .as_ref()
14388         -
                    .map(|s| s.clone())
14389         -
                    .expect("Guaranteed to have a value by earlier checks.");
14390         -
                let bucket_arn = context
14391         -
                    .bucket_arn
14392         -
                    .as_ref()
14393         -
                    .map(|s| s.clone())
14394         -
                    .expect("Guaranteed to have a value by earlier checks.");
14395         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
14396         -
                    let mut out = String::new();
14397         -
                    out.push_str("Client was configured for partition `");
14398         -
                    #[allow(clippy::needless_borrow)]
14399         -
                    out.push_str(&partition_result.name());
14400         -
                    out.push_str("` but bucket referred to partition `");
14401         -
                    #[allow(clippy::needless_borrow)]
14402         -
                    out.push_str(&bucket_arn.partition());
14403         -
                    out.push('`');
14404         -
                    out
14405         -
                }))
14406         -
            }
14407         -
            Self::Result64 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14408         -
                "Invalid Access Point Name".to_string(),
14409         -
            )),
14410         -
            Self::Result65 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14411         -
                "S3 Outposts does not support Dual-stack".to_string(),
14412         -
            )),
14413         -
            Self::Result66 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14414         -
                "S3 Outposts does not support FIPS".to_string(),
14415         -
            )),
14416         -
            Self::Result67 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14417         -
                "S3 Outposts does not support S3 Accelerate".to_string(),
14418         -
            )),
14419         -
            Self::Result68 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14420         -
                "Invalid Arn: Outpost Access Point ARN contains sub resources".to_string(),
14421         -
            )),
14422         -
            Self::Result69 => {
14423         -
                let url = context
14424         -
                    .url
14425         -
                    .as_ref()
14426         -
                    .map(|s| s.clone())
14427         -
                    .expect("Guaranteed to have a value by earlier checks.");
14428         -
                let bucket_arn = context
14429         -
                    .bucket_arn
14430         -
                    .as_ref()
14431         -
                    .map(|s| s.clone())
14432         -
                    .expect("Guaranteed to have a value by earlier checks.");
14433         -
                let effective_arn_region = context
14434         -
                    .effective_arn_region
14435         -
                    .as_ref()
14436         -
                    .map(|s| s.clone())
14437         -
                    .expect("Guaranteed to have a value by earlier checks.");
14438         -
                let outpost_id_ssa_1 = context
14439         -
                    .outpost_id_ssa_1
14440         -
                    .as_ref()
14441         -
                    .map(|s| s.clone())
14442         -
                    .expect("Guaranteed to have a value by earlier checks.");
14443         -
                let access_point_name_ssa_2 = context
14444         -
                    .access_point_name_ssa_2
14445         -
                    .as_ref()
14446         -
                    .map(|s| s.clone())
14447         -
                    .expect("Guaranteed to have a value by earlier checks.");
14448         -
                ::std::result::Result::Ok(
14449         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14450         -
                        .url({
14451         -
                            let mut out = String::new();
14452         -
                            out.push_str("https://");
14453         -
                            #[allow(clippy::needless_borrow)]
14454         -
                            out.push_str(&access_point_name_ssa_2.as_ref());
14455         -
                            out.push('-');
14456         -
                            #[allow(clippy::needless_borrow)]
14457         -
                            out.push_str(&bucket_arn.account_id());
14458         -
                            out.push('.');
14459         -
                            #[allow(clippy::needless_borrow)]
14460         -
                            out.push_str(&outpost_id_ssa_1.as_ref());
14461         -
                            out.push('.');
14462         -
                            #[allow(clippy::needless_borrow)]
14463         -
                            out.push_str(&url.authority());
14464         -
                            out
14465         -
                        })
14466         -
                        .property(
14467         -
                            "authSchemes",
14468         -
                            vec![
14469         -
                                ::aws_smithy_types::Document::from({
14470         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14471         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
14472         -
                                    out.insert("name".to_string(), "sigv4a".to_string().into());
14473         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
14474         -
                                    out.insert(
14475         -
                                        "signingRegionSet".to_string(),
14476         -
                                        vec![::aws_smithy_types::Document::from("*".to_string())].into(),
14477         -
                                    );
14478         -
                                    out
14479         -
                                }),
14480         -
                                ::aws_smithy_types::Document::from({
14481         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14482         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
14483         -
                                    out.insert("name".to_string(), "sigv4".to_string().into());
14484         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
14485         -
                                    out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
14486         -
                                    out
14487         -
                                }),
14488         -
                            ],
14489         -
                        )
14490         -
                        .build(),
14491         -
                )
14492         -
            }
14493         -
            Self::Result70 => {
14494         -
                let bucket_arn = context
14495         -
                    .bucket_arn
14496         -
                    .as_ref()
14497         -
                    .map(|s| s.clone())
14498         -
                    .expect("Guaranteed to have a value by earlier checks.");
14499         -
                let effective_arn_region = context
14500         -
                    .effective_arn_region
14501         -
                    .as_ref()
14502         -
                    .map(|s| s.clone())
14503         -
                    .expect("Guaranteed to have a value by earlier checks.");
14504         -
                let bucket_partition = context
14505         -
                    .bucket_partition
14506         -
                    .as_ref()
14507         -
                    .map(|s| s.clone())
14508         -
                    .expect("Guaranteed to have a value by earlier checks.");
14509         -
                let outpost_id_ssa_1 = context
14510         -
                    .outpost_id_ssa_1
14511         -
                    .as_ref()
14512         -
                    .map(|s| s.clone())
14513         -
                    .expect("Guaranteed to have a value by earlier checks.");
14514         -
                let access_point_name_ssa_2 = context
14515         -
                    .access_point_name_ssa_2
14516         -
                    .as_ref()
14517         -
                    .map(|s| s.clone())
14518         -
                    .expect("Guaranteed to have a value by earlier checks.");
14519         -
                ::std::result::Result::Ok(
14520         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14521         -
                        .url({
14522         -
                            let mut out = String::new();
14523         -
                            out.push_str("https://");
14524         -
                            #[allow(clippy::needless_borrow)]
14525         -
                            out.push_str(&access_point_name_ssa_2.as_ref());
14526         -
                            out.push('-');
14527         -
                            #[allow(clippy::needless_borrow)]
14528         -
                            out.push_str(&bucket_arn.account_id());
14529         -
                            out.push('.');
14530         -
                            #[allow(clippy::needless_borrow)]
14531         -
                            out.push_str(&outpost_id_ssa_1.as_ref());
14532         -
                            out.push_str(".s3-outposts.");
14533         -
                            #[allow(clippy::needless_borrow)]
14534         -
                            out.push_str(&effective_arn_region.as_ref());
14535         -
                            out.push('.');
14536         -
                            #[allow(clippy::needless_borrow)]
14537         -
                            out.push_str(&bucket_partition.dns_suffix());
14538         -
                            out
14539         -
                        })
14540         -
                        .property(
14541         -
                            "authSchemes",
14542         -
                            vec![
14543         -
                                ::aws_smithy_types::Document::from({
14544         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14545         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
14546         -
                                    out.insert("name".to_string(), "sigv4a".to_string().into());
14547         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
14548         -
                                    out.insert(
14549         -
                                        "signingRegionSet".to_string(),
14550         -
                                        vec![::aws_smithy_types::Document::from("*".to_string())].into(),
14551         -
                                    );
14552         -
                                    out
14553         -
                                }),
14554         -
                                ::aws_smithy_types::Document::from({
14555         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14556         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
14557         -
                                    out.insert("name".to_string(), "sigv4".to_string().into());
14558         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
14559         -
                                    out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
14560         -
                                    out
14561         -
                                }),
14562         -
                            ],
14563         -
                        )
14564         -
                        .build(),
14565         -
                )
14566         -
            }
14567         -
            Self::Result71 => {
14568         -
                let outpost_type = context
14569         -
                    .outpost_type
14570         -
                    .as_ref()
14571         -
                    .map(|s| s.clone())
14572         -
                    .expect("Guaranteed to have a value by earlier checks.");
14573         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
14574         -
                    let mut out = String::new();
14575         -
                    out.push_str("Expected an outpost type `accesspoint`, found ");
14576         -
                    #[allow(clippy::needless_borrow)]
14577         -
                    out.push_str(&outpost_type.as_ref());
14578         -
                    out
14579         -
                }))
14580         -
            }
14581         -
            Self::Result72 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14582         -
                "Invalid ARN: expected an access point name".to_string(),
14583         -
            )),
14584         -
            Self::Result73 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14585         -
                "Invalid ARN: Expected a 4-component resource".to_string(),
14586         -
            )),
14587         -
            Self::Result74 => {
14588         -
                let outpost_id_ssa_1 = context
14589         -
                    .outpost_id_ssa_1
14590         -
                    .as_ref()
14591         -
                    .map(|s| s.clone())
14592         -
                    .expect("Guaranteed to have a value by earlier checks.");
14593         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
14594         -
                    let mut out = String::new();
14595         -
                    out.push_str("Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `");
14596         -
                    #[allow(clippy::needless_borrow)]
14597         -
                    out.push_str(&outpost_id_ssa_1.as_ref());
14598         -
                    out.push('`');
14599         -
                    out
14600         -
                }))
14601         -
            }
14602         -
            Self::Result75 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14603         -
                "Invalid ARN: The Outpost Id was not set".to_string(),
14604         -
            )),
14605         -
            Self::Result76 => {
14606         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
14607         -
                let arn_type = context
14608         -
                    .arn_type
14609         -
                    .as_ref()
14610         -
                    .map(|s| s.clone())
14611         -
                    .expect("Guaranteed to have a value by earlier checks.");
14612         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
14613         -
                    let mut out = String::new();
14614         -
                    out.push_str("Invalid ARN: Unrecognized format: ");
14615         -
                    #[allow(clippy::needless_borrow)]
14616         -
                    out.push_str(&bucket.as_ref());
14617         -
                    out.push_str(" (type: ");
14618         -
                    #[allow(clippy::needless_borrow)]
14619         -
                    out.push_str(&arn_type.as_ref());
14620         -
                    out.push(')');
14621         -
                    out
14622         -
                }))
14623         -
            }
14624         -
            Self::Result77 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14625         -
                "Invalid ARN: No ARN type specified".to_string(),
14626         -
            )),
14627         -
            Self::Result78 => {
14628         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
14629         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
14630         -
                    let mut out = String::new();
14631         -
                    out.push_str("Invalid ARN: `");
14632         -
                    #[allow(clippy::needless_borrow)]
14633         -
                    out.push_str(&bucket.as_ref());
14634         -
                    out.push_str("` was not a valid ARN");
14635         -
                    out
14636         -
                }))
14637         -
            }
14638         -
            Self::Result79 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14639         -
                "Path-style addressing cannot be used with ARN buckets".to_string(),
14640         -
            )),
14641         -
            Self::Result80 => {
14642         -
                let effective_std_region = context
14643         -
                    .effective_std_region
14644         -
                    .as_ref()
14645         -
                    .map(|s| s.clone())
14646         -
                    .expect("Guaranteed to have a value by earlier checks.");
14647         -
                let partition_result = context
14648         -
                    .partition_result
14649         -
                    .as_ref()
14650         -
                    .map(|s| s.clone())
14651         -
                    .expect("Guaranteed to have a value by earlier checks.");
14652         -
                let uri_encoded_bucket = context
14653         -
                    .uri_encoded_bucket
14654         -
                    .as_ref()
14655         -
                    .map(|s| s.clone())
14656         -
                    .expect("Guaranteed to have a value by earlier checks.");
14657         -
                ::std::result::Result::Ok(
14658         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14659         -
                        .url({
14660         -
                            let mut out = String::new();
14661         -
                            out.push_str("https://s3-fips.dualstack.");
14662         -
                            #[allow(clippy::needless_borrow)]
14663         -
                            out.push_str(&effective_std_region.as_ref());
14664         -
                            out.push('.');
14665         -
                            #[allow(clippy::needless_borrow)]
14666         -
                            out.push_str(&partition_result.dns_suffix());
14667         -
                            out.push('/');
14668         -
                            #[allow(clippy::needless_borrow)]
14669         -
                            out.push_str(&uri_encoded_bucket.as_ref());
14670         -
                            out
14671         -
                        })
14672         -
                        .property(
14673         -
                            "authSchemes",
14674         -
                            vec![::aws_smithy_types::Document::from({
14675         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14676         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14677         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14678         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14679         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
14680         -
                                out
14681         -
                            })],
14682         -
                        )
14683         -
                        .build(),
14684         -
                )
14685         -
            }
14686         -
            Self::Result81 => {
14687         -
                let effective_std_region = context
14688         -
                    .effective_std_region
14689         -
                    .as_ref()
14690         -
                    .map(|s| s.clone())
14691         -
                    .expect("Guaranteed to have a value by earlier checks.");
14692         -
                let partition_result = context
14693         -
                    .partition_result
14694         -
                    .as_ref()
14695         -
                    .map(|s| s.clone())
14696         -
                    .expect("Guaranteed to have a value by earlier checks.");
14697         -
                let uri_encoded_bucket = context
14698         -
                    .uri_encoded_bucket
14699         -
                    .as_ref()
14700         -
                    .map(|s| s.clone())
14701         -
                    .expect("Guaranteed to have a value by earlier checks.");
14702         -
                ::std::result::Result::Ok(
14703         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14704         -
                        .url({
14705         -
                            let mut out = String::new();
14706         -
                            out.push_str("https://s3-fips.");
14707         -
                            #[allow(clippy::needless_borrow)]
14708         -
                            out.push_str(&effective_std_region.as_ref());
14709         -
                            out.push('.');
14710         -
                            #[allow(clippy::needless_borrow)]
14711         -
                            out.push_str(&partition_result.dns_suffix());
14712         -
                            out.push('/');
14713         -
                            #[allow(clippy::needless_borrow)]
14714         -
                            out.push_str(&uri_encoded_bucket.as_ref());
14715         -
                            out
14716         -
                        })
14717         -
                        .property(
14718         -
                            "authSchemes",
14719         -
                            vec![::aws_smithy_types::Document::from({
14720         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14721         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14722         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14723         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14724         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
14725         -
                                out
14726         -
                            })],
14727         -
                        )
14728         -
                        .build(),
14729         -
                )
14730         -
            }
14731         -
            Self::Result82 => {
14732         -
                let effective_std_region = context
14733         -
                    .effective_std_region
14734         -
                    .as_ref()
14735         -
                    .map(|s| s.clone())
14736         -
                    .expect("Guaranteed to have a value by earlier checks.");
14737         -
                let partition_result = context
14738         -
                    .partition_result
14739         -
                    .as_ref()
14740         -
                    .map(|s| s.clone())
14741         -
                    .expect("Guaranteed to have a value by earlier checks.");
14742         -
                let uri_encoded_bucket = context
14743         -
                    .uri_encoded_bucket
14744         -
                    .as_ref()
14745         -
                    .map(|s| s.clone())
14746         -
                    .expect("Guaranteed to have a value by earlier checks.");
14747         -
                ::std::result::Result::Ok(
14748         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14749         -
                        .url({
14750         -
                            let mut out = String::new();
14751         -
                            out.push_str("https://s3.dualstack.");
14752         -
                            #[allow(clippy::needless_borrow)]
14753         -
                            out.push_str(&effective_std_region.as_ref());
14754         -
                            out.push('.');
14755         -
                            #[allow(clippy::needless_borrow)]
14756         -
                            out.push_str(&partition_result.dns_suffix());
14757         -
                            out.push('/');
14758         -
                            #[allow(clippy::needless_borrow)]
14759         -
                            out.push_str(&uri_encoded_bucket.as_ref());
14760         -
                            out
14761         -
                        })
14762         -
                        .property(
14763         -
                            "authSchemes",
14764         -
                            vec![::aws_smithy_types::Document::from({
14765         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14766         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14767         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14768         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14769         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
14770         -
                                out
14771         -
                            })],
14772         -
                        )
14773         -
                        .build(),
14774         -
                )
14775         -
            }
14776         -
            Self::Result83 => {
14777         -
                let effective_std_region = context
14778         -
                    .effective_std_region
14779         -
                    .as_ref()
14780         -
                    .map(|s| s.clone())
14781         -
                    .expect("Guaranteed to have a value by earlier checks.");
14782         -
                let url = context
14783         -
                    .url
14784         -
                    .as_ref()
14785         -
                    .map(|s| s.clone())
14786         -
                    .expect("Guaranteed to have a value by earlier checks.");
14787         -
                let uri_encoded_bucket = context
14788         -
                    .uri_encoded_bucket
14789         -
                    .as_ref()
14790         -
                    .map(|s| s.clone())
14791         -
                    .expect("Guaranteed to have a value by earlier checks.");
14792         -
                ::std::result::Result::Ok(
14793         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14794         -
                        .url({
14795         -
                            let mut out = String::new();
14796         -
                            #[allow(clippy::needless_borrow)]
14797         -
                            out.push_str(&url.scheme());
14798         -
                            out.push_str("://");
14799         -
                            #[allow(clippy::needless_borrow)]
14800         -
                            out.push_str(&url.authority());
14801         -
                            #[allow(clippy::needless_borrow)]
14802         -
                            out.push_str(&url.normalized_path());
14803         -
                            #[allow(clippy::needless_borrow)]
14804         -
                            out.push_str(&uri_encoded_bucket.as_ref());
14805         -
                            out
14806         -
                        })
14807         -
                        .property(
14808         -
                            "authSchemes",
14809         -
                            vec![::aws_smithy_types::Document::from({
14810         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14811         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14812         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14813         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14814         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
14815         -
                                out
14816         -
                            })],
14817         -
                        )
14818         -
                        .build(),
14819         -
                )
14820         -
            }
14821         -
            Self::Result84 => {
14822         -
                let effective_std_region = context
14823         -
                    .effective_std_region
14824         -
                    .as_ref()
14825         -
                    .map(|s| s.clone())
14826         -
                    .expect("Guaranteed to have a value by earlier checks.");
14827         -
                let partition_result = context
14828         -
                    .partition_result
14829         -
                    .as_ref()
14830         -
                    .map(|s| s.clone())
14831         -
                    .expect("Guaranteed to have a value by earlier checks.");
14832         -
                let uri_encoded_bucket = context
14833         -
                    .uri_encoded_bucket
14834         -
                    .as_ref()
14835         -
                    .map(|s| s.clone())
14836         -
                    .expect("Guaranteed to have a value by earlier checks.");
14837         -
                ::std::result::Result::Ok(
14838         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14839         -
                        .url({
14840         -
                            let mut out = String::new();
14841         -
                            out.push_str("https://s3.");
14842         -
                            #[allow(clippy::needless_borrow)]
14843         -
                            out.push_str(&partition_result.dns_suffix());
14844         -
                            out.push('/');
14845         -
                            #[allow(clippy::needless_borrow)]
14846         -
                            out.push_str(&uri_encoded_bucket.as_ref());
14847         -
                            out
14848         -
                        })
14849         -
                        .property(
14850         -
                            "authSchemes",
14851         -
                            vec![::aws_smithy_types::Document::from({
14852         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14853         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14854         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14855         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14856         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
14857         -
                                out
14858         -
                            })],
14859         -
                        )
14860         -
                        .build(),
14861         -
                )
14862         -
            }
14863         -
            Self::Result85 => {
14864         -
                let effective_std_region = context
14865         -
                    .effective_std_region
14866         -
                    .as_ref()
14867         -
                    .map(|s| s.clone())
14868         -
                    .expect("Guaranteed to have a value by earlier checks.");
14869         -
                let partition_result = context
14870         -
                    .partition_result
14871         -
                    .as_ref()
14872         -
                    .map(|s| s.clone())
14873         -
                    .expect("Guaranteed to have a value by earlier checks.");
14874         -
                let uri_encoded_bucket = context
14875         -
                    .uri_encoded_bucket
14876         -
                    .as_ref()
14877         -
                    .map(|s| s.clone())
14878         -
                    .expect("Guaranteed to have a value by earlier checks.");
14879         -
                ::std::result::Result::Ok(
14880         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14881         -
                        .url({
14882         -
                            let mut out = String::new();
14883         -
                            out.push_str("https://s3.");
14884         -
                            #[allow(clippy::needless_borrow)]
14885         -
                            out.push_str(&effective_std_region.as_ref());
14886         -
                            out.push('.');
14887         -
                            #[allow(clippy::needless_borrow)]
14888         -
                            out.push_str(&partition_result.dns_suffix());
14889         -
                            out.push('/');
14890         -
                            #[allow(clippy::needless_borrow)]
14891         -
                            out.push_str(&uri_encoded_bucket.as_ref());
14892         -
                            out
14893         -
                        })
14894         -
                        .property(
14895         -
                            "authSchemes",
14896         -
                            vec![::aws_smithy_types::Document::from({
14897         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14898         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14899         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14900         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14901         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
14902         -
                                out
14903         -
                            })],
14904         -
                        )
14905         -
                        .build(),
14906         -
                )
14907         -
            }
14908         -
            Self::Result86 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14909         -
                "Path-style addressing cannot be used with S3 Accelerate".to_string(),
14910         -
            )),
14911         -
            Self::Result87 => {
14912         -
                let effective_std_region = context
14913         -
                    .effective_std_region
14914         -
                    .as_ref()
14915         -
                    .map(|s| s.clone())
14916         -
                    .expect("Guaranteed to have a value by earlier checks.");
14917         -
                let url = context
14918         -
                    .url
14919         -
                    .as_ref()
14920         -
                    .map(|s| s.clone())
14921         -
                    .expect("Guaranteed to have a value by earlier checks.");
14922         -
                ::std::result::Result::Ok(
14923         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14924         -
                        .url({
14925         -
                            let mut out = String::new();
14926         -
                            #[allow(clippy::needless_borrow)]
14927         -
                            out.push_str(&url.scheme());
14928         -
                            out.push_str("://");
14929         -
                            #[allow(clippy::needless_borrow)]
14930         -
                            out.push_str(&url.authority());
14931         -
                            #[allow(clippy::needless_borrow)]
14932         -
                            out.push_str(&url.path());
14933         -
                            out
14934         -
                        })
14935         -
                        .property(
14936         -
                            "authSchemes",
14937         -
                            vec![::aws_smithy_types::Document::from({
14938         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14939         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14940         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14941         -
                                out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
14942         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
14943         -
                                out
14944         -
                            })],
14945         -
                        )
14946         -
                        .build(),
14947         -
                )
14948         -
            }
14949         -
            Self::Result88 => {
14950         -
                let effective_std_region = context
14951         -
                    .effective_std_region
14952         -
                    .as_ref()
14953         -
                    .map(|s| s.clone())
14954         -
                    .expect("Guaranteed to have a value by earlier checks.");
14955         -
                let partition_result = context
14956         -
                    .partition_result
14957         -
                    .as_ref()
14958         -
                    .map(|s| s.clone())
14959         -
                    .expect("Guaranteed to have a value by earlier checks.");
14960         -
                ::std::result::Result::Ok(
14961         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14962         -
                        .url({
14963         -
                            let mut out = String::new();
14964         -
                            out.push_str("https://s3-object-lambda-fips.");
14965         -
                            #[allow(clippy::needless_borrow)]
14966         -
                            out.push_str(&effective_std_region.as_ref());
14967         -
                            out.push('.');
14968         -
                            #[allow(clippy::needless_borrow)]
14969         -
                            out.push_str(&partition_result.dns_suffix());
14970         -
                            out
14971         -
                        })
14972         -
                        .property(
14973         -
                            "authSchemes",
14974         -
                            vec![::aws_smithy_types::Document::from({
14975         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14976         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14977         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14978         -
                                out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
14979         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
14980         -
                                out
14981         -
                            })],
14982         -
                        )
14983         -
                        .build(),
14984         -
                )
14985         -
            }
14986         -
            Self::Result89 => {
14987         -
                let effective_std_region = context
14988         -
                    .effective_std_region
14989         -
                    .as_ref()
14990         -
                    .map(|s| s.clone())
14991         -
                    .expect("Guaranteed to have a value by earlier checks.");
14992         -
                let partition_result = context
14993         -
                    .partition_result
14994         -
                    .as_ref()
14995         -
                    .map(|s| s.clone())
14996         -
                    .expect("Guaranteed to have a value by earlier checks.");
14997         -
                ::std::result::Result::Ok(
14998         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14999         -
                        .url({
15000         -
                            let mut out = String::new();
15001         -
                            out.push_str("https://s3-object-lambda.");
15002         -
                            #[allow(clippy::needless_borrow)]
15003         -
                            out.push_str(&effective_std_region.as_ref());
15004         -
                            out.push('.');
15005         -
                            #[allow(clippy::needless_borrow)]
15006         -
                            out.push_str(&partition_result.dns_suffix());
15007         -
                            out
15008         -
                        })
15009         -
                        .property(
15010         -
                            "authSchemes",
15011         -
                            vec![::aws_smithy_types::Document::from({
15012         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
15013         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
15014         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
15015         -
                                out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
15016         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
15017         -
                                out
15018         -
                            })],
15019         -
                        )
15020         -
                        .build(),
15021         -
                )
15022         -
            }
15023         -
            Self::Result90 => {
15024         -
                let effective_std_region = context
15025         -
                    .effective_std_region
15026         -
                    .as_ref()
15027         -
                    .map(|s| s.clone())
15028         -
                    .expect("Guaranteed to have a value by earlier checks.");
15029         -
                let partition_result = context
15030         -
                    .partition_result
15031         -
                    .as_ref()
15032         -
                    .map(|s| s.clone())
15033         -
                    .expect("Guaranteed to have a value by earlier checks.");
15034         -
                ::std::result::Result::Ok(
15035         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
15036         -
                        .url({
15037         -
                            let mut out = String::new();
15038         -
                            out.push_str("https://s3-fips.dualstack.");
15039         -
                            #[allow(clippy::needless_borrow)]
15040         -
                            out.push_str(&effective_std_region.as_ref());
15041         -
                            out.push('.');
15042         -
                            #[allow(clippy::needless_borrow)]
15043         -
                            out.push_str(&partition_result.dns_suffix());
15044         -
                            out
15045         -
                        })
15046         -
                        .property(
15047         -
                            "authSchemes",
15048         -
                            vec![::aws_smithy_types::Document::from({
15049         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
15050         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
15051         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
15052         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
15053         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
15054         -
                                out
15055         -
                            })],
15056         -
                        )
15057         -
                        .build(),
15058         -
                )
15059         -
            }
15060         -
            Self::Result91 => {
15061         -
                let effective_std_region = context
15062         -
                    .effective_std_region
15063         -
                    .as_ref()
15064         -
                    .map(|s| s.clone())
15065         -
                    .expect("Guaranteed to have a value by earlier checks.");
15066         -
                let partition_result = context
15067         -
                    .partition_result
15068         -
                    .as_ref()
15069         -
                    .map(|s| s.clone())
15070         -
                    .expect("Guaranteed to have a value by earlier checks.");
15071         -
                ::std::result::Result::Ok(
15072         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
15073         -
                        .url({
15074         -
                            let mut out = String::new();
15075         -
                            out.push_str("https://s3-fips.");
15076         -
                            #[allow(clippy::needless_borrow)]
15077         -
                            out.push_str(&effective_std_region.as_ref());
15078         -
                            out.push('.');
15079         -
                            #[allow(clippy::needless_borrow)]
15080         -
                            out.push_str(&partition_result.dns_suffix());
15081         -
                            out
15082         -
                        })
15083         -
                        .property(
15084         -
                            "authSchemes",
15085         -
                            vec![::aws_smithy_types::Document::from({
15086         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
15087         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
15088         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
15089         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
15090         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
15091         -
                                out
15092         -
                            })],
15093         -
                        )
15094         -
                        .build(),
15095         -
                )
15096         -
            }
15097         -
            Self::Result92 => {
15098         -
                let effective_std_region = context
15099         -
                    .effective_std_region
15100         -
                    .as_ref()
15101         -
                    .map(|s| s.clone())
15102         -
                    .expect("Guaranteed to have a value by earlier checks.");
15103         -
                let partition_result = context
15104         -
                    .partition_result
15105         -
                    .as_ref()
15106         -
                    .map(|s| s.clone())
15107         -
                    .expect("Guaranteed to have a value by earlier checks.");
15108         -
                ::std::result::Result::Ok(
15109         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
15110         -
                        .url({
15111         -
                            let mut out = String::new();
15112         -
                            out.push_str("https://s3.dualstack.");
15113         -
                            #[allow(clippy::needless_borrow)]
15114         -
                            out.push_str(&effective_std_region.as_ref());
15115         -
                            out.push('.');
15116         -
                            #[allow(clippy::needless_borrow)]
15117         -
                            out.push_str(&partition_result.dns_suffix());
15118         -
                            out
15119         -
                        })
15120         -
                        .property(
15121         -
                            "authSchemes",
15122         -
                            vec![::aws_smithy_types::Document::from({
15123         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
15124         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
15125         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
15126         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
15127         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
15128         -
                                out
15129         -
                            })],
15130         -
                        )
15131         -
                        .build(),
15132         -
                )
15133         -
            }
15134         -
            Self::Result93 => {
15135         -
                let effective_std_region = context
15136         -
                    .effective_std_region
15137         -
                    .as_ref()
15138         -
                    .map(|s| s.clone())
15139         -
                    .expect("Guaranteed to have a value by earlier checks.");
15140         -
                let url = context
15141         -
                    .url
15142         -
                    .as_ref()
15143         -
                    .map(|s| s.clone())
15144         -
                    .expect("Guaranteed to have a value by earlier checks.");
15145         -
                ::std::result::Result::Ok(
15146         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
15147         -
                        .url({
15148         -
                            let mut out = String::new();
15149         -
                            #[allow(clippy::needless_borrow)]
15150         -
                            out.push_str(&url.scheme());
15151         -
                            out.push_str("://");
15152         -
                            #[allow(clippy::needless_borrow)]
15153         -
                            out.push_str(&url.authority());
15154         -
                            #[allow(clippy::needless_borrow)]
15155         -
                            out.push_str(&url.path());
15156         -
                            out
15157         -
                        })
15158         -
                        .property(
15159         -
                            "authSchemes",
15160         -
                            vec![::aws_smithy_types::Document::from({
15161         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
15162         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
15163         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
15164         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
15165         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
15166         -
                                out
15167         -
                            })],
15168         -
                        )
15169         -
                        .build(),
15170         -
                )
15171         -
            }
15172         -
            Self::Result94 => {
15173         -
                let effective_std_region = context
15174         -
                    .effective_std_region
15175         -
                    .as_ref()
15176         -
                    .map(|s| s.clone())
15177         -
                    .expect("Guaranteed to have a value by earlier checks.");
15178         -
                let partition_result = context
15179         -
                    .partition_result
15180         -
                    .as_ref()
15181         -
                    .map(|s| s.clone())
15182         -
                    .expect("Guaranteed to have a value by earlier checks.");
15183         -
                ::std::result::Result::Ok(
15184         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
15185         -
                        .url({
15186         -
                            let mut out = String::new();
15187         -
                            out.push_str("https://s3.");
15188         -
                            #[allow(clippy::needless_borrow)]
15189         -
                            out.push_str(&partition_result.dns_suffix());
15190         -
                            out
15191         -
                        })
15192         -
                        .property(
15193         -
                            "authSchemes",
15194         -
                            vec![::aws_smithy_types::Document::from({
15195         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
15196         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
15197         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
15198         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
15199         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
15200         -
                                out
15201         -
                            })],
15202         -
                        )
15203         -
                        .build(),
15204         -
                )
15205         -
            }
15206         -
            Self::Result95 => {
15207         -
                let effective_std_region = context
15208         -
                    .effective_std_region
15209         -
                    .as_ref()
15210         -
                    .map(|s| s.clone())
15211         -
                    .expect("Guaranteed to have a value by earlier checks.");
15212         -
                let partition_result = context
15213         -
                    .partition_result
15214         -
                    .as_ref()
15215         -
                    .map(|s| s.clone())
15216         -
                    .expect("Guaranteed to have a value by earlier checks.");
15217         -
                ::std::result::Result::Ok(
15218         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
15219         -
                        .url({
15220         -
                            let mut out = String::new();
15221         -
                            out.push_str("https://s3.");
15222         -
                            #[allow(clippy::needless_borrow)]
15223         -
                            out.push_str(&effective_std_region.as_ref());
15224         -
                            out.push('.');
15225         -
                            #[allow(clippy::needless_borrow)]
15226         -
                            out.push_str(&partition_result.dns_suffix());
15227         -
                            out
15228         -
                        })
15229         -
                        .property(
15230         -
                            "authSchemes",
15231         -
                            vec![::aws_smithy_types::Document::from({
15232         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
15233         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
15234         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
15235         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
15236         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
15237         -
                                out
15238         -
                            })],
15239         -
                        )
15240         -
                        .build(),
15241         -
                )
       12171  +
                                true
       12172  +
                            }
       12173  +
                        })(&mut _diagnostic_collector),
       12174  +
                        2 => (accelerate) == (&true),
       12175  +
                        3 => (use_fips) == (&true),
       12176  +
                        4 => endpoint.is_some(),
       12177  +
                        5 => (use_dual_stack) == (&true),
       12178  +
                        6 => bucket.is_some(),
       12179  +
                        7 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12180  +
                            let effective_std_region = &mut context.effective_std_region;
       12181  +
                            let partition_result = &mut context.partition_result;
       12182  +
                            let url = &mut context.url;
       12183  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12184  +
                            let region_prefix = &mut context.region_prefix;
       12185  +
                            let hardware_type = &mut context.hardware_type;
       12186  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12187  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12188  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12189  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12190  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12191  +
                            let bucket_arn = &mut context.bucket_arn;
       12192  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12193  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12194  +
                            let arn_type = &mut context.arn_type;
       12195  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12196  +
                            let bucket_partition = &mut context.bucket_partition;
       12197  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12198  +
                            let outpost_type = &mut context.outpost_type;
       12199  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12200  +
                            let partition_resolver = &self.partition_resolver;
       12201  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       12202  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       12203  +
                                    if let Some(param) = bucket { param } else { return false },
       12204  +
                                    0,
       12205  +
                                    6,
       12206  +
                                    true,
       12207  +
                                    _diagnostic_collector
       12208  +
                                ) {
       12209  +
                                    inner
       12210  +
                                } else {
       12211  +
                                    return false;
       12212  +
                                },
       12213  +
                                ""
       12214  +
                            )) == ("--x-s3")
       12215  +
                        })(&mut _diagnostic_collector),
       12216  +
                        8 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12217  +
                            let effective_std_region = &mut context.effective_std_region;
       12218  +
                            let partition_result = &mut context.partition_result;
       12219  +
                            let url = &mut context.url;
       12220  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12221  +
                            let region_prefix = &mut context.region_prefix;
       12222  +
                            let hardware_type = &mut context.hardware_type;
       12223  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12224  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12225  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12226  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12227  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12228  +
                            let bucket_arn = &mut context.bucket_arn;
       12229  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12230  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12231  +
                            let arn_type = &mut context.arn_type;
       12232  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12233  +
                            let bucket_partition = &mut context.bucket_partition;
       12234  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12235  +
                            let outpost_type = &mut context.outpost_type;
       12236  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12237  +
                            let partition_resolver = &self.partition_resolver;
       12238  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       12239  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       12240  +
                                    if let Some(param) = bucket { param } else { return false },
       12241  +
                                    0,
       12242  +
                                    7,
       12243  +
                                    true,
       12244  +
                                    _diagnostic_collector
       12245  +
                                ) {
       12246  +
                                    inner
       12247  +
                                } else {
       12248  +
                                    return false;
       12249  +
                                },
       12250  +
                                ""
       12251  +
                            )) == ("--xa-s3")
       12252  +
                        })(&mut _diagnostic_collector),
       12253  +
                        9 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12254  +
                            let effective_std_region = &mut context.effective_std_region;
       12255  +
                            let partition_result = &mut context.partition_result;
       12256  +
                            let url = &mut context.url;
       12257  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12258  +
                            let region_prefix = &mut context.region_prefix;
       12259  +
                            let hardware_type = &mut context.hardware_type;
       12260  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12261  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12262  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12263  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12264  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12265  +
                            let bucket_arn = &mut context.bucket_arn;
       12266  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12267  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12268  +
                            let arn_type = &mut context.arn_type;
       12269  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12270  +
                            let bucket_partition = &mut context.bucket_partition;
       12271  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12272  +
                            let outpost_type = &mut context.outpost_type;
       12273  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12274  +
                            let partition_resolver = &self.partition_resolver;
       12275  +
                            {
       12276  +
                                *partition_result = partition_resolver
       12277  +
                                    .resolve_partition(if let Some(param) = region { param } else { return false }, _diagnostic_collector)
       12278  +
                                    .map(|inner| inner.into());
       12279  +
                                partition_result.is_some()
       12280  +
                            }
       12281  +
                        })(&mut _diagnostic_collector),
       12282  +
                        10 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12283  +
                            let effective_std_region = &mut context.effective_std_region;
       12284  +
                            let partition_result = &mut context.partition_result;
       12285  +
                            let url = &mut context.url;
       12286  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12287  +
                            let region_prefix = &mut context.region_prefix;
       12288  +
                            let hardware_type = &mut context.hardware_type;
       12289  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12290  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12291  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12292  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12293  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12294  +
                            let bucket_arn = &mut context.bucket_arn;
       12295  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12296  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12297  +
                            let arn_type = &mut context.arn_type;
       12298  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12299  +
                            let bucket_partition = &mut context.bucket_partition;
       12300  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12301  +
                            let outpost_type = &mut context.outpost_type;
       12302  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12303  +
                            let partition_resolver = &self.partition_resolver;
       12304  +
                            {
       12305  +
                                *url = crate::endpoint_lib::parse_url::parse_url(
       12306  +
                                    if let Some(param) = endpoint { param } else { return false },
       12307  +
                                    _diagnostic_collector,
       12308  +
                                )
       12309  +
                                .map(|inner| inner.into());
       12310  +
                                url.is_some()
       12311  +
                            }
       12312  +
                        })(&mut _diagnostic_collector),
       12313  +
                        11 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12314  +
                            let effective_std_region = &mut context.effective_std_region;
       12315  +
                            let partition_result = &mut context.partition_result;
       12316  +
                            let url = &mut context.url;
       12317  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12318  +
                            let region_prefix = &mut context.region_prefix;
       12319  +
                            let hardware_type = &mut context.hardware_type;
       12320  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12321  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12322  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12323  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12324  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12325  +
                            let bucket_arn = &mut context.bucket_arn;
       12326  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12327  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12328  +
                            let arn_type = &mut context.arn_type;
       12329  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12330  +
                            let bucket_partition = &mut context.bucket_partition;
       12331  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12332  +
                            let outpost_type = &mut context.outpost_type;
       12333  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12334  +
                            let partition_resolver = &self.partition_resolver;
       12335  +
                            {
       12336  +
                                *access_point_suffix = crate::endpoint_lib::substring::substring(
       12337  +
                                    if let Some(param) = bucket { param } else { return false },
       12338  +
                                    0,
       12339  +
                                    7,
       12340  +
                                    true,
       12341  +
                                    _diagnostic_collector,
       12342  +
                                )
       12343  +
                                .map(|inner| inner.into());
       12344  +
                                access_point_suffix.is_some()
       12345  +
                            }
       12346  +
                        })(&mut _diagnostic_collector),
       12347  +
                        12 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12348  +
                            let effective_std_region = &mut context.effective_std_region;
       12349  +
                            let partition_result = &mut context.partition_result;
       12350  +
                            let url = &mut context.url;
       12351  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12352  +
                            let region_prefix = &mut context.region_prefix;
       12353  +
                            let hardware_type = &mut context.hardware_type;
       12354  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12355  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12356  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12357  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12358  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12359  +
                            let bucket_arn = &mut context.bucket_arn;
       12360  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12361  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12362  +
                            let arn_type = &mut context.arn_type;
       12363  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12364  +
                            let bucket_partition = &mut context.bucket_partition;
       12365  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12366  +
                            let outpost_type = &mut context.outpost_type;
       12367  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12368  +
                            let partition_resolver = &self.partition_resolver;
       12369  +
                            (access_point_suffix) == &mut Some(("--op-s3".into()))
       12370  +
                        })(&mut _diagnostic_collector),
       12371  +
                        13 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12372  +
                            let effective_std_region = &mut context.effective_std_region;
       12373  +
                            let partition_result = &mut context.partition_result;
       12374  +
                            let url = &mut context.url;
       12375  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12376  +
                            let region_prefix = &mut context.region_prefix;
       12377  +
                            let hardware_type = &mut context.hardware_type;
       12378  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12379  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12380  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12381  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12382  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12383  +
                            let bucket_arn = &mut context.bucket_arn;
       12384  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12385  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12386  +
                            let arn_type = &mut context.arn_type;
       12387  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12388  +
                            let bucket_partition = &mut context.bucket_partition;
       12389  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12390  +
                            let outpost_type = &mut context.outpost_type;
       12391  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12392  +
                            let partition_resolver = &self.partition_resolver;
       12393  +
                            {
       12394  +
                                *region_prefix = crate::endpoint_lib::substring::substring(
       12395  +
                                    if let Some(param) = bucket { param } else { return false },
       12396  +
                                    8,
       12397  +
                                    12,
       12398  +
                                    true,
       12399  +
                                    _diagnostic_collector,
       12400  +
                                )
       12401  +
                                .map(|inner| inner.into());
       12402  +
                                region_prefix.is_some()
       12403  +
                            }
       12404  +
                        })(&mut _diagnostic_collector),
       12405  +
                        14 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12406  +
                            let effective_std_region = &mut context.effective_std_region;
       12407  +
                            let partition_result = &mut context.partition_result;
       12408  +
                            let url = &mut context.url;
       12409  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12410  +
                            let region_prefix = &mut context.region_prefix;
       12411  +
                            let hardware_type = &mut context.hardware_type;
       12412  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12413  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12414  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12415  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12416  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12417  +
                            let bucket_arn = &mut context.bucket_arn;
       12418  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12419  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12420  +
                            let arn_type = &mut context.arn_type;
       12421  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12422  +
                            let bucket_partition = &mut context.bucket_partition;
       12423  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12424  +
                            let outpost_type = &mut context.outpost_type;
       12425  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12426  +
                            let partition_resolver = &self.partition_resolver;
       12427  +
                            {
       12428  +
                                *hardware_type = crate::endpoint_lib::substring::substring(
       12429  +
                                    if let Some(param) = bucket { param } else { return false },
       12430  +
                                    49,
       12431  +
                                    50,
       12432  +
                                    true,
       12433  +
                                    _diagnostic_collector,
       12434  +
                                )
       12435  +
                                .map(|inner| inner.into());
       12436  +
                                hardware_type.is_some()
       12437  +
                            }
       12438  +
                        })(&mut _diagnostic_collector),
       12439  +
                        15 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12440  +
                            let effective_std_region = &mut context.effective_std_region;
       12441  +
                            let partition_result = &mut context.partition_result;
       12442  +
                            let url = &mut context.url;
       12443  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12444  +
                            let region_prefix = &mut context.region_prefix;
       12445  +
                            let hardware_type = &mut context.hardware_type;
       12446  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12447  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12448  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12449  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12450  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12451  +
                            let bucket_arn = &mut context.bucket_arn;
       12452  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12453  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12454  +
                            let arn_type = &mut context.arn_type;
       12455  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12456  +
                            let bucket_partition = &mut context.bucket_partition;
       12457  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12458  +
                            let outpost_type = &mut context.outpost_type;
       12459  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12460  +
                            let partition_resolver = &self.partition_resolver;
       12461  +
                            {
       12462  +
                                *outpost_id_ssa_2 = crate::endpoint_lib::substring::substring(
       12463  +
                                    if let Some(param) = bucket { param } else { return false },
       12464  +
                                    32,
       12465  +
                                    49,
       12466  +
                                    true,
       12467  +
                                    _diagnostic_collector,
       12468  +
                                )
       12469  +
                                .map(|inner| inner.into());
       12470  +
                                outpost_id_ssa_2.is_some()
       12471  +
                            }
       12472  +
                        })(&mut _diagnostic_collector),
       12473  +
                        16 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12474  +
                            let effective_std_region = &mut context.effective_std_region;
       12475  +
                            let partition_result = &mut context.partition_result;
       12476  +
                            let url = &mut context.url;
       12477  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12478  +
                            let region_prefix = &mut context.region_prefix;
       12479  +
                            let hardware_type = &mut context.hardware_type;
       12480  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12481  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12482  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12483  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12484  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12485  +
                            let bucket_arn = &mut context.bucket_arn;
       12486  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12487  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12488  +
                            let arn_type = &mut context.arn_type;
       12489  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12490  +
                            let bucket_partition = &mut context.bucket_partition;
       12491  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12492  +
                            let outpost_type = &mut context.outpost_type;
       12493  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12494  +
                            let partition_resolver = &self.partition_resolver;
       12495  +
                            (if let Some(inner) = partition_result {
       12496  +
                                inner.name()
       12497  +
                            } else {
       12498  +
                                return false;
       12499  +
                            }) == ("aws-cn")
       12500  +
                        })(&mut _diagnostic_collector),
       12501  +
                        17 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12502  +
                            let effective_std_region = &mut context.effective_std_region;
       12503  +
                            let partition_result = &mut context.partition_result;
       12504  +
                            let url = &mut context.url;
       12505  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12506  +
                            let region_prefix = &mut context.region_prefix;
       12507  +
                            let hardware_type = &mut context.hardware_type;
       12508  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12509  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12510  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12511  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12512  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12513  +
                            let bucket_arn = &mut context.bucket_arn;
       12514  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12515  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12516  +
                            let arn_type = &mut context.arn_type;
       12517  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12518  +
                            let bucket_partition = &mut context.bucket_partition;
       12519  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12520  +
                            let outpost_type = &mut context.outpost_type;
       12521  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12522  +
                            let partition_resolver = &self.partition_resolver;
       12523  +
                            {
       12524  +
                                *s3_e_ds = Some(crate::endpoint_lib::ite::ite!(use_dual_stack, ".dualstack".to_string(), "".to_string()).into());
       12525  +
                                true
       12526  +
                            }
       12527  +
                        })(&mut _diagnostic_collector),
       12528  +
                        18 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12529  +
                            let effective_std_region = &mut context.effective_std_region;
       12530  +
                            let partition_result = &mut context.partition_result;
       12531  +
                            let url = &mut context.url;
       12532  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12533  +
                            let region_prefix = &mut context.region_prefix;
       12534  +
                            let hardware_type = &mut context.hardware_type;
       12535  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12536  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12537  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12538  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12539  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12540  +
                            let bucket_arn = &mut context.bucket_arn;
       12541  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12542  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12543  +
                            let arn_type = &mut context.arn_type;
       12544  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12545  +
                            let bucket_partition = &mut context.bucket_partition;
       12546  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12547  +
                            let outpost_type = &mut context.outpost_type;
       12548  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12549  +
                            let partition_resolver = &self.partition_resolver;
       12550  +
                            {
       12551  +
                                *s3_e_fips = Some(crate::endpoint_lib::ite::ite!(use_fips, "-fips".to_string(), "".to_string()).into());
       12552  +
                                true
       12553  +
                            }
       12554  +
                        })(&mut _diagnostic_collector),
       12555  +
                        19 => (force_path_style) == (&true),
       12556  +
                        20 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12557  +
                            let effective_std_region = &mut context.effective_std_region;
       12558  +
                            let partition_result = &mut context.partition_result;
       12559  +
                            let url = &mut context.url;
       12560  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12561  +
                            let region_prefix = &mut context.region_prefix;
       12562  +
                            let hardware_type = &mut context.hardware_type;
       12563  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12564  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12565  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12566  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12567  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12568  +
                            let bucket_arn = &mut context.bucket_arn;
       12569  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12570  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12571  +
                            let arn_type = &mut context.arn_type;
       12572  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12573  +
                            let bucket_partition = &mut context.bucket_partition;
       12574  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12575  +
                            let outpost_type = &mut context.outpost_type;
       12576  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12577  +
                            let partition_resolver = &self.partition_resolver;
       12578  +
                            {
       12579  +
                                *s3_e_auth = Some(
       12580  +
                                    crate::endpoint_lib::ite::ite!(
       12581  +
                                        crate::endpoint_lib::coalesce::coalesce!(*disable_s3_express_session_auth, false),
       12582  +
                                        "sigv4".to_string(),
       12583  +
                                        "sigv4-s3express".to_string()
       12584  +
                                    )
       12585  +
                                    .into(),
       12586  +
                                );
       12587  +
                                true
       12588  +
                            }
       12589  +
                        })(&mut _diagnostic_collector),
       12590  +
                        21 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12591  +
                            let effective_std_region = &mut context.effective_std_region;
       12592  +
                            let partition_result = &mut context.partition_result;
       12593  +
                            let url = &mut context.url;
       12594  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12595  +
                            let region_prefix = &mut context.region_prefix;
       12596  +
                            let hardware_type = &mut context.hardware_type;
       12597  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12598  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12599  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12600  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12601  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12602  +
                            let bucket_arn = &mut context.bucket_arn;
       12603  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12604  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12605  +
                            let arn_type = &mut context.arn_type;
       12606  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12607  +
                            let bucket_partition = &mut context.bucket_partition;
       12608  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12609  +
                            let outpost_type = &mut context.outpost_type;
       12610  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12611  +
                            let partition_resolver = &self.partition_resolver;
       12612  +
                            crate::endpoint_lib::s3::is_virtual_hostable_s3_bucket(
       12613  +
                                if let Some(param) = bucket { param } else { return false },
       12614  +
                                false,
       12615  +
                                _diagnostic_collector,
       12616  +
                            )
       12617  +
                        })(&mut _diagnostic_collector),
       12618  +
                        22 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12619  +
                            let effective_std_region = &mut context.effective_std_region;
       12620  +
                            let partition_result = &mut context.partition_result;
       12621  +
                            let url = &mut context.url;
       12622  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12623  +
                            let region_prefix = &mut context.region_prefix;
       12624  +
                            let hardware_type = &mut context.hardware_type;
       12625  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12626  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12627  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12628  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12629  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12630  +
                            let bucket_arn = &mut context.bucket_arn;
       12631  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12632  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12633  +
                            let arn_type = &mut context.arn_type;
       12634  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12635  +
                            let bucket_partition = &mut context.bucket_partition;
       12636  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12637  +
                            let outpost_type = &mut context.outpost_type;
       12638  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12639  +
                            let partition_resolver = &self.partition_resolver;
       12640  +
                            {
       12641  +
                                *s3express_availability_zone_id = crate::endpoint_lib::split::split(
       12642  +
                                    if let Some(param) = bucket { param } else { return false },
       12643  +
                                    "--",
       12644  +
                                    0,
       12645  +
                                    _diagnostic_collector,
       12646  +
                                )
       12647  +
                                .get(1)
       12648  +
                                .cloned()
       12649  +
                                .map(|inner| inner.into());
       12650  +
                                s3express_availability_zone_id.is_some()
       12651  +
                            }
       12652  +
                        })(&mut _diagnostic_collector),
       12653  +
                        23 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12654  +
                            let effective_std_region = &mut context.effective_std_region;
       12655  +
                            let partition_result = &mut context.partition_result;
       12656  +
                            let url = &mut context.url;
       12657  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12658  +
                            let region_prefix = &mut context.region_prefix;
       12659  +
                            let hardware_type = &mut context.hardware_type;
       12660  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12661  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12662  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12663  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12664  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12665  +
                            let bucket_arn = &mut context.bucket_arn;
       12666  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12667  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12668  +
                            let arn_type = &mut context.arn_type;
       12669  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12670  +
                            let bucket_partition = &mut context.bucket_partition;
       12671  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12672  +
                            let outpost_type = &mut context.outpost_type;
       12673  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12674  +
                            let partition_resolver = &self.partition_resolver;
       12675  +
                            crate::endpoint_lib::host::is_valid_host_label(
       12676  +
                                if let Some(param) = outpost_id_ssa_2 { param } else { return false },
       12677  +
                                false,
       12678  +
                                _diagnostic_collector,
       12679  +
                            )
       12680  +
                        })(&mut _diagnostic_collector),
       12681  +
                        24 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12682  +
                            let effective_std_region = &mut context.effective_std_region;
       12683  +
                            let partition_result = &mut context.partition_result;
       12684  +
                            let url = &mut context.url;
       12685  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12686  +
                            let region_prefix = &mut context.region_prefix;
       12687  +
                            let hardware_type = &mut context.hardware_type;
       12688  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12689  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12690  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12691  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12692  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12693  +
                            let bucket_arn = &mut context.bucket_arn;
       12694  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12695  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12696  +
                            let arn_type = &mut context.arn_type;
       12697  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12698  +
                            let bucket_partition = &mut context.bucket_partition;
       12699  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12700  +
                            let outpost_type = &mut context.outpost_type;
       12701  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12702  +
                            let partition_resolver = &self.partition_resolver;
       12703  +
                            (crate::endpoint_lib::coalesce::coalesce!(*use_s3_express_control_endpoint, false)) == (true)
       12704  +
                        })(&mut _diagnostic_collector),
       12705  +
                        25 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12706  +
                            let effective_std_region = &mut context.effective_std_region;
       12707  +
                            let partition_result = &mut context.partition_result;
       12708  +
                            let url = &mut context.url;
       12709  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12710  +
                            let region_prefix = &mut context.region_prefix;
       12711  +
                            let hardware_type = &mut context.hardware_type;
       12712  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12713  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12714  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12715  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12716  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12717  +
                            let bucket_arn = &mut context.bucket_arn;
       12718  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12719  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12720  +
                            let arn_type = &mut context.arn_type;
       12721  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12722  +
                            let bucket_partition = &mut context.bucket_partition;
       12723  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12724  +
                            let outpost_type = &mut context.outpost_type;
       12725  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12726  +
                            let partition_resolver = &self.partition_resolver;
       12727  +
                            (region_prefix) == &mut Some(("beta".into()))
       12728  +
                        })(&mut _diagnostic_collector),
       12729  +
                        26 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12730  +
                            let effective_std_region = &mut context.effective_std_region;
       12731  +
                            let partition_result = &mut context.partition_result;
       12732  +
                            let url = &mut context.url;
       12733  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12734  +
                            let region_prefix = &mut context.region_prefix;
       12735  +
                            let hardware_type = &mut context.hardware_type;
       12736  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12737  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12738  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12739  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12740  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12741  +
                            let bucket_arn = &mut context.bucket_arn;
       12742  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12743  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12744  +
                            let arn_type = &mut context.arn_type;
       12745  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12746  +
                            let bucket_partition = &mut context.bucket_partition;
       12747  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12748  +
                            let outpost_type = &mut context.outpost_type;
       12749  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12750  +
                            let partition_resolver = &self.partition_resolver;
       12751  +
                            crate::endpoint_lib::s3::is_virtual_hostable_s3_bucket(
       12752  +
                                if let Some(param) = bucket { param } else { return false },
       12753  +
                                true,
       12754  +
                                _diagnostic_collector,
       12755  +
                            )
       12756  +
                        })(&mut _diagnostic_collector),
       12757  +
                        27 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12758  +
                            let effective_std_region = &mut context.effective_std_region;
       12759  +
                            let partition_result = &mut context.partition_result;
       12760  +
                            let url = &mut context.url;
       12761  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12762  +
                            let region_prefix = &mut context.region_prefix;
       12763  +
                            let hardware_type = &mut context.hardware_type;
       12764  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12765  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12766  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12767  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12768  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12769  +
                            let bucket_arn = &mut context.bucket_arn;
       12770  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12771  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12772  +
                            let arn_type = &mut context.arn_type;
       12773  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12774  +
                            let bucket_partition = &mut context.bucket_partition;
       12775  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12776  +
                            let outpost_type = &mut context.outpost_type;
       12777  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12778  +
                            let partition_resolver = &self.partition_resolver;
       12779  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       12780  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       12781  +
                                    if let Some(param) = bucket { param } else { return false },
       12782  +
                                    16,
       12783  +
                                    18,
       12784  +
                                    true,
       12785  +
                                    _diagnostic_collector
       12786  +
                                ) {
       12787  +
                                    inner
       12788  +
                                } else {
       12789  +
                                    return false;
       12790  +
                                },
       12791  +
                                ""
       12792  +
                            )) == ("--")
       12793  +
                        })(&mut _diagnostic_collector),
       12794  +
                        28 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12795  +
                            let effective_std_region = &mut context.effective_std_region;
       12796  +
                            let partition_result = &mut context.partition_result;
       12797  +
                            let url = &mut context.url;
       12798  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12799  +
                            let region_prefix = &mut context.region_prefix;
       12800  +
                            let hardware_type = &mut context.hardware_type;
       12801  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12802  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12803  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12804  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12805  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12806  +
                            let bucket_arn = &mut context.bucket_arn;
       12807  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12808  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12809  +
                            let arn_type = &mut context.arn_type;
       12810  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12811  +
                            let bucket_partition = &mut context.bucket_partition;
       12812  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12813  +
                            let outpost_type = &mut context.outpost_type;
       12814  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12815  +
                            let partition_resolver = &self.partition_resolver;
       12816  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       12817  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       12818  +
                                    if let Some(param) = bucket { param } else { return false },
       12819  +
                                    21,
       12820  +
                                    23,
       12821  +
                                    true,
       12822  +
                                    _diagnostic_collector
       12823  +
                                ) {
       12824  +
                                    inner
       12825  +
                                } else {
       12826  +
                                    return false;
       12827  +
                                },
       12828  +
                                ""
       12829  +
                            )) == ("--")
       12830  +
                        })(&mut _diagnostic_collector),
       12831  +
                        29 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12832  +
                            let effective_std_region = &mut context.effective_std_region;
       12833  +
                            let partition_result = &mut context.partition_result;
       12834  +
                            let url = &mut context.url;
       12835  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12836  +
                            let region_prefix = &mut context.region_prefix;
       12837  +
                            let hardware_type = &mut context.hardware_type;
       12838  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12839  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12840  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12841  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12842  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12843  +
                            let bucket_arn = &mut context.bucket_arn;
       12844  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12845  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12846  +
                            let arn_type = &mut context.arn_type;
       12847  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12848  +
                            let bucket_partition = &mut context.bucket_partition;
       12849  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12850  +
                            let outpost_type = &mut context.outpost_type;
       12851  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12852  +
                            let partition_resolver = &self.partition_resolver;
       12853  +
                            (if let Some(inner) = url { inner.scheme() } else { return false }) == ("http")
       12854  +
                        })(&mut _diagnostic_collector),
       12855  +
                        30 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12856  +
                            let effective_std_region = &mut context.effective_std_region;
       12857  +
                            let partition_result = &mut context.partition_result;
       12858  +
                            let url = &mut context.url;
       12859  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12860  +
                            let region_prefix = &mut context.region_prefix;
       12861  +
                            let hardware_type = &mut context.hardware_type;
       12862  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12863  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12864  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12865  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12866  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12867  +
                            let bucket_arn = &mut context.bucket_arn;
       12868  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12869  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12870  +
                            let arn_type = &mut context.arn_type;
       12871  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12872  +
                            let bucket_partition = &mut context.bucket_partition;
       12873  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12874  +
                            let outpost_type = &mut context.outpost_type;
       12875  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12876  +
                            let partition_resolver = &self.partition_resolver;
       12877  +
                            crate::endpoint_lib::host::is_valid_host_label(
       12878  +
                                if let Some(param) = region { param } else { return false },
       12879  +
                                false,
       12880  +
                                _diagnostic_collector,
       12881  +
                            )
       12882  +
                        })(&mut _diagnostic_collector),
       12883  +
                        31 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12884  +
                            let effective_std_region = &mut context.effective_std_region;
       12885  +
                            let partition_result = &mut context.partition_result;
       12886  +
                            let url = &mut context.url;
       12887  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12888  +
                            let region_prefix = &mut context.region_prefix;
       12889  +
                            let hardware_type = &mut context.hardware_type;
       12890  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12891  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12892  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12893  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12894  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12895  +
                            let bucket_arn = &mut context.bucket_arn;
       12896  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12897  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12898  +
                            let arn_type = &mut context.arn_type;
       12899  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12900  +
                            let bucket_partition = &mut context.bucket_partition;
       12901  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12902  +
                            let outpost_type = &mut context.outpost_type;
       12903  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12904  +
                            let partition_resolver = &self.partition_resolver;
       12905  +
                            {
       12906  +
                                *bucket_arn = crate::endpoint_lib::arn::parse_arn(
       12907  +
                                    if let Some(param) = bucket { param } else { return false },
       12908  +
                                    _diagnostic_collector,
       12909  +
                                )
       12910  +
                                .map(|inner| inner.into());
       12911  +
                                bucket_arn.is_some()
       12912  +
                            }
       12913  +
                        })(&mut _diagnostic_collector),
       12914  +
                        32 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12915  +
                            let effective_std_region = &mut context.effective_std_region;
       12916  +
                            let partition_result = &mut context.partition_result;
       12917  +
                            let url = &mut context.url;
       12918  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12919  +
                            let region_prefix = &mut context.region_prefix;
       12920  +
                            let hardware_type = &mut context.hardware_type;
       12921  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12922  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12923  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12924  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12925  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12926  +
                            let bucket_arn = &mut context.bucket_arn;
       12927  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12928  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12929  +
                            let arn_type = &mut context.arn_type;
       12930  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12931  +
                            let bucket_partition = &mut context.bucket_partition;
       12932  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12933  +
                            let outpost_type = &mut context.outpost_type;
       12934  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12935  +
                            let partition_resolver = &self.partition_resolver;
       12936  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       12937  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       12938  +
                                    if let Some(param) = bucket { param } else { return false },
       12939  +
                                    27,
       12940  +
                                    29,
       12941  +
                                    true,
       12942  +
                                    _diagnostic_collector
       12943  +
                                ) {
       12944  +
                                    inner
       12945  +
                                } else {
       12946  +
                                    return false;
       12947  +
                                },
       12948  +
                                ""
       12949  +
                            )) == ("--")
       12950  +
                        })(&mut _diagnostic_collector),
       12951  +
                        33 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12952  +
                            let effective_std_region = &mut context.effective_std_region;
       12953  +
                            let partition_result = &mut context.partition_result;
       12954  +
                            let url = &mut context.url;
       12955  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12956  +
                            let region_prefix = &mut context.region_prefix;
       12957  +
                            let hardware_type = &mut context.hardware_type;
       12958  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12959  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12960  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12961  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12962  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12963  +
                            let bucket_arn = &mut context.bucket_arn;
       12964  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12965  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12966  +
                            let arn_type = &mut context.arn_type;
       12967  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12968  +
                            let bucket_partition = &mut context.bucket_partition;
       12969  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12970  +
                            let outpost_type = &mut context.outpost_type;
       12971  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12972  +
                            let partition_resolver = &self.partition_resolver;
       12973  +
                            {
       12974  +
                                *effective_arn_region = Some(
       12975  +
                                    crate::endpoint_lib::ite::ite!(
       12976  +
                                        crate::endpoint_lib::coalesce::coalesce!(*use_arn_region, true),
       12977  +
                                        if let Some(inner) = bucket_arn { inner.region() } else { return false }.to_string(),
       12978  +
                                        region.clone().expect("Reference already confirmed Some")
       12979  +
                                    )
       12980  +
                                    .into(),
       12981  +
                                );
       12982  +
                                true
       12983  +
                            }
       12984  +
                        })(&mut _diagnostic_collector),
       12985  +
                        34 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12986  +
                            let effective_std_region = &mut context.effective_std_region;
       12987  +
                            let partition_result = &mut context.partition_result;
       12988  +
                            let url = &mut context.url;
       12989  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12990  +
                            let region_prefix = &mut context.region_prefix;
       12991  +
                            let hardware_type = &mut context.hardware_type;
       12992  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12993  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12994  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12995  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12996  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12997  +
                            let bucket_arn = &mut context.bucket_arn;
       12998  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12999  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13000  +
                            let arn_type = &mut context.arn_type;
       13001  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13002  +
                            let bucket_partition = &mut context.bucket_partition;
       13003  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13004  +
                            let outpost_type = &mut context.outpost_type;
       13005  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13006  +
                            let partition_resolver = &self.partition_resolver;
       13007  +
                            (if let Some(inner) = url { inner.is_ip() } else { return false }) == (true)
       13008  +
                        })(&mut _diagnostic_collector),
       13009  +
                        35 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13010  +
                            let effective_std_region = &mut context.effective_std_region;
       13011  +
                            let partition_result = &mut context.partition_result;
       13012  +
                            let url = &mut context.url;
       13013  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13014  +
                            let region_prefix = &mut context.region_prefix;
       13015  +
                            let hardware_type = &mut context.hardware_type;
       13016  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13017  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13018  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13019  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13020  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13021  +
                            let bucket_arn = &mut context.bucket_arn;
       13022  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13023  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13024  +
                            let arn_type = &mut context.arn_type;
       13025  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13026  +
                            let bucket_partition = &mut context.bucket_partition;
       13027  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13028  +
                            let outpost_type = &mut context.outpost_type;
       13029  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13030  +
                            let partition_resolver = &self.partition_resolver;
       13031  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       13032  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       13033  +
                                    if let Some(param) = bucket { param } else { return false },
       13034  +
                                    0,
       13035  +
                                    4,
       13036  +
                                    false,
       13037  +
                                    _diagnostic_collector
       13038  +
                                ) {
       13039  +
                                    inner
       13040  +
                                } else {
       13041  +
                                    return false;
       13042  +
                                },
       13043  +
                                ""
       13044  +
                            )) == ("arn:")
       13045  +
                        })(&mut _diagnostic_collector),
       13046  +
                        36 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13047  +
                            let effective_std_region = &mut context.effective_std_region;
       13048  +
                            let partition_result = &mut context.partition_result;
       13049  +
                            let url = &mut context.url;
       13050  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13051  +
                            let region_prefix = &mut context.region_prefix;
       13052  +
                            let hardware_type = &mut context.hardware_type;
       13053  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13054  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13055  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13056  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13057  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13058  +
                            let bucket_arn = &mut context.bucket_arn;
       13059  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13060  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13061  +
                            let arn_type = &mut context.arn_type;
       13062  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13063  +
                            let bucket_partition = &mut context.bucket_partition;
       13064  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13065  +
                            let outpost_type = &mut context.outpost_type;
       13066  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13067  +
                            let partition_resolver = &self.partition_resolver;
       13068  +
                            {
       13069  +
                                *uri_encoded_bucket = Some(
       13070  +
                                    crate::endpoint_lib::uri_encode::uri_encode(
       13071  +
                                        if let Some(param) = bucket { param } else { return false },
       13072  +
                                        _diagnostic_collector,
       13073  +
                                    )
       13074  +
                                    .into(),
       13075  +
                                );
       13076  +
                                true
       13077  +
                            }
       13078  +
                        })(&mut _diagnostic_collector),
       13079  +
                        37 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13080  +
                            let effective_std_region = &mut context.effective_std_region;
       13081  +
                            let partition_result = &mut context.partition_result;
       13082  +
                            let url = &mut context.url;
       13083  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13084  +
                            let region_prefix = &mut context.region_prefix;
       13085  +
                            let hardware_type = &mut context.hardware_type;
       13086  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13087  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13088  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13089  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13090  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13091  +
                            let bucket_arn = &mut context.bucket_arn;
       13092  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13093  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13094  +
                            let arn_type = &mut context.arn_type;
       13095  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13096  +
                            let bucket_partition = &mut context.bucket_partition;
       13097  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13098  +
                            let outpost_type = &mut context.outpost_type;
       13099  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13100  +
                            let partition_resolver = &self.partition_resolver;
       13101  +
                            (crate::endpoint_lib::coalesce::coalesce!(*use_object_lambda_endpoint, false)) == (true)
       13102  +
                        })(&mut _diagnostic_collector),
       13103  +
                        38 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13104  +
                            let effective_std_region = &mut context.effective_std_region;
       13105  +
                            let partition_result = &mut context.partition_result;
       13106  +
                            let url = &mut context.url;
       13107  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13108  +
                            let region_prefix = &mut context.region_prefix;
       13109  +
                            let hardware_type = &mut context.hardware_type;
       13110  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13111  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13112  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13113  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13114  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13115  +
                            let bucket_arn = &mut context.bucket_arn;
       13116  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13117  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13118  +
                            let arn_type = &mut context.arn_type;
       13119  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13120  +
                            let bucket_partition = &mut context.bucket_partition;
       13121  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13122  +
                            let outpost_type = &mut context.outpost_type;
       13123  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13124  +
                            let partition_resolver = &self.partition_resolver;
       13125  +
                            {
       13126  +
                                *arn_type = if let Some(inner) = bucket_arn {
       13127  +
                                    inner.resource_id().first().cloned()
       13128  +
                                } else {
       13129  +
                                    return false;
       13130  +
                                }
       13131  +
                                .map(|inner| inner.into());
       13132  +
                                arn_type.is_some()
       13133  +
                            }
       13134  +
                        })(&mut _diagnostic_collector),
       13135  +
                        39 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13136  +
                            let effective_std_region = &mut context.effective_std_region;
       13137  +
                            let partition_result = &mut context.partition_result;
       13138  +
                            let url = &mut context.url;
       13139  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13140  +
                            let region_prefix = &mut context.region_prefix;
       13141  +
                            let hardware_type = &mut context.hardware_type;
       13142  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13143  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13144  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13145  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13146  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13147  +
                            let bucket_arn = &mut context.bucket_arn;
       13148  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13149  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13150  +
                            let arn_type = &mut context.arn_type;
       13151  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13152  +
                            let bucket_partition = &mut context.bucket_partition;
       13153  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13154  +
                            let outpost_type = &mut context.outpost_type;
       13155  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13156  +
                            let partition_resolver = &self.partition_resolver;
       13157  +
                            (arn_type) == &mut Some(("".into()))
       13158  +
                        })(&mut _diagnostic_collector),
       13159  +
                        40 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13160  +
                            let effective_std_region = &mut context.effective_std_region;
       13161  +
                            let partition_result = &mut context.partition_result;
       13162  +
                            let url = &mut context.url;
       13163  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13164  +
                            let region_prefix = &mut context.region_prefix;
       13165  +
                            let hardware_type = &mut context.hardware_type;
       13166  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13167  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13168  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13169  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13170  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13171  +
                            let bucket_arn = &mut context.bucket_arn;
       13172  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13173  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13174  +
                            let arn_type = &mut context.arn_type;
       13175  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13176  +
                            let bucket_partition = &mut context.bucket_partition;
       13177  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13178  +
                            let outpost_type = &mut context.outpost_type;
       13179  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13180  +
                            let partition_resolver = &self.partition_resolver;
       13181  +
                            (arn_type) == &mut Some(("accesspoint".into()))
       13182  +
                        })(&mut _diagnostic_collector),
       13183  +
                        41 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13184  +
                            let effective_std_region = &mut context.effective_std_region;
       13185  +
                            let partition_result = &mut context.partition_result;
       13186  +
                            let url = &mut context.url;
       13187  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13188  +
                            let region_prefix = &mut context.region_prefix;
       13189  +
                            let hardware_type = &mut context.hardware_type;
       13190  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13191  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13192  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13193  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13194  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13195  +
                            let bucket_arn = &mut context.bucket_arn;
       13196  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13197  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13198  +
                            let arn_type = &mut context.arn_type;
       13199  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13200  +
                            let bucket_partition = &mut context.bucket_partition;
       13201  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13202  +
                            let outpost_type = &mut context.outpost_type;
       13203  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13204  +
                            let partition_resolver = &self.partition_resolver;
       13205  +
                            {
       13206  +
                                *access_point_name_ssa_1 = if let Some(inner) = bucket_arn {
       13207  +
                                    inner.resource_id().get(1).cloned()
       13208  +
                                } else {
       13209  +
                                    return false;
       13210  +
                                }
       13211  +
                                .map(|inner| inner.into());
       13212  +
                                access_point_name_ssa_1.is_some()
       13213  +
                            }
       13214  +
                        })(&mut _diagnostic_collector),
       13215  +
                        42 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13216  +
                            let effective_std_region = &mut context.effective_std_region;
       13217  +
                            let partition_result = &mut context.partition_result;
       13218  +
                            let url = &mut context.url;
       13219  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13220  +
                            let region_prefix = &mut context.region_prefix;
       13221  +
                            let hardware_type = &mut context.hardware_type;
       13222  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13223  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13224  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13225  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13226  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13227  +
                            let bucket_arn = &mut context.bucket_arn;
       13228  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13229  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13230  +
                            let arn_type = &mut context.arn_type;
       13231  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13232  +
                            let bucket_partition = &mut context.bucket_partition;
       13233  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13234  +
                            let outpost_type = &mut context.outpost_type;
       13235  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13236  +
                            let partition_resolver = &self.partition_resolver;
       13237  +
                            (access_point_name_ssa_1) == &mut Some(("".into()))
       13238  +
                        })(&mut _diagnostic_collector),
       13239  +
                        43 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13240  +
                            let effective_std_region = &mut context.effective_std_region;
       13241  +
                            let partition_result = &mut context.partition_result;
       13242  +
                            let url = &mut context.url;
       13243  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13244  +
                            let region_prefix = &mut context.region_prefix;
       13245  +
                            let hardware_type = &mut context.hardware_type;
       13246  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13247  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13248  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13249  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13250  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13251  +
                            let bucket_arn = &mut context.bucket_arn;
       13252  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13253  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13254  +
                            let arn_type = &mut context.arn_type;
       13255  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13256  +
                            let bucket_partition = &mut context.bucket_partition;
       13257  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13258  +
                            let outpost_type = &mut context.outpost_type;
       13259  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13260  +
                            let partition_resolver = &self.partition_resolver;
       13261  +
                            (if let Some(inner) = bucket_arn { inner.service() } else { return false }) == ("s3-object-lambda")
       13262  +
                        })(&mut _diagnostic_collector),
       13263  +
                        44 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13264  +
                            let effective_std_region = &mut context.effective_std_region;
       13265  +
                            let partition_result = &mut context.partition_result;
       13266  +
                            let url = &mut context.url;
       13267  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13268  +
                            let region_prefix = &mut context.region_prefix;
       13269  +
                            let hardware_type = &mut context.hardware_type;
       13270  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13271  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13272  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13273  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13274  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13275  +
                            let bucket_arn = &mut context.bucket_arn;
       13276  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13277  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13278  +
                            let arn_type = &mut context.arn_type;
       13279  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13280  +
                            let bucket_partition = &mut context.bucket_partition;
       13281  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13282  +
                            let outpost_type = &mut context.outpost_type;
       13283  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13284  +
                            let partition_resolver = &self.partition_resolver;
       13285  +
                            crate::endpoint_lib::host::is_valid_host_label(
       13286  +
                                if let Some(param) = region { param } else { return false },
       13287  +
                                true,
       13288  +
                                _diagnostic_collector,
       13289  +
                            )
       13290  +
                        })(&mut _diagnostic_collector),
       13291  +
                        45 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13292  +
                            let effective_std_region = &mut context.effective_std_region;
       13293  +
                            let partition_result = &mut context.partition_result;
       13294  +
                            let url = &mut context.url;
       13295  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13296  +
                            let region_prefix = &mut context.region_prefix;
       13297  +
                            let hardware_type = &mut context.hardware_type;
       13298  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13299  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13300  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13301  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13302  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13303  +
                            let bucket_arn = &mut context.bucket_arn;
       13304  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13305  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13306  +
                            let arn_type = &mut context.arn_type;
       13307  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13308  +
                            let bucket_partition = &mut context.bucket_partition;
       13309  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13310  +
                            let outpost_type = &mut context.outpost_type;
       13311  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13312  +
                            let partition_resolver = &self.partition_resolver;
       13313  +
                            (if let Some(inner) = bucket_arn { inner.region() } else { return false }) == ("")
       13314  +
                        })(&mut _diagnostic_collector),
       13315  +
                        46 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13316  +
                            let effective_std_region = &mut context.effective_std_region;
       13317  +
                            let partition_result = &mut context.partition_result;
       13318  +
                            let url = &mut context.url;
       13319  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13320  +
                            let region_prefix = &mut context.region_prefix;
       13321  +
                            let hardware_type = &mut context.hardware_type;
       13322  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13323  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13324  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13325  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13326  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13327  +
                            let bucket_arn = &mut context.bucket_arn;
       13328  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13329  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13330  +
                            let arn_type = &mut context.arn_type;
       13331  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13332  +
                            let bucket_partition = &mut context.bucket_partition;
       13333  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13334  +
                            let outpost_type = &mut context.outpost_type;
       13335  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13336  +
                            let partition_resolver = &self.partition_resolver;
       13337  +
                            (hardware_type) == &mut Some(("e".into()))
       13338  +
                        })(&mut _diagnostic_collector),
       13339  +
                        47 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13340  +
                            let effective_std_region = &mut context.effective_std_region;
       13341  +
                            let partition_result = &mut context.partition_result;
       13342  +
                            let url = &mut context.url;
       13343  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13344  +
                            let region_prefix = &mut context.region_prefix;
       13345  +
                            let hardware_type = &mut context.hardware_type;
       13346  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13347  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13348  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13349  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13350  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13351  +
                            let bucket_arn = &mut context.bucket_arn;
       13352  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13353  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13354  +
                            let arn_type = &mut context.arn_type;
       13355  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13356  +
                            let bucket_partition = &mut context.bucket_partition;
       13357  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13358  +
                            let outpost_type = &mut context.outpost_type;
       13359  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13360  +
                            let partition_resolver = &self.partition_resolver;
       13361  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       13362  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       13363  +
                                    if let Some(param) = bucket { param } else { return false },
       13364  +
                                    26,
       13365  +
                                    28,
       13366  +
                                    true,
       13367  +
                                    _diagnostic_collector
       13368  +
                                ) {
       13369  +
                                    inner
       13370  +
                                } else {
       13371  +
                                    return false;
       13372  +
                                },
       13373  +
                                ""
       13374  +
                            )) == ("--")
       13375  +
                        })(&mut _diagnostic_collector),
       13376  +
                        48 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13377  +
                            let effective_std_region = &mut context.effective_std_region;
       13378  +
                            let partition_result = &mut context.partition_result;
       13379  +
                            let url = &mut context.url;
       13380  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13381  +
                            let region_prefix = &mut context.region_prefix;
       13382  +
                            let hardware_type = &mut context.hardware_type;
       13383  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13384  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13385  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13386  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13387  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13388  +
                            let bucket_arn = &mut context.bucket_arn;
       13389  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13390  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13391  +
                            let arn_type = &mut context.arn_type;
       13392  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13393  +
                            let bucket_partition = &mut context.bucket_partition;
       13394  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13395  +
                            let outpost_type = &mut context.outpost_type;
       13396  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13397  +
                            let partition_resolver = &self.partition_resolver;
       13398  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       13399  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       13400  +
                                    if let Some(param) = bucket { param } else { return false },
       13401  +
                                    19,
       13402  +
                                    21,
       13403  +
                                    true,
       13404  +
                                    _diagnostic_collector
       13405  +
                                ) {
       13406  +
                                    inner
       13407  +
                                } else {
       13408  +
                                    return false;
       13409  +
                                },
       13410  +
                                ""
       13411  +
                            )) == ("--")
       13412  +
                        })(&mut _diagnostic_collector),
       13413  +
                        49 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13414  +
                            let effective_std_region = &mut context.effective_std_region;
       13415  +
                            let partition_result = &mut context.partition_result;
       13416  +
                            let url = &mut context.url;
       13417  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13418  +
                            let region_prefix = &mut context.region_prefix;
       13419  +
                            let hardware_type = &mut context.hardware_type;
       13420  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13421  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13422  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13423  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13424  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13425  +
                            let bucket_arn = &mut context.bucket_arn;
       13426  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13427  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13428  +
                            let arn_type = &mut context.arn_type;
       13429  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13430  +
                            let bucket_partition = &mut context.bucket_partition;
       13431  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13432  +
                            let outpost_type = &mut context.outpost_type;
       13433  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13434  +
                            let partition_resolver = &self.partition_resolver;
       13435  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       13436  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       13437  +
                                    if let Some(param) = bucket { param } else { return false },
       13438  +
                                    14,
       13439  +
                                    16,
       13440  +
                                    true,
       13441  +
                                    _diagnostic_collector
       13442  +
                                ) {
       13443  +
                                    inner
       13444  +
                                } else {
       13445  +
                                    return false;
       13446  +
                                },
       13447  +
                                ""
       13448  +
                            )) == ("--")
       13449  +
                        })(&mut _diagnostic_collector),
       13450  +
                        50 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13451  +
                            let effective_std_region = &mut context.effective_std_region;
       13452  +
                            let partition_result = &mut context.partition_result;
       13453  +
                            let url = &mut context.url;
       13454  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13455  +
                            let region_prefix = &mut context.region_prefix;
       13456  +
                            let hardware_type = &mut context.hardware_type;
       13457  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13458  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13459  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13460  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13461  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13462  +
                            let bucket_arn = &mut context.bucket_arn;
       13463  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13464  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13465  +
                            let arn_type = &mut context.arn_type;
       13466  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13467  +
                            let bucket_partition = &mut context.bucket_partition;
       13468  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13469  +
                            let outpost_type = &mut context.outpost_type;
       13470  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13471  +
                            let partition_resolver = &self.partition_resolver;
       13472  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       13473  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       13474  +
                                    if let Some(param) = bucket { param } else { return false },
       13475  +
                                    20,
       13476  +
                                    22,
       13477  +
                                    true,
       13478  +
                                    _diagnostic_collector
       13479  +
                                ) {
       13480  +
                                    inner
       13481  +
                                } else {
       13482  +
                                    return false;
       13483  +
                                },
       13484  +
                                ""
       13485  +
                            )) == ("--")
       13486  +
                        })(&mut _diagnostic_collector),
       13487  +
                        51 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13488  +
                            let effective_std_region = &mut context.effective_std_region;
       13489  +
                            let partition_result = &mut context.partition_result;
       13490  +
                            let url = &mut context.url;
       13491  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13492  +
                            let region_prefix = &mut context.region_prefix;
       13493  +
                            let hardware_type = &mut context.hardware_type;
       13494  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13495  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13496  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13497  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13498  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13499  +
                            let bucket_arn = &mut context.bucket_arn;
       13500  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13501  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13502  +
                            let arn_type = &mut context.arn_type;
       13503  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13504  +
                            let bucket_partition = &mut context.bucket_partition;
       13505  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13506  +
                            let outpost_type = &mut context.outpost_type;
       13507  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13508  +
                            let partition_resolver = &self.partition_resolver;
       13509  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       13510  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       13511  +
                                    if let Some(param) = bucket { param } else { return false },
       13512  +
                                    15,
       13513  +
                                    17,
       13514  +
                                    true,
       13515  +
                                    _diagnostic_collector
       13516  +
                                ) {
       13517  +
                                    inner
       13518  +
                                } else {
       13519  +
                                    return false;
       13520  +
                                },
       13521  +
                                ""
       13522  +
                            )) == ("--")
       13523  +
                        })(&mut _diagnostic_collector),
       13524  +
                        52 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13525  +
                            let effective_std_region = &mut context.effective_std_region;
       13526  +
                            let partition_result = &mut context.partition_result;
       13527  +
                            let url = &mut context.url;
       13528  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13529  +
                            let region_prefix = &mut context.region_prefix;
       13530  +
                            let hardware_type = &mut context.hardware_type;
       13531  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13532  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13533  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13534  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13535  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13536  +
                            let bucket_arn = &mut context.bucket_arn;
       13537  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13538  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13539  +
                            let arn_type = &mut context.arn_type;
       13540  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13541  +
                            let bucket_partition = &mut context.bucket_partition;
       13542  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13543  +
                            let outpost_type = &mut context.outpost_type;
       13544  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13545  +
                            let partition_resolver = &self.partition_resolver;
       13546  +
                            (if let Some(inner) = bucket_arn { inner.service() } else { return false }) == ("s3-outposts")
       13547  +
                        })(&mut _diagnostic_collector),
       13548  +
                        53 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13549  +
                            let effective_std_region = &mut context.effective_std_region;
       13550  +
                            let partition_result = &mut context.partition_result;
       13551  +
                            let url = &mut context.url;
       13552  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13553  +
                            let region_prefix = &mut context.region_prefix;
       13554  +
                            let hardware_type = &mut context.hardware_type;
       13555  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13556  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13557  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13558  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13559  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13560  +
                            let bucket_arn = &mut context.bucket_arn;
       13561  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13562  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13563  +
                            let arn_type = &mut context.arn_type;
       13564  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13565  +
                            let bucket_partition = &mut context.bucket_partition;
       13566  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13567  +
                            let outpost_type = &mut context.outpost_type;
       13568  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13569  +
                            let partition_resolver = &self.partition_resolver;
       13570  +
                            (crate::endpoint_lib::coalesce::coalesce!(*disable_access_points, false)) == (true)
       13571  +
                        })(&mut _diagnostic_collector),
       13572  +
                        54 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13573  +
                            let effective_std_region = &mut context.effective_std_region;
       13574  +
                            let partition_result = &mut context.partition_result;
       13575  +
                            let url = &mut context.url;
       13576  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13577  +
                            let region_prefix = &mut context.region_prefix;
       13578  +
                            let hardware_type = &mut context.hardware_type;
       13579  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13580  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13581  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13582  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13583  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13584  +
                            let bucket_arn = &mut context.bucket_arn;
       13585  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13586  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13587  +
                            let arn_type = &mut context.arn_type;
       13588  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13589  +
                            let bucket_partition = &mut context.bucket_partition;
       13590  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13591  +
                            let outpost_type = &mut context.outpost_type;
       13592  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13593  +
                            let partition_resolver = &self.partition_resolver;
       13594  +
                            {
       13595  +
                                *bucket_partition = partition_resolver
       13596  +
                                    .resolve_partition(
       13597  +
                                        if let Some(param) = effective_arn_region { param } else { return false },
       13598  +
                                        _diagnostic_collector,
       13599  +
                                    )
       13600  +
                                    .map(|inner| inner.into());
       13601  +
                                bucket_partition.is_some()
       13602  +
                            }
       13603  +
                        })(&mut _diagnostic_collector),
       13604  +
                        55 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13605  +
                            let effective_std_region = &mut context.effective_std_region;
       13606  +
                            let partition_result = &mut context.partition_result;
       13607  +
                            let url = &mut context.url;
       13608  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13609  +
                            let region_prefix = &mut context.region_prefix;
       13610  +
                            let hardware_type = &mut context.hardware_type;
       13611  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13612  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13613  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13614  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13615  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13616  +
                            let bucket_arn = &mut context.bucket_arn;
       13617  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13618  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13619  +
                            let arn_type = &mut context.arn_type;
       13620  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13621  +
                            let bucket_partition = &mut context.bucket_partition;
       13622  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13623  +
                            let outpost_type = &mut context.outpost_type;
       13624  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13625  +
                            let partition_resolver = &self.partition_resolver;
       13626  +
                            (hardware_type) == &mut Some(("o".into()))
       13627  +
                        })(&mut _diagnostic_collector),
       13628  +
                        56 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13629  +
                            let effective_std_region = &mut context.effective_std_region;
       13630  +
                            let partition_result = &mut context.partition_result;
       13631  +
                            let url = &mut context.url;
       13632  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13633  +
                            let region_prefix = &mut context.region_prefix;
       13634  +
                            let hardware_type = &mut context.hardware_type;
       13635  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13636  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13637  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13638  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13639  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13640  +
                            let bucket_arn = &mut context.bucket_arn;
       13641  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13642  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13643  +
                            let arn_type = &mut context.arn_type;
       13644  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13645  +
                            let bucket_partition = &mut context.bucket_partition;
       13646  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13647  +
                            let outpost_type = &mut context.outpost_type;
       13648  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13649  +
                            let partition_resolver = &self.partition_resolver;
       13650  +
                            if let Some(inner) = bucket_arn {
       13651  +
                                inner.resource_id().get(4).cloned()
       13652  +
                            } else {
       13653  +
                                return false;
       13654  +
                            }
       13655  +
                            .is_some()
       13656  +
                        })(&mut _diagnostic_collector),
       13657  +
                        57 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13658  +
                            let effective_std_region = &mut context.effective_std_region;
       13659  +
                            let partition_result = &mut context.partition_result;
       13660  +
                            let url = &mut context.url;
       13661  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13662  +
                            let region_prefix = &mut context.region_prefix;
       13663  +
                            let hardware_type = &mut context.hardware_type;
       13664  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13665  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13666  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13667  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13668  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13669  +
                            let bucket_arn = &mut context.bucket_arn;
       13670  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13671  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13672  +
                            let arn_type = &mut context.arn_type;
       13673  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13674  +
                            let bucket_partition = &mut context.bucket_partition;
       13675  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13676  +
                            let outpost_type = &mut context.outpost_type;
       13677  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13678  +
                            let partition_resolver = &self.partition_resolver;
       13679  +
                            {
       13680  +
                                *outpost_id_ssa_1 = if let Some(inner) = bucket_arn {
       13681  +
                                    inner.resource_id().get(1).cloned()
       13682  +
                                } else {
       13683  +
                                    return false;
       13684  +
                                }
       13685  +
                                .map(|inner| inner.into());
       13686  +
                                outpost_id_ssa_1.is_some()
       13687  +
                            }
       13688  +
                        })(&mut _diagnostic_collector),
       13689  +
                        58 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13690  +
                            let effective_std_region = &mut context.effective_std_region;
       13691  +
                            let partition_result = &mut context.partition_result;
       13692  +
                            let url = &mut context.url;
       13693  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13694  +
                            let region_prefix = &mut context.region_prefix;
       13695  +
                            let hardware_type = &mut context.hardware_type;
       13696  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13697  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13698  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13699  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13700  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13701  +
                            let bucket_arn = &mut context.bucket_arn;
       13702  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13703  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13704  +
                            let arn_type = &mut context.arn_type;
       13705  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13706  +
                            let bucket_partition = &mut context.bucket_partition;
       13707  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13708  +
                            let outpost_type = &mut context.outpost_type;
       13709  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13710  +
                            let partition_resolver = &self.partition_resolver;
       13711  +
                            (crate::endpoint_lib::coalesce::coalesce!(*use_arn_region, true)) == (true)
       13712  +
                        })(&mut _diagnostic_collector),
       13713  +
                        59 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13714  +
                            let effective_std_region = &mut context.effective_std_region;
       13715  +
                            let partition_result = &mut context.partition_result;
       13716  +
                            let url = &mut context.url;
       13717  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13718  +
                            let region_prefix = &mut context.region_prefix;
       13719  +
                            let hardware_type = &mut context.hardware_type;
       13720  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13721  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13722  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13723  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13724  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13725  +
                            let bucket_arn = &mut context.bucket_arn;
       13726  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13727  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13728  +
                            let arn_type = &mut context.arn_type;
       13729  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13730  +
                            let bucket_partition = &mut context.bucket_partition;
       13731  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13732  +
                            let outpost_type = &mut context.outpost_type;
       13733  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13734  +
                            let partition_resolver = &self.partition_resolver;
       13735  +
                            (effective_arn_region) == &mut Some((if let Some(inner) = bucket_arn { inner.region() } else { return false }.into()))
       13736  +
                        })(&mut _diagnostic_collector),
       13737  +
                        60 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13738  +
                            let effective_std_region = &mut context.effective_std_region;
       13739  +
                            let partition_result = &mut context.partition_result;
       13740  +
                            let url = &mut context.url;
       13741  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13742  +
                            let region_prefix = &mut context.region_prefix;
       13743  +
                            let hardware_type = &mut context.hardware_type;
       13744  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13745  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13746  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13747  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13748  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13749  +
                            let bucket_arn = &mut context.bucket_arn;
       13750  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13751  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13752  +
                            let arn_type = &mut context.arn_type;
       13753  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13754  +
                            let bucket_partition = &mut context.bucket_partition;
       13755  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13756  +
                            let outpost_type = &mut context.outpost_type;
       13757  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13758  +
                            let partition_resolver = &self.partition_resolver;
       13759  +
                            (region) == &mut Some(("aws-global".into()))
       13760  +
                        })(&mut _diagnostic_collector),
       13761  +
                        61 => (use_global_endpoint) == (&true),
       13762  +
                        62 => (disable_multi_region_access_points) == (&true),
       13763  +
                        63 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13764  +
                            let effective_std_region = &mut context.effective_std_region;
       13765  +
                            let partition_result = &mut context.partition_result;
       13766  +
                            let url = &mut context.url;
       13767  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13768  +
                            let region_prefix = &mut context.region_prefix;
       13769  +
                            let hardware_type = &mut context.hardware_type;
       13770  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13771  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13772  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13773  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13774  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13775  +
                            let bucket_arn = &mut context.bucket_arn;
       13776  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13777  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13778  +
                            let arn_type = &mut context.arn_type;
       13779  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13780  +
                            let bucket_partition = &mut context.bucket_partition;
       13781  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13782  +
                            let outpost_type = &mut context.outpost_type;
       13783  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13784  +
                            let partition_resolver = &self.partition_resolver;
       13785  +
                            (region) == &mut Some(("us-east-1".into()))
       13786  +
                        })(&mut _diagnostic_collector),
       13787  +
                        64 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13788  +
                            let effective_std_region = &mut context.effective_std_region;
       13789  +
                            let partition_result = &mut context.partition_result;
       13790  +
                            let url = &mut context.url;
       13791  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13792  +
                            let region_prefix = &mut context.region_prefix;
       13793  +
                            let hardware_type = &mut context.hardware_type;
       13794  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13795  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13796  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13797  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13798  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13799  +
                            let bucket_arn = &mut context.bucket_arn;
       13800  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13801  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13802  +
                            let arn_type = &mut context.arn_type;
       13803  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13804  +
                            let bucket_partition = &mut context.bucket_partition;
       13805  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13806  +
                            let outpost_type = &mut context.outpost_type;
       13807  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13808  +
                            let partition_resolver = &self.partition_resolver;
       13809  +
                            crate::endpoint_lib::host::is_valid_host_label(
       13810  +
                                if let Some(param) = outpost_id_ssa_1 { param } else { return false },
       13811  +
                                false,
       13812  +
                                _diagnostic_collector,
       13813  +
                            )
       13814  +
                        })(&mut _diagnostic_collector),
       13815  +
                        65 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13816  +
                            let effective_std_region = &mut context.effective_std_region;
       13817  +
                            let partition_result = &mut context.partition_result;
       13818  +
                            let url = &mut context.url;
       13819  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13820  +
                            let region_prefix = &mut context.region_prefix;
       13821  +
                            let hardware_type = &mut context.hardware_type;
       13822  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13823  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13824  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13825  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13826  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13827  +
                            let bucket_arn = &mut context.bucket_arn;
       13828  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13829  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13830  +
                            let arn_type = &mut context.arn_type;
       13831  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13832  +
                            let bucket_partition = &mut context.bucket_partition;
       13833  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13834  +
                            let outpost_type = &mut context.outpost_type;
       13835  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13836  +
                            let partition_resolver = &self.partition_resolver;
       13837  +
                            {
       13838  +
                                *outpost_type = if let Some(inner) = bucket_arn {
       13839  +
                                    inner.resource_id().get(2).cloned()
       13840  +
                                } else {
       13841  +
                                    return false;
       13842  +
                                }
       13843  +
                                .map(|inner| inner.into());
       13844  +
                                outpost_type.is_some()
       13845  +
                            }
       13846  +
                        })(&mut _diagnostic_collector),
       13847  +
                        66 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13848  +
                            let effective_std_region = &mut context.effective_std_region;
       13849  +
                            let partition_result = &mut context.partition_result;
       13850  +
                            let url = &mut context.url;
       13851  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13852  +
                            let region_prefix = &mut context.region_prefix;
       13853  +
                            let hardware_type = &mut context.hardware_type;
       13854  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13855  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13856  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13857  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13858  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13859  +
                            let bucket_arn = &mut context.bucket_arn;
       13860  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13861  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13862  +
                            let arn_type = &mut context.arn_type;
       13863  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13864  +
                            let bucket_partition = &mut context.bucket_partition;
       13865  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13866  +
                            let outpost_type = &mut context.outpost_type;
       13867  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13868  +
                            let partition_resolver = &self.partition_resolver;
       13869  +
                            (if let Some(inner) = bucket_partition {
       13870  +
                                inner.name()
       13871  +
                            } else {
       13872  +
                                return false;
       13873  +
                            }) == (if let Some(inner) = partition_result {
       13874  +
                                inner.name()
       13875  +
                            } else {
       13876  +
                                return false;
       13877  +
                            })
       13878  +
                        })(&mut _diagnostic_collector),
       13879  +
                        67 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13880  +
                            let effective_std_region = &mut context.effective_std_region;
       13881  +
                            let partition_result = &mut context.partition_result;
       13882  +
                            let url = &mut context.url;
       13883  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13884  +
                            let region_prefix = &mut context.region_prefix;
       13885  +
                            let hardware_type = &mut context.hardware_type;
       13886  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13887  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13888  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13889  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13890  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13891  +
                            let bucket_arn = &mut context.bucket_arn;
       13892  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13893  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13894  +
                            let arn_type = &mut context.arn_type;
       13895  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13896  +
                            let bucket_partition = &mut context.bucket_partition;
       13897  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13898  +
                            let outpost_type = &mut context.outpost_type;
       13899  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13900  +
                            let partition_resolver = &self.partition_resolver;
       13901  +
                            crate::endpoint_lib::host::is_valid_host_label(
       13902  +
                                if let Some(param) = effective_arn_region { param } else { return false },
       13903  +
                                true,
       13904  +
                                _diagnostic_collector,
       13905  +
                            )
       13906  +
                        })(&mut _diagnostic_collector),
       13907  +
                        68 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13908  +
                            let effective_std_region = &mut context.effective_std_region;
       13909  +
                            let partition_result = &mut context.partition_result;
       13910  +
                            let url = &mut context.url;
       13911  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13912  +
                            let region_prefix = &mut context.region_prefix;
       13913  +
                            let hardware_type = &mut context.hardware_type;
       13914  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13915  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13916  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13917  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13918  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13919  +
                            let bucket_arn = &mut context.bucket_arn;
       13920  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13921  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13922  +
                            let arn_type = &mut context.arn_type;
       13923  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13924  +
                            let bucket_partition = &mut context.bucket_partition;
       13925  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13926  +
                            let outpost_type = &mut context.outpost_type;
       13927  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13928  +
                            let partition_resolver = &self.partition_resolver;
       13929  +
                            (if let Some(inner) = bucket_arn { inner.service() } else { return false }) == ("s3")
       13930  +
                        })(&mut _diagnostic_collector),
       13931  +
                        69 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13932  +
                            let effective_std_region = &mut context.effective_std_region;
       13933  +
                            let partition_result = &mut context.partition_result;
       13934  +
                            let url = &mut context.url;
       13935  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13936  +
                            let region_prefix = &mut context.region_prefix;
       13937  +
                            let hardware_type = &mut context.hardware_type;
       13938  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13939  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13940  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13941  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13942  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13943  +
                            let bucket_arn = &mut context.bucket_arn;
       13944  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13945  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13946  +
                            let arn_type = &mut context.arn_type;
       13947  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13948  +
                            let bucket_partition = &mut context.bucket_partition;
       13949  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13950  +
                            let outpost_type = &mut context.outpost_type;
       13951  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13952  +
                            let partition_resolver = &self.partition_resolver;
       13953  +
                            (if let Some(inner) = bucket_arn {
       13954  +
                                inner.account_id()
       13955  +
                            } else {
       13956  +
                                return false;
       13957  +
                            }) == ("")
       13958  +
                        })(&mut _diagnostic_collector),
       13959  +
                        70 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13960  +
                            let effective_std_region = &mut context.effective_std_region;
       13961  +
                            let partition_result = &mut context.partition_result;
       13962  +
                            let url = &mut context.url;
       13963  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13964  +
                            let region_prefix = &mut context.region_prefix;
       13965  +
                            let hardware_type = &mut context.hardware_type;
       13966  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13967  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13968  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13969  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13970  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13971  +
                            let bucket_arn = &mut context.bucket_arn;
       13972  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13973  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13974  +
                            let arn_type = &mut context.arn_type;
       13975  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13976  +
                            let bucket_partition = &mut context.bucket_partition;
       13977  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13978  +
                            let outpost_type = &mut context.outpost_type;
       13979  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13980  +
                            let partition_resolver = &self.partition_resolver;
       13981  +
                            crate::endpoint_lib::host::is_valid_host_label(
       13982  +
                                if let Some(inner) = bucket_arn {
       13983  +
                                    inner.account_id()
       13984  +
                                } else {
       13985  +
                                    return false;
       13986  +
                                },
       13987  +
                                false,
       13988  +
                                _diagnostic_collector,
       13989  +
                            )
       13990  +
                        })(&mut _diagnostic_collector),
       13991  +
                        71 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13992  +
                            let effective_std_region = &mut context.effective_std_region;
       13993  +
                            let partition_result = &mut context.partition_result;
       13994  +
                            let url = &mut context.url;
       13995  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13996  +
                            let region_prefix = &mut context.region_prefix;
       13997  +
                            let hardware_type = &mut context.hardware_type;
       13998  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13999  +
                            let s3_e_ds = &mut context.s3_e_ds;
       14000  +
                            let s3_e_fips = &mut context.s3_e_fips;
       14001  +
                            let s3_e_auth = &mut context.s3_e_auth;
       14002  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       14003  +
                            let bucket_arn = &mut context.bucket_arn;
       14004  +
                            let effective_arn_region = &mut context.effective_arn_region;
       14005  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       14006  +
                            let arn_type = &mut context.arn_type;
       14007  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       14008  +
                            let bucket_partition = &mut context.bucket_partition;
       14009  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       14010  +
                            let outpost_type = &mut context.outpost_type;
       14011  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       14012  +
                            let partition_resolver = &self.partition_resolver;
       14013  +
                            crate::endpoint_lib::host::is_valid_host_label(
       14014  +
                                if let Some(param) = access_point_name_ssa_1 {
       14015  +
                                    param
       14016  +
                                } else {
       14017  +
                                    return false;
       14018  +
                                },
       14019  +
                                false,
       14020  +
                                _diagnostic_collector,
       14021  +
                            )
       14022  +
                        })(&mut _diagnostic_collector),
       14023  +
                        72 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       14024  +
                            let effective_std_region = &mut context.effective_std_region;
       14025  +
                            let partition_result = &mut context.partition_result;
       14026  +
                            let url = &mut context.url;
       14027  +
                            let access_point_suffix = &mut context.access_point_suffix;
       14028  +
                            let region_prefix = &mut context.region_prefix;
       14029  +
                            let hardware_type = &mut context.hardware_type;
       14030  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       14031  +
                            let s3_e_ds = &mut context.s3_e_ds;
       14032  +
                            let s3_e_fips = &mut context.s3_e_fips;
       14033  +
                            let s3_e_auth = &mut context.s3_e_auth;
       14034  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       14035  +
                            let bucket_arn = &mut context.bucket_arn;
       14036  +
                            let effective_arn_region = &mut context.effective_arn_region;
       14037  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       14038  +
                            let arn_type = &mut context.arn_type;
       14039  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       14040  +
                            let bucket_partition = &mut context.bucket_partition;
       14041  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       14042  +
                            let outpost_type = &mut context.outpost_type;
       14043  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       14044  +
                            let partition_resolver = &self.partition_resolver;
       14045  +
                            {
       14046  +
                                *access_point_name_ssa_2 = if let Some(inner) = bucket_arn {
       14047  +
                                    inner.resource_id().get(3).cloned()
       14048  +
                                } else {
       14049  +
                                    return false;
       14050  +
                                }
       14051  +
                                .map(|inner| inner.into());
       14052  +
                                access_point_name_ssa_2.is_some()
       14053  +
                            }
       14054  +
                        })(&mut _diagnostic_collector),
       14055  +
                        73 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       14056  +
                            let effective_std_region = &mut context.effective_std_region;
       14057  +
                            let partition_result = &mut context.partition_result;
       14058  +
                            let url = &mut context.url;
       14059  +
                            let access_point_suffix = &mut context.access_point_suffix;
       14060  +
                            let region_prefix = &mut context.region_prefix;
       14061  +
                            let hardware_type = &mut context.hardware_type;
       14062  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       14063  +
                            let s3_e_ds = &mut context.s3_e_ds;
       14064  +
                            let s3_e_fips = &mut context.s3_e_fips;
       14065  +
                            let s3_e_auth = &mut context.s3_e_auth;
       14066  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       14067  +
                            let bucket_arn = &mut context.bucket_arn;
       14068  +
                            let effective_arn_region = &mut context.effective_arn_region;
       14069  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       14070  +
                            let arn_type = &mut context.arn_type;
       14071  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       14072  +
                            let bucket_partition = &mut context.bucket_partition;
       14073  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       14074  +
                            let outpost_type = &mut context.outpost_type;
       14075  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       14076  +
                            let partition_resolver = &self.partition_resolver;
       14077  +
                            crate::endpoint_lib::host::is_valid_host_label(
       14078  +
                                if let Some(param) = access_point_name_ssa_1 {
       14079  +
                                    param
       14080  +
                                } else {
       14081  +
                                    return false;
       14082  +
                                },
       14083  +
                                true,
       14084  +
                                _diagnostic_collector,
       14085  +
                            )
       14086  +
                        })(&mut _diagnostic_collector),
       14087  +
                        74 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       14088  +
                            let effective_std_region = &mut context.effective_std_region;
       14089  +
                            let partition_result = &mut context.partition_result;
       14090  +
                            let url = &mut context.url;
       14091  +
                            let access_point_suffix = &mut context.access_point_suffix;
       14092  +
                            let region_prefix = &mut context.region_prefix;
       14093  +
                            let hardware_type = &mut context.hardware_type;
       14094  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       14095  +
                            let s3_e_ds = &mut context.s3_e_ds;
       14096  +
                            let s3_e_fips = &mut context.s3_e_fips;
       14097  +
                            let s3_e_auth = &mut context.s3_e_auth;
       14098  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       14099  +
                            let bucket_arn = &mut context.bucket_arn;
       14100  +
                            let effective_arn_region = &mut context.effective_arn_region;
       14101  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       14102  +
                            let arn_type = &mut context.arn_type;
       14103  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       14104  +
                            let bucket_partition = &mut context.bucket_partition;
       14105  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       14106  +
                            let outpost_type = &mut context.outpost_type;
       14107  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       14108  +
                            let partition_resolver = &self.partition_resolver;
       14109  +
                            (if let Some(inner) = bucket_arn { inner.partition() } else { return false })
       14110  +
                                == (if let Some(inner) = partition_result {
       14111  +
                                    inner.name()
       14112  +
                                } else {
       14113  +
                                    return false;
       14114  +
                                })
       14115  +
                        })(&mut _diagnostic_collector),
       14116  +
                        75 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       14117  +
                            let effective_std_region = &mut context.effective_std_region;
       14118  +
                            let partition_result = &mut context.partition_result;
       14119  +
                            let url = &mut context.url;
       14120  +
                            let access_point_suffix = &mut context.access_point_suffix;
       14121  +
                            let region_prefix = &mut context.region_prefix;
       14122  +
                            let hardware_type = &mut context.hardware_type;
       14123  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       14124  +
                            let s3_e_ds = &mut context.s3_e_ds;
       14125  +
                            let s3_e_fips = &mut context.s3_e_fips;
       14126  +
                            let s3_e_auth = &mut context.s3_e_auth;
       14127  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       14128  +
                            let bucket_arn = &mut context.bucket_arn;
       14129  +
                            let effective_arn_region = &mut context.effective_arn_region;
       14130  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       14131  +
                            let arn_type = &mut context.arn_type;
       14132  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       14133  +
                            let bucket_partition = &mut context.bucket_partition;
       14134  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       14135  +
                            let outpost_type = &mut context.outpost_type;
       14136  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       14137  +
                            let partition_resolver = &self.partition_resolver;
       14138  +
                            (outpost_type) == &mut Some(("accesspoint".into()))
       14139  +
                        })(&mut _diagnostic_collector),
       14140  +
                        _ => unreachable!("Invalid condition index"),
       14141  +
                    };
       14142  +
                    current_ref = if is_complement ^ condition_result { node.high_ref } else { node.low_ref };
       14143  +
                }
15242  14144   
            }
15243         -
            Self::Result96 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
15244         -
                "A region must be set when sending requests to S3.".to_string(),
15245         -
            )),
15246  14145   
        }
15247  14146   
    }
15248  14147   
}
15249  14148   
15250         -
const RESULTS: [ResultEndpoint; 97] = [
15251         -
    ResultEndpoint::Result0,
15252         -
    ResultEndpoint::Result1,
15253         -
    ResultEndpoint::Result2,
15254         -
    ResultEndpoint::Result3,
15255         -
    ResultEndpoint::Result4,
15256         -
    ResultEndpoint::Result5,
15257         -
    ResultEndpoint::Result6,
15258         -
    ResultEndpoint::Result7,
15259         -
    ResultEndpoint::Result8,
15260         -
    ResultEndpoint::Result9,
15261         -
    ResultEndpoint::Result10,
15262         -
    ResultEndpoint::Result11,
15263         -
    ResultEndpoint::Result12,
15264         -
    ResultEndpoint::Result13,
15265         -
    ResultEndpoint::Result14,
15266         -
    ResultEndpoint::Result15,
15267         -
    ResultEndpoint::Result16,
15268         -
    ResultEndpoint::Result17,
15269         -
    ResultEndpoint::Result18,
15270         -
    ResultEndpoint::Result19,
15271         -
    ResultEndpoint::Result20,
15272         -
    ResultEndpoint::Result21,
15273         -
    ResultEndpoint::Result22,
15274         -
    ResultEndpoint::Result23,
15275         -
    ResultEndpoint::Result24,
15276         -
    ResultEndpoint::Result25,
15277         -
    ResultEndpoint::Result26,
15278         -
    ResultEndpoint::Result27,
15279         -
    ResultEndpoint::Result28,
15280         -
    ResultEndpoint::Result29,
15281         -
    ResultEndpoint::Result30,
15282         -
    ResultEndpoint::Result31,
15283         -
    ResultEndpoint::Result32,
15284         -
    ResultEndpoint::Result33,
15285         -
    ResultEndpoint::Result34,
15286         -
    ResultEndpoint::Result35,
15287         -
    ResultEndpoint::Result36,
15288         -
    ResultEndpoint::Result37,
15289         -
    ResultEndpoint::Result38,
15290         -
    ResultEndpoint::Result39,
15291         -
    ResultEndpoint::Result40,
15292         -
    ResultEndpoint::Result41,
15293         -
    ResultEndpoint::Result42,
15294         -
    ResultEndpoint::Result43,
15295         -
    ResultEndpoint::Result44,
15296         -
    ResultEndpoint::Result45,
15297         -
    ResultEndpoint::Result46,
15298         -
    ResultEndpoint::Result47,
15299         -
    ResultEndpoint::Result48,
15300         -
    ResultEndpoint::Result49,
15301         -
    ResultEndpoint::Result50,
15302         -
    ResultEndpoint::Result51,
15303         -
    ResultEndpoint::Result52,
15304         -
    ResultEndpoint::Result53,
15305         -
    ResultEndpoint::Result54,
15306         -
    ResultEndpoint::Result55,
15307         -
    ResultEndpoint::Result56,
15308         -
    ResultEndpoint::Result57,
15309         -
    ResultEndpoint::Result58,
15310         -
    ResultEndpoint::Result59,
15311         -
    ResultEndpoint::Result60,
15312         -
    ResultEndpoint::Result61,
15313         -
    ResultEndpoint::Result62,
15314         -
    ResultEndpoint::Result63,
15315         -
    ResultEndpoint::Result64,
15316         -
    ResultEndpoint::Result65,
15317         -
    ResultEndpoint::Result66,
15318         -
    ResultEndpoint::Result67,
15319         -
    ResultEndpoint::Result68,
15320         -
    ResultEndpoint::Result69,
15321         -
    ResultEndpoint::Result70,
15322         -
    ResultEndpoint::Result71,
15323         -
    ResultEndpoint::Result72,
15324         -
    ResultEndpoint::Result73,
15325         -
    ResultEndpoint::Result74,
15326         -
    ResultEndpoint::Result75,
15327         -
    ResultEndpoint::Result76,
15328         -
    ResultEndpoint::Result77,
15329         -
    ResultEndpoint::Result78,
15330         -
    ResultEndpoint::Result79,
15331         -
    ResultEndpoint::Result80,
15332         -
    ResultEndpoint::Result81,
15333         -
    ResultEndpoint::Result82,
15334         -
    ResultEndpoint::Result83,
15335         -
    ResultEndpoint::Result84,
15336         -
    ResultEndpoint::Result85,
15337         -
    ResultEndpoint::Result86,
15338         -
    ResultEndpoint::Result87,
15339         -
    ResultEndpoint::Result88,
15340         -
    ResultEndpoint::Result89,
15341         -
    ResultEndpoint::Result90,
15342         -
    ResultEndpoint::Result91,
15343         -
    ResultEndpoint::Result92,
15344         -
    ResultEndpoint::Result93,
15345         -
    ResultEndpoint::Result94,
15346         -
    ResultEndpoint::Result95,
15347         -
    ResultEndpoint::Result96,
15348         -
];
       14149  +
impl crate::config::endpoint::ResolveEndpoint for DefaultResolver {
       14150  +
    fn resolve_endpoint<'a>(&'a self, params: &'a crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a> {
       14151  +
        // Check single-entry cache (lock-free read via ArcSwap)
       14152  +
        let cached = self.endpoint_cache.load();
       14153  +
        if let Some((cached_params, cached_endpoint)) = cached.as_ref() {
       14154  +
            if cached_params == params {
       14155  +
                return ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(::std::result::Result::Ok(cached_endpoint.clone()));
       14156  +
            }
       14157  +
        }
       14158  +
        drop(cached);
       14159  +
        let result = self.resolve_endpoint(params);
       14160  +
        if let ::std::result::Result::Ok(ref endpoint) = result {
       14161  +
            self.endpoint_cache.store(::std::sync::Arc::new(Some((params.clone(), endpoint.clone()))));
       14162  +
        }
       14163  +
        ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(result)
       14164  +
    }
       14165  +
}
15349  14166   
const NODES: [crate::endpoint_lib::bdd_interpreter::BddNode; 521] = [
15350  14167   
    crate::endpoint_lib::bdd_interpreter::BddNode {
15351  14168   
        condition_index: -1,
15352  14169   
        high_ref: 1,
15353  14170   
        low_ref: -1,
15354  14171   
    },
15355  14172   
    crate::endpoint_lib::bdd_interpreter::BddNode {
15356  14173   
        condition_index: 5,
15357  14174   
        high_ref: 100000002,
15358  14175   
        low_ref: 100000004,