AWS SDK

AWS SDK

rev. 3aed9201e4bc5a8db4b84ecb152c7af544ace9ac (ignoring whitespace)

Files changed:

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

@@ -19,19 +153,153 @@
   39     39   
path = "../aws-smithy-observability"
   40     40   
version = "0.2.6"
   41     41   
   42     42   
[dependencies.aws-smithy-query]
   43     43   
path = "../aws-smithy-query"
   44     44   
version = "0.60.15"
   45     45   
   46     46   
[dependencies.aws-smithy-runtime]
   47     47   
path = "../aws-smithy-runtime"
   48     48   
features = ["client"]
   49         -
version = "1.10.3"
          49  +
version = "1.10.4"
   50     50   
   51     51   
[dependencies.aws-smithy-runtime-api]
   52     52   
path = "../aws-smithy-runtime-api"
   53     53   
features = ["client", "http-1x"]
   54         -
version = "1.11.6"
          54  +
version = "1.11.7"
   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-smithy-xml]
   62     62   
path = "../aws-smithy-xml"
   63     63   
version = "0.60.15"
   64     64   
   65     65   
[dependencies.aws-types]
   66     66   
path = "../aws-types"
   67     67   
version = "1.4.0"
   68     68   
   69     69   
[dependencies.fastrand]
   70     70   
version = "2.0.0"
   71     71   
   72     72   
[dependencies.http]
   73     73   
version = "0.2.9"
   74     74   
   75     75   
[dependencies.http-1x]
   76     76   
version = "1"
   77     77   
package = "http"
   78     78   
   79     79   
[dependencies.regex-lite]
   80     80   
version = "0.1.5"
   81     81   
   82     82   
[dependencies.tracing]
   83     83   
version = "0.1"
   84     84   
[dev-dependencies.aws-config]
   85     85   
path = "../aws-config"
   86     86   
version = "1.9.0"
   87     87   
   88     88   
[dev-dependencies.aws-credential-types]
   89     89   
path = "../aws-credential-types"
   90     90   
features = ["test-util"]
   91     91   
version = "1.2.14"
   92     92   
   93     93   
[dev-dependencies.aws-runtime]
   94     94   
path = "../aws-runtime"
   95     95   
features = ["test-util"]
   96     96   
version = "1.7.3"
   97     97   
   98     98   
[dev-dependencies.aws-smithy-async]
   99     99   
path = "../aws-smithy-async"
  100    100   
features = ["test-util"]
  101    101   
version = "1.2.14"
  102    102   
  103    103   
[dev-dependencies.aws-smithy-http-client]
  104    104   
path = "../aws-smithy-http-client"
  105    105   
features = ["test-util", "wire-mock"]
  106    106   
version = "1.1.12"
  107    107   
  108    108   
[dev-dependencies.aws-smithy-protocol-test]
  109    109   
path = "../aws-smithy-protocol-test"
  110    110   
version = "0.63.14"
  111    111   
  112    112   
[dev-dependencies.aws-smithy-runtime]
  113    113   
path = "../aws-smithy-runtime"
  114    114   
features = ["test-util"]
  115         -
version = "1.10.3"
         115  +
version = "1.10.4"
  116    116   
  117    117   
[dev-dependencies.aws-smithy-runtime-api]
  118    118   
path = "../aws-smithy-runtime-api"
  119    119   
features = ["test-util"]
  120         -
version = "1.11.6"
         120  +
version = "1.11.7"
  121    121   
  122    122   
[dev-dependencies.aws-smithy-types]
  123    123   
path = "../aws-smithy-types"
  124    124   
features = ["http-body-1-x", "test-util"]
  125         -
version = "1.4.7"
         125  +
version = "1.4.8"
  126    126   
  127    127   
[dev-dependencies.futures-util]
  128    128   
version = "0.3.25"
  129    129   
features = ["alloc"]
  130    130   
default-features = false
  131    131   
  132    132   
[dev-dependencies.proptest]
  133    133   
version = "1"
  134    134   
  135    135   
[dev-dependencies.serde_json]

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

@@ -19,19 +421,421 @@
   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) == (true) {
   44     44   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
   45     45   
                            .url("https://iam.global.api.aws".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(2);
   50     50   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
   51     51   
                                    out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
   52     52   
                                    out
   53     53   
                                })],
   54     54   
                            )
   55     55   
                            .build());
   56     56   
                    }
   57     57   
                }
   58     58   
            }
   59     59   
            if (partition_result.name()) == ("aws") {
   60     60   
                if (*use_fips) == (true) {
   61     61   
                    if (*use_dual_stack) == (true) {
   62     62   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
   63     63   
                            .url("https://iam-fips.global.api.aws".to_string())
   64     64   
                            .property(
   65     65   
                                "authSchemes",
   66     66   
                                vec![::aws_smithy_types::Document::from({
   67         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
          67  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(2);
   68     68   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
   69     69   
                                    out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
   70     70   
                                    out
   71     71   
                                })],
   72     72   
                            )
   73     73   
                            .build());
   74     74   
                    }
   75     75   
                }
   76     76   
            }
   77     77   
            if (partition_result.name()) == ("aws-cn") {
   78     78   
                if (*use_fips) == (false) {
   79     79   
                    if (*use_dual_stack) == (true) {
   80     80   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
   81     81   
                            .url("https://iam.global.api.amazonwebservices.com.cn".to_string())
   82     82   
                            .property(
   83     83   
                                "authSchemes",
   84     84   
                                vec![::aws_smithy_types::Document::from({
   85         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
          85  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(2);
   86     86   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
   87     87   
                                    out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
   88     88   
                                    out
   89     89   
                                })],
   90     90   
                            )
   91     91   
                            .build());
   92     92   
                    }
   93     93   
                }
   94     94   
            }
   95     95   
            if (partition_result.name()) == ("aws-cn") {
   96     96   
                if (*use_fips) == (false) {
   97     97   
                    if (*use_dual_stack) == (false) {
   98     98   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
   99     99   
                            .url("https://iam.cn-north-1.amazonaws.com.cn".to_string())
  100    100   
                            .property(
  101    101   
                                "authSchemes",
  102    102   
                                vec![::aws_smithy_types::Document::from({
  103         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         103  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(2);
  104    104   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  105    105   
                                    out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
  106    106   
                                    out
  107    107   
                                })],
  108    108   
                            )
  109    109   
                            .build());
  110    110   
                    }
  111    111   
                }
  112    112   
            }
  113    113   
            if (partition_result.name()) == ("aws-us-gov") {
  114    114   
                if (*use_fips) == (false) {
  115    115   
                    if (*use_dual_stack) == (true) {
  116    116   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  117    117   
                            .url("https://iam.us-gov.api.aws".to_string())
  118    118   
                            .property(
  119    119   
                                "authSchemes",
  120    120   
                                vec![::aws_smithy_types::Document::from({
  121         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         121  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(2);
  122    122   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  123    123   
                                    out.insert("signingRegion".to_string(), "us-gov-west-1".to_string().into());
  124    124   
                                    out
  125    125   
                                })],
  126    126   
                            )
  127    127   
                            .build());
  128    128   
                    }
  129    129   
                }
  130    130   
            }
  131    131   
            if (partition_result.name()) == ("aws-us-gov") {
  132    132   
                if (*use_fips) == (true) {
  133    133   
                    if (*use_dual_stack) == (true) {
  134    134   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  135    135   
                            .url("https://iam.us-gov.api.aws".to_string())
  136    136   
                            .property(
  137    137   
                                "authSchemes",
  138    138   
                                vec![::aws_smithy_types::Document::from({
  139         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         139  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(2);
  140    140   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  141    141   
                                    out.insert("signingRegion".to_string(), "us-gov-west-1".to_string().into());
  142    142   
                                    out
  143    143   
                                })],
  144    144   
                            )
  145    145   
                            .build());
  146    146   
                    }
  147    147   
                }
  148    148   
            }
  149    149   
            if (partition_result.name()) == ("aws-us-gov") {
  150    150   
                if (*use_fips) == (false) {
  151    151   
                    if (*use_dual_stack) == (false) {
  152    152   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  153    153   
                            .url("https://iam.us-gov.amazonaws.com".to_string())
  154    154   
                            .property(
  155    155   
                                "authSchemes",
  156    156   
                                vec![::aws_smithy_types::Document::from({
  157         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         157  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(2);
  158    158   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  159    159   
                                    out.insert("signingRegion".to_string(), "us-gov-west-1".to_string().into());
  160    160   
                                    out
  161    161   
                                })],
  162    162   
                            )
  163    163   
                            .build());
  164    164   
                    }
  165    165   
                }
  166    166   
            }
  167    167   
            if (partition_result.name()) == ("aws-us-gov") {
  168    168   
                if (*use_fips) == (true) {
  169    169   
                    if (*use_dual_stack) == (false) {
  170    170   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  171    171   
                            .url("https://iam.us-gov.amazonaws.com".to_string())
  172    172   
                            .property(
  173    173   
                                "authSchemes",
  174    174   
                                vec![::aws_smithy_types::Document::from({
  175         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         175  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(2);
  176    176   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  177    177   
                                    out.insert("signingRegion".to_string(), "us-gov-west-1".to_string().into());
  178    178   
                                    out
  179    179   
                                })],
  180    180   
                            )
  181    181   
                            .build());
  182    182   
                    }
  183    183   
                }
  184    184   
            }
  185    185   
            if (partition_result.name()) == ("aws-iso") {
  186    186   
                if (*use_fips) == (false) {
  187    187   
                    if (*use_dual_stack) == (false) {
  188    188   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  189    189   
                            .url("https://iam.us-iso-east-1.c2s.ic.gov".to_string())
  190    190   
                            .property(
  191    191   
                                "authSchemes",
  192    192   
                                vec![::aws_smithy_types::Document::from({
  193         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         193  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(2);
  194    194   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  195    195   
                                    out.insert("signingRegion".to_string(), "us-iso-east-1".to_string().into());
  196    196   
                                    out
  197    197   
                                })],
  198    198   
                            )
  199    199   
                            .build());
  200    200   
                    }
  201    201   
                }
  202    202   
            }
  203    203   
            if (partition_result.name()) == ("aws-iso") {
  204    204   
                if (*use_fips) == (true) {
  205    205   
                    if (*use_dual_stack) == (false) {
  206    206   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  207    207   
                            .url("https://iam-fips.us-iso-east-1.c2s.ic.gov".to_string())
  208    208   
                            .property(
  209    209   
                                "authSchemes",
  210    210   
                                vec![::aws_smithy_types::Document::from({
  211         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         211  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(2);
  212    212   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  213    213   
                                    out.insert("signingRegion".to_string(), "us-iso-east-1".to_string().into());
  214    214   
                                    out
  215    215   
                                })],
  216    216   
                            )
  217    217   
                            .build());
  218    218   
                    }
  219    219   
                }
  220    220   
            }
  221    221   
            if (partition_result.name()) == ("aws-iso-b") {
  222    222   
                if (*use_fips) == (false) {
  223    223   
                    if (*use_dual_stack) == (false) {
  224    224   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  225    225   
                            .url("https://iam.us-isob-east-1.sc2s.sgov.gov".to_string())
  226    226   
                            .property(
  227    227   
                                "authSchemes",
  228    228   
                                vec![::aws_smithy_types::Document::from({
  229         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         229  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(2);
  230    230   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  231    231   
                                    out.insert("signingRegion".to_string(), "us-isob-east-1".to_string().into());
  232    232   
                                    out
  233    233   
                                })],
  234    234   
                            )
  235    235   
                            .build());
  236    236   
                    }
  237    237   
                }
  238    238   
            }
  239    239   
            if (partition_result.name()) == ("aws-iso-b") {
  240    240   
                if (*use_fips) == (true) {
  241    241   
                    if (*use_dual_stack) == (false) {
  242    242   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  243    243   
                            .url("https://iam-fips.us-isob-east-1.sc2s.sgov.gov".to_string())
  244    244   
                            .property(
  245    245   
                                "authSchemes",
  246    246   
                                vec![::aws_smithy_types::Document::from({
  247         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         247  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(2);
  248    248   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  249    249   
                                    out.insert("signingRegion".to_string(), "us-isob-east-1".to_string().into());
  250    250   
                                    out
  251    251   
                                })],
  252    252   
                            )
  253    253   
                            .build());
  254    254   
                    }
  255    255   
                }
  256    256   
            }
  257    257   
            if (partition_result.name()) == ("aws-iso-e") {
  258    258   
                if (*use_fips) == (false) {
  259    259   
                    if (*use_dual_stack) == (false) {
  260    260   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  261    261   
                            .url("https://iam.eu-isoe-west-1.cloud.adc-e.uk".to_string())
  262    262   
                            .property(
  263    263   
                                "authSchemes",
  264    264   
                                vec![::aws_smithy_types::Document::from({
  265         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         265  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(2);
  266    266   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  267    267   
                                    out.insert("signingRegion".to_string(), "eu-isoe-west-1".to_string().into());
  268    268   
                                    out
  269    269   
                                })],
  270    270   
                            )
  271    271   
                            .build());
  272    272   
                    }
  273    273   
                }
  274    274   
            }
  275    275   
            if (partition_result.name()) == ("aws-iso-f") {
  276    276   
                if (*use_fips) == (false) {
  277    277   
                    if (*use_dual_stack) == (false) {
  278    278   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  279    279   
                            .url("https://iam.us-isof-south-1.csp.hci.ic.gov".to_string())
  280    280   
                            .property(
  281    281   
                                "authSchemes",
  282    282   
                                vec![::aws_smithy_types::Document::from({
  283         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         283  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(2);
  284    284   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  285    285   
                                    out.insert("signingRegion".to_string(), "us-isof-south-1".to_string().into());
  286    286   
                                    out
  287    287   
                                })],
  288    288   
                            )
  289    289   
                            .build());
  290    290   
                    }
  291    291   
                }
  292    292   
            }
  293    293   
            if (partition_result.name()) == ("aws-eusc") {
  294    294   
                if (*use_fips) == (false) {
  295    295   
                    if (*use_dual_stack) == (false) {
  296    296   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  297    297   
                            .url("https://iam.eusc-de-east-1.amazonaws.eu".to_string())
  298    298   
                            .property(
  299    299   
                                "authSchemes",
  300    300   
                                vec![::aws_smithy_types::Document::from({
  301         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         301  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(2);
  302    302   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  303    303   
                                    out.insert("signingRegion".to_string(), "eusc-de-east-1".to_string().into());
  304    304   
                                    out
  305    305   
                                })],
  306    306   
                            )
  307    307   
                            .build());
  308    308   
                    }
  309    309   
                }
  310    310   
            }
  311    311   
            if (*use_fips) == (true) {
  312    312   
                if (*use_dual_stack) == (true) {
  313    313   
                    if (true) == (partition_result.supports_fips()) {
  314    314   
                        if (true) == (partition_result.supports_dual_stack()) {
  315    315   
                            return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  316    316   
                                .url({
  317    317   
                                    let mut out = String::new();
  318    318   
                                    out.push_str("https://iam-fips.");
  319    319   
                                    #[allow(clippy::needless_borrow)]
  320    320   
                                    out.push_str(&partition_result.dual_stack_dns_suffix());
  321    321   
                                    out
  322    322   
                                })
  323    323   
                                .property(
  324    324   
                                    "authSchemes",
  325    325   
                                    vec![::aws_smithy_types::Document::from({
  326         -
                                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         326  +
                                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(2);
  327    327   
                                        out.insert("name".to_string(), "sigv4".to_string().into());
  328    328   
                                        out.insert("signingRegion".to_string(), partition_result.implicit_global_region().to_owned().into());
  329    329   
                                        out
  330    330   
                                    })],
  331    331   
                                )
  332    332   
                                .build());
  333    333   
                        }
  334    334   
                    }
  335    335   
                    return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
  336    336   
                        "FIPS and DualStack are enabled, but this partition does not support one or both".to_string(),
  337    337   
                    ));
  338    338   
                }
  339    339   
            }
  340    340   
            if (*use_fips) == (true) {
  341    341   
                if (*use_dual_stack) == (false) {
  342    342   
                    if (partition_result.supports_fips()) == (true) {
  343    343   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  344    344   
                            .url({
  345    345   
                                let mut out = String::new();
  346    346   
                                out.push_str("https://iam-fips.");
  347    347   
                                #[allow(clippy::needless_borrow)]
  348    348   
                                out.push_str(&partition_result.dns_suffix());
  349    349   
                                out
  350    350   
                            })
  351    351   
                            .property(
  352    352   
                                "authSchemes",
  353    353   
                                vec![::aws_smithy_types::Document::from({
  354         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         354  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(2);
  355    355   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  356    356   
                                    out.insert("signingRegion".to_string(), partition_result.implicit_global_region().to_owned().into());
  357    357   
                                    out
  358    358   
                                })],
  359    359   
                            )
  360    360   
                            .build());
  361    361   
                    }
  362    362   
                    return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
  363    363   
                        "FIPS is enabled but this partition does not support FIPS".to_string(),
  364    364   
                    ));
  365    365   
                }
  366    366   
            }
  367    367   
            if (*use_fips) == (false) {
  368    368   
                if (*use_dual_stack) == (true) {
  369    369   
                    if (true) == (partition_result.supports_dual_stack()) {
  370    370   
                        return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  371    371   
                            .url({
  372    372   
                                let mut out = String::new();
  373    373   
                                out.push_str("https://iam.");
  374    374   
                                #[allow(clippy::needless_borrow)]
  375    375   
                                out.push_str(&partition_result.dual_stack_dns_suffix());
  376    376   
                                out
  377    377   
                            })
  378    378   
                            .property(
  379    379   
                                "authSchemes",
  380    380   
                                vec![::aws_smithy_types::Document::from({
  381         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         381  +
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(2);
  382    382   
                                    out.insert("name".to_string(), "sigv4".to_string().into());
  383    383   
                                    out.insert("signingRegion".to_string(), partition_result.implicit_global_region().to_owned().into());
  384    384   
                                    out
  385    385   
                                })],
  386    386   
                            )
  387    387   
                            .build());
  388    388   
                    }
  389    389   
                    return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
  390    390   
                        "DualStack is enabled but this partition does not support DualStack".to_string(),
  391    391   
                    ));
  392    392   
                }
  393    393   
            }
  394    394   
            return Ok(::aws_smithy_types::endpoint::Endpoint::builder()
  395    395   
                .url({
  396    396   
                    let mut out = String::new();
  397    397   
                    out.push_str("https://iam.");
  398    398   
                    #[allow(clippy::needless_borrow)]
  399    399   
                    out.push_str(&partition_result.dns_suffix());
  400    400   
                    out
  401    401   
                })
  402    402   
                .property(
  403    403   
                    "authSchemes",
  404    404   
                    vec![::aws_smithy_types::Document::from({
  405         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
         405  +
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::with_capacity(2);
  406    406   
                        out.insert("name".to_string(), "sigv4".to_string().into());
  407    407   
                        out.insert("signingRegion".to_string(), partition_result.implicit_global_region().to_owned().into());
  408    408   
                        out
  409    409   
                    })],
  410    410   
                )
  411    411   
                .build());
  412    412   
        }
  413    413   
        #[allow(unreachable_code)]
  414    414   
        return Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(format!(
  415    415   
            "No rules matched these parameters. This is a bug. {_params:?}"

tmp-codegen-diff/aws-sdk/sdk/iam/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) {
          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) {
   13     16   
                    return false;
   14     17   
                }
          18  +
                start = i + 1;
   15     19   
            }
   16         -
        true
          20  +
        }
          21  +
        is_valid_segment(bytes, start, bytes.len(), e)
   17     22   
    } else {
   18         -
        if label.is_empty() || label.len() > 63 {
          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 {
   19     31   
        e.report_error("host was too short or too long");
   20     32   
        return false;
   21     33   
    }
   22         -
        label.chars().enumerate().all(|(idx, ch)| match (ch, idx) {
   23         -
            ('-', 0) => {
          34  +
    if bytes[start] == b'-' {
   24     35   
        e.report_error("cannot start with `-`");
   25         -
                false
          36  +
        return false;
   26     37   
    }
   27         -
            _ => ch.is_alphanumeric() || ch == '-',
   28         -
        })
          38  +
    for &b in &bytes[start..end] {
          39  +
        if !b.is_ascii_alphanumeric() && b != b'-' {
          40  +
            return false;
   29     41   
        }
          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/kms/Cargo.toml

@@ -15,15 +148,148 @@
   35     35   
path = "../aws-smithy-json"
   36     36   
version = "0.62.5"
   37     37   
   38     38   
[dependencies.aws-smithy-observability]
   39     39   
path = "../aws-smithy-observability"
   40     40   
version = "0.2.6"
   41     41   
   42     42   
[dependencies.aws-smithy-runtime]
   43     43   
path = "../aws-smithy-runtime"
   44     44   
features = ["client"]
   45         -
version = "1.10.3"
          45  +
version = "1.10.4"
   46     46   
   47     47   
[dependencies.aws-smithy-runtime-api]
   48     48   
path = "../aws-smithy-runtime-api"
   49     49   
features = ["client", "http-1x"]
   50         -
version = "1.11.6"
          50  +
version = "1.11.7"
   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.4.0"
   60     60   
   61     61   
[dependencies.bytes]
   62     62   
version = "1.4.0"
   63     63   
   64     64   
[dependencies.fastrand]
   65     65   
version = "2.0.0"
   66     66   
   67     67   
[dependencies.http]
   68     68   
version = "0.2.9"
   69     69   
   70     70   
[dependencies.http-1x]
   71     71   
version = "1"
   72     72   
package = "http"
   73     73   
   74     74   
[dependencies.regex-lite]
   75     75   
version = "0.1.5"
   76     76   
   77     77   
[dependencies.tracing]
   78     78   
version = "0.1"
   79     79   
[dev-dependencies.aws-config]
   80     80   
path = "../aws-config"
   81     81   
version = "1.9.0"
   82     82   
   83     83   
[dev-dependencies.aws-credential-types]
   84     84   
path = "../aws-credential-types"
   85     85   
features = ["test-util"]
   86     86   
version = "1.2.14"
   87     87   
   88     88   
[dev-dependencies.aws-runtime]
   89     89   
path = "../aws-runtime"
   90     90   
features = ["test-util"]
   91     91   
version = "1.7.3"
   92     92   
   93     93   
[dev-dependencies.aws-smithy-async]
   94     94   
path = "../aws-smithy-async"
   95     95   
features = ["test-util"]
   96     96   
version = "1.2.14"
   97     97   
   98     98   
[dev-dependencies.aws-smithy-http-client]
   99     99   
path = "../aws-smithy-http-client"
  100    100   
features = ["test-util", "wire-mock"]
  101    101   
version = "1.1.12"
  102    102   
  103    103   
[dev-dependencies.aws-smithy-protocol-test]
  104    104   
path = "../aws-smithy-protocol-test"
  105    105   
version = "0.63.14"
  106    106   
  107    107   
[dev-dependencies.aws-smithy-runtime]
  108    108   
path = "../aws-smithy-runtime"
  109    109   
features = ["test-util"]
  110         -
version = "1.10.3"
         110  +
version = "1.10.4"
  111    111   
  112    112   
[dev-dependencies.aws-smithy-runtime-api]
  113    113   
path = "../aws-smithy-runtime-api"
  114    114   
features = ["test-util"]
  115         -
version = "1.11.6"
         115  +
version = "1.11.7"
  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) {
          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) {
   13     16   
                    return false;
   14     17   
                }
          18  +
                start = i + 1;
   15     19   
            }
   16         -
        true
          20  +
        }
          21  +
        is_valid_segment(bytes, start, bytes.len(), e)
   17     22   
    } else {
   18         -
        if label.is_empty() || label.len() > 63 {
          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 {
   19     31   
        e.report_error("host was too short or too long");
   20     32   
        return false;
   21     33   
    }
   22         -
        label.chars().enumerate().all(|(idx, ch)| match (ch, idx) {
   23         -
            ('-', 0) => {
          34  +
    if bytes[start] == b'-' {
   24     35   
        e.report_error("cannot start with `-`");
   25         -
                false
          36  +
        return false;
   26     37   
    }
   27         -
            _ => ch.is_alphanumeric() || ch == '-',
   28         -
        })
          38  +
    for &b in &bytes[start..end] {
          39  +
        if !b.is_ascii_alphanumeric() && b != b'-' {
          40  +
            return false;
   29     41   
        }
          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

@@ -21,21 +161,161 @@
   41     41   
path = "../aws-smithy-json"
   42     42   
version = "0.62.5"
   43     43   
   44     44   
[dependencies.aws-smithy-observability]
   45     45   
path = "../aws-smithy-observability"
   46     46   
version = "0.2.6"
   47     47   
   48     48   
[dependencies.aws-smithy-runtime]
   49     49   
path = "../aws-smithy-runtime"
   50     50   
features = ["client"]
   51         -
version = "1.10.3"
          51  +
version = "1.10.4"
   52     52   
   53     53   
[dependencies.aws-smithy-runtime-api]
   54     54   
path = "../aws-smithy-runtime-api"
   55     55   
features = ["client", "http-1x"]
   56         -
version = "1.11.6"
          56  +
version = "1.11.7"
   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.4.0"
   66     66   
   67     67   
[dependencies.bytes]
   68     68   
version = "1.4.0"
   69     69   
   70     70   
[dependencies.fastrand]
   71     71   
version = "2.0.0"
   72     72   
   73     73   
[dependencies.http]
   74     74   
version = "0.2.9"
   75     75   
   76     76   
[dependencies.http-1x]
   77     77   
version = "1"
   78     78   
package = "http"
   79     79   
   80     80   
[dependencies.regex-lite]
   81     81   
version = "0.1.5"
   82     82   
   83     83   
[dependencies.tracing]
   84     84   
version = "0.1"
   85     85   
[dev-dependencies.aws-config]
   86     86   
path = "../aws-config"
   87     87   
version = "1.9.0"
   88     88   
   89     89   
[dev-dependencies.aws-credential-types]
   90     90   
path = "../aws-credential-types"
   91     91   
features = ["test-util"]
   92     92   
version = "1.2.14"
   93     93   
   94     94   
[dev-dependencies.aws-runtime]
   95     95   
path = "../aws-runtime"
   96     96   
features = ["test-util"]
   97     97   
version = "1.7.3"
   98     98   
   99     99   
[dev-dependencies.aws-smithy-async]
  100    100   
path = "../aws-smithy-async"
  101    101   
features = ["test-util"]
  102    102   
version = "1.2.14"
  103    103   
  104    104   
[dev-dependencies.aws-smithy-eventstream]
  105    105   
path = "../aws-smithy-eventstream"
  106    106   
features = ["test-util"]
  107    107   
version = "0.60.20"
  108    108   
  109    109   
[dev-dependencies.aws-smithy-http-client]
  110    110   
path = "../aws-smithy-http-client"
  111    111   
features = ["test-util", "wire-mock"]
  112    112   
version = "1.1.12"
  113    113   
  114    114   
[dev-dependencies.aws-smithy-protocol-test]
  115    115   
path = "../aws-smithy-protocol-test"
  116    116   
version = "0.63.14"
  117    117   
  118    118   
[dev-dependencies.aws-smithy-runtime]
  119    119   
path = "../aws-smithy-runtime"
  120    120   
features = ["test-util"]
  121         -
version = "1.10.3"
         121  +
version = "1.10.4"
  122    122   
  123    123   
[dev-dependencies.aws-smithy-runtime-api]
  124    124   
path = "../aws-smithy-runtime-api"
  125    125   
features = ["test-util"]
  126         -
version = "1.11.6"
         126  +
version = "1.11.7"
  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) {
          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) {
   13     16   
                    return false;
   14     17   
                }
          18  +
                start = i + 1;
   15     19   
            }
   16         -
        true
          20  +
        }
          21  +
        is_valid_segment(bytes, start, bytes.len(), e)
   17     22   
    } else {
   18         -
        if label.is_empty() || label.len() > 63 {
          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 {
   19     31   
        e.report_error("host was too short or too long");
   20     32   
        return false;
   21     33   
    }
   22         -
        label.chars().enumerate().all(|(idx, ch)| match (ch, idx) {
   23         -
            ('-', 0) => {
          34  +
    if bytes[start] == b'-' {
   24     35   
        e.report_error("cannot start with `-`");
   25         -
                false
          36  +
        return false;
   26     37   
    }
   27         -
            _ => ch.is_alphanumeric() || ch == '-',
   28         -
        })
          38  +
    for &b in &bytes[start..end] {
          39  +
        if !b.is_ascii_alphanumeric() && b != b'-' {
          40  +
            return false;
   29     41   
        }
          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

@@ -19,19 +157,157 @@
   39     39   
path = "../aws-smithy-json"
   40     40   
version = "0.62.5"
   41     41   
   42     42   
[dependencies.aws-smithy-observability]
   43     43   
path = "../aws-smithy-observability"
   44     44   
version = "0.2.6"
   45     45   
   46     46   
[dependencies.aws-smithy-runtime]
   47     47   
path = "../aws-smithy-runtime"
   48     48   
features = ["client"]
   49         -
version = "1.10.3"
          49  +
version = "1.10.4"
   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         -
version = "1.11.6"
          54  +
version = "1.11.7"
   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.4.0"
   64     64   
   65     65   
[dependencies.bytes]
   66     66   
version = "1.4.0"
   67     67   
   68     68   
[dependencies.fastrand]
   69     69   
version = "2.0.0"
   70     70   
   71     71   
[dependencies.http]
   72     72   
version = "0.2.9"
   73     73   
   74     74   
[dependencies.http-1x]
   75     75   
version = "1"
   76     76   
package = "http"
   77     77   
   78     78   
[dependencies.http-body-1x]
   79     79   
version = "1"
   80     80   
package = "http-body"
   81     81   
   82     82   
[dependencies.regex-lite]
   83     83   
version = "0.1.5"
   84     84   
   85     85   
[dependencies.tracing]
   86     86   
version = "0.1"
   87     87   
[dev-dependencies.aws-config]
   88     88   
path = "../aws-config"
   89     89   
version = "1.9.0"
   90     90   
   91     91   
[dev-dependencies.aws-credential-types]
   92     92   
path = "../aws-credential-types"
   93     93   
features = ["test-util"]
   94     94   
version = "1.2.14"
   95     95   
   96     96   
[dev-dependencies.aws-runtime]
   97     97   
path = "../aws-runtime"
   98     98   
features = ["test-util"]
   99     99   
version = "1.7.3"
  100    100   
  101    101   
[dev-dependencies.aws-smithy-async]
  102    102   
path = "../aws-smithy-async"
  103    103   
features = ["test-util"]
  104    104   
version = "1.2.14"
  105    105   
  106    106   
[dev-dependencies.aws-smithy-http-client]
  107    107   
path = "../aws-smithy-http-client"
  108    108   
features = ["test-util", "wire-mock"]
  109    109   
version = "1.1.12"
  110    110   
  111    111   
[dev-dependencies.aws-smithy-protocol-test]
  112    112   
path = "../aws-smithy-protocol-test"
  113    113   
version = "0.63.14"
  114    114   
  115    115   
[dev-dependencies.aws-smithy-runtime]
  116    116   
path = "../aws-smithy-runtime"
  117    117   
features = ["test-util"]
  118         -
version = "1.10.3"
         118  +
version = "1.10.4"
  119    119   
  120    120   
[dev-dependencies.aws-smithy-runtime-api]
  121    121   
path = "../aws-smithy-runtime-api"
  122    122   
features = ["test-util"]
  123         -
version = "1.11.6"
         123  +
version = "1.11.7"
  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) {
          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) {
   13     16   
                    return false;
   14     17   
                }
          18  +
                start = i + 1;
   15     19   
            }
   16         -
        true
          20  +
        }
          21  +
        is_valid_segment(bytes, start, bytes.len(), e)
   17     22   
    } else {
   18         -
        if label.is_empty() || label.len() > 63 {
          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 {
   19     31   
        e.report_error("host was too short or too long");
   20     32   
        return false;
   21     33   
    }
   22         -
        label.chars().enumerate().all(|(idx, ch)| match (ch, idx) {
   23         -
            ('-', 0) => {
          34  +
    if bytes[start] == b'-' {
   24     35   
        e.report_error("cannot start with `-`");
   25         -
                false
          36  +
        return false;
   26     37   
    }
   27         -
            _ => ch.is_alphanumeric() || ch == '-',
   28         -
        })
          38  +
    for &b in &bytes[start..end] {
          39  +
        if !b.is_ascii_alphanumeric() && b != b'-' {
          40  +
            return false;
   29     41   
        }
          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

@@ -15,15 +85,85 @@
   35     35   
path = "../aws-smithy-json"
   36     36   
version = "0.62.5"
   37     37   
   38     38   
[dependencies.aws-smithy-observability]
   39     39   
path = "../aws-smithy-observability"
   40     40   
version = "0.2.6"
   41     41   
   42     42   
[dependencies.aws-smithy-runtime]
   43     43   
path = "../aws-smithy-runtime"
   44     44   
features = ["client"]
   45         -
version = "1.10.3"
          45  +
version = "1.10.4"
   46     46   
   47     47   
[dependencies.aws-smithy-runtime-api]
   48     48   
path = "../aws-smithy-runtime-api"
   49     49   
features = ["client", "http-1x"]
   50         -
version = "1.11.6"
          50  +
version = "1.11.7"
   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.4.0"
   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) {
          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) {
   13     16   
                    return false;
   14     17   
                }
          18  +
                start = i + 1;
   15     19   
            }
   16         -
        true
          20  +
        }
          21  +
        is_valid_segment(bytes, start, bytes.len(), e)
   17     22   
    } else {
   18         -
        if label.is_empty() || label.len() > 63 {
          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 {
   19     31   
        e.report_error("host was too short or too long");
   20     32   
        return false;
   21     33   
    }
   22         -
        label.chars().enumerate().all(|(idx, ch)| match (ch, idx) {
   23         -
            ('-', 0) => {
          34  +
    if bytes[start] == b'-' {
   24     35   
        e.report_error("cannot start with `-`");
   25         -
                false
          36  +
        return false;
   26     37   
    }
   27         -
            _ => ch.is_alphanumeric() || ch == '-',
   28         -
        })
          38  +
    for &b in &bytes[start..end] {
          39  +
        if !b.is_ascii_alphanumeric() && b != b'-' {
          40  +
            return false;
   29     41   
        }
          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

@@ -29,29 +99,99 @@
   49     49   
path = "../aws-smithy-json"
   50     50   
version = "0.62.5"
   51     51   
   52     52   
[dependencies.aws-smithy-observability]
   53     53   
path = "../aws-smithy-observability"
   54     54   
version = "0.2.6"
   55     55   
   56     56   
[dependencies.aws-smithy-runtime]
   57     57   
path = "../aws-smithy-runtime"
   58     58   
features = ["client"]
   59         -
version = "1.10.3"
          59  +
version = "1.10.4"
   60     60   
   61     61   
[dependencies.aws-smithy-runtime-api]
   62     62   
path = "../aws-smithy-runtime-api"
   63     63   
features = ["client", "http-1x", "http-02x"]
   64         -
version = "1.11.6"
          64  +
version = "1.11.7"
   65     65   
   66     66   
[dependencies.aws-smithy-types]
   67     67   
path = "../aws-smithy-types"
   68     68   
features = ["http-body-1-x"]
   69         -
version = "1.4.7"
          69  +
version = "1.4.8"
   70     70   
   71     71   
[dependencies.aws-smithy-xml]
   72     72   
path = "../aws-smithy-xml"
   73     73   
version = "0.60.15"
   74     74   
   75     75   
[dependencies.aws-types]
   76     76   
path = "../aws-types"
   77     77   
version = "1.4.0"
   78     78   
   79     79   
[dependencies.bytes]
@@ -133,133 +203,203 @@
  153    153   
path = "../aws-smithy-mocks"
  154    154   
version = "0.2.6"
  155    155   
  156    156   
[dev-dependencies.aws-smithy-protocol-test]
  157    157   
path = "../aws-smithy-protocol-test"
  158    158   
version = "0.63.14"
  159    159   
  160    160   
[dev-dependencies.aws-smithy-runtime]
  161    161   
path = "../aws-smithy-runtime"
  162    162   
features = ["test-util"]
  163         -
version = "1.10.3"
         163  +
version = "1.10.4"
  164    164   
  165    165   
[dev-dependencies.aws-smithy-runtime-api]
  166    166   
path = "../aws-smithy-runtime-api"
  167    167   
features = ["test-util", "client", "http-1x"]
  168         -
version = "1.11.6"
         168  +
version = "1.11.7"
  169    169   
  170    170   
[dev-dependencies.aws-smithy-types]
  171    171   
path = "../aws-smithy-types"
  172    172   
features = ["http-body-1-x", "test-util"]
  173         -
version = "1.4.7"
         173  +
version = "1.4.8"
  174    174   
  175    175   
[dev-dependencies.bytes-utils]
  176    176   
version = "0.1.0"
  177    177   
  178    178   
[dev-dependencies.futures-util]
  179    179   
version = "0.3.25"
  180    180   
features = ["alloc"]
  181    181   
default-features = false
  182    182   
  183    183   
[dev-dependencies.hdrhistogram]

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

@@ -134,134 +204,198 @@
  154    154   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
  155    155   
            .build()
  156    156   
            .expect("invalid params");
  157    157   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  158    158   
        let endpoint = resolver.resolve_endpoint(&params);
  159    159   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com");
  160    160   
        assert_eq!(
  161    161   
            endpoint,
  162    162   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  163    163   
                .url("https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com")
  164         -
                .property(
  165         -
                    "authSchemes",
  166         -
                    vec![{
  167         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  168         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  169         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  170         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
  171         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  172         -
                        out
  173         -
                    }
  174         -
                    .into()]
         164  +
                .auth_scheme(
         165  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         166  +
                        .put("disableDoubleEncoding", true)
         167  +
                        .put("signingName", "s3".to_string())
         168  +
                        .put("signingRegion", "us-west-2".to_string())
  175    169   
                )
  176    170   
                .build()
  177    171   
        );
  178    172   
    }
  179    173   
  180    174   
    /// Access points: partition does not support FIPS
  181    175   
    #[test]
  182    176   
    fn test_8() {
  183    177   
        let params = crate::config::endpoint::Params::builder()
  184    178   
            .region("cn-north-1".to_string())
@@ -265,259 +405,381 @@
  285    279   
            .build()
  286    280   
            .expect("invalid params");
  287    281   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  288    282   
        let endpoint = resolver.resolve_endpoint(&params);
  289    283   
        let endpoint =
  290    284   
            endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com");
  291    285   
        assert_eq!(
  292    286   
            endpoint,
  293    287   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  294    288   
                .url("https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com")
  295         -
                .property(
  296         -
                    "authSchemes",
  297         -
                    vec![{
  298         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  299         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  300         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  301         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
  302         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  303         -
                        out
  304         -
                    }
  305         -
                    .into()]
         289  +
                .auth_scheme(
         290  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         291  +
                        .put("disableDoubleEncoding", true)
         292  +
                        .put("signingName", "s3".to_string())
         293  +
                        .put("signingRegion", "us-west-2".to_string())
  306    294   
                )
  307    295   
                .build()
  308    296   
        );
  309    297   
    }
  310    298   
  311    299   
    /// Access point ARN with Dualstack
  312    300   
    #[test]
  313    301   
    fn test_14() {
  314    302   
        let params = crate::config::endpoint::Params::builder()
  315    303   
            .region("us-east-1".to_string())
  316    304   
            .use_fips(false)
  317    305   
            .use_dual_stack(true)
  318    306   
            .accelerate(false)
  319    307   
            .disable_access_points(false)
  320    308   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
  321    309   
            .build()
  322    310   
            .expect("invalid params");
  323    311   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  324    312   
        let endpoint = resolver.resolve_endpoint(&params);
  325    313   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.dualstack.us-west-2.amazonaws.com");
  326    314   
        assert_eq!(
  327    315   
            endpoint,
  328    316   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  329    317   
                .url("https://myendpoint-123456789012.s3-accesspoint.dualstack.us-west-2.amazonaws.com")
  330         -
                .property(
  331         -
                    "authSchemes",
  332         -
                    vec![{
  333         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  334         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  335         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  336         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
  337         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  338         -
                        out
  339         -
                    }
  340         -
                    .into()]
         318  +
                .auth_scheme(
         319  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         320  +
                        .put("disableDoubleEncoding", true)
         321  +
                        .put("signingName", "s3".to_string())
         322  +
                        .put("signingRegion", "us-west-2".to_string())
  341    323   
                )
  342    324   
                .build()
  343    325   
        );
  344    326   
    }
  345    327   
  346    328   
    /// vanilla MRAP
  347    329   
    #[test]
  348    330   
    fn test_15() {
  349    331   
        let params = crate::config::endpoint::Params::builder()
  350    332   
            .bucket("arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
  351    333   
            .region("us-east-1".to_string())
  352    334   
            .disable_multi_region_access_points(false)
  353    335   
            .use_fips(false)
  354    336   
            .use_dual_stack(false)
  355    337   
            .accelerate(false)
  356    338   
            .build()
  357    339   
            .expect("invalid params");
  358    340   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  359    341   
        let endpoint = resolver.resolve_endpoint(&params);
  360    342   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com");
  361    343   
        assert_eq!(
  362    344   
            endpoint,
  363    345   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  364    346   
                .url("https://mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com")
  365         -
                .property(
  366         -
                    "authSchemes",
  367         -
                    vec![{
  368         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  369         -
                        out.insert("name".to_string(), "sigv4a".to_string().into());
  370         -
                        out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
  371         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  372         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  373         -
                        out
  374         -
                    }
  375         -
                    .into()]
         347  +
                .auth_scheme(
         348  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
         349  +
                        .put("disableDoubleEncoding", true)
         350  +
                        .put("signingName", "s3".to_string())
         351  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
  376    352   
                )
  377    353   
                .build()
  378    354   
        );
  379    355   
    }
  380    356   
  381    357   
    /// MRAP does not support FIPS
  382    358   
    #[test]
  383    359   
    fn test_16() {
  384    360   
        let params = crate::config::endpoint::Params::builder()
  385    361   
            .bucket("arn:aws:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
@@ -446,422 +516,486 @@
  466    442   
            .use_dual_stack(true)
  467    443   
            .build()
  468    444   
            .expect("invalid params");
  469    445   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  470    446   
        let endpoint = resolver.resolve_endpoint(&params);
  471    447   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-west-2.amazonaws.com/bucketname");
  472    448   
        assert_eq!(
  473    449   
            endpoint,
  474    450   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  475    451   
                .url("https://s3.dualstack.us-west-2.amazonaws.com/bucketname")
  476         -
                .property(
  477         -
                    "authSchemes",
  478         -
                    vec![{
  479         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  480         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  481         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  482         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
  483         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  484         -
                        out
  485         -
                    }
  486         -
                    .into()]
         452  +
                .auth_scheme(
         453  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         454  +
                        .put("disableDoubleEncoding", true)
         455  +
                        .put("signingName", "s3".to_string())
         456  +
                        .put("signingRegion", "us-west-2".to_string())
  487    457   
                )
  488    458   
                .build()
  489    459   
        );
  490    460   
    }
  491    461   
  492    462   
    /// Dual-stack endpoint + SDK::Host is error
  493    463   
    #[test]
  494    464   
    fn test_21() {
  495    465   
        let params = crate::config::endpoint::Params::builder()
  496    466   
            .bucket("bucketname".to_string())
@@ -518,488 +2508,2149 @@
  538    508   
            .use_fips(false)
  539    509   
            .build()
  540    510   
            .expect("invalid params");
  541    511   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  542    512   
        let endpoint = resolver.resolve_endpoint(&params);
  543    513   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-west-2.amazonaws.com/99_ab");
  544    514   
        assert_eq!(
  545    515   
            endpoint,
  546    516   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  547    517   
                .url("https://s3.dualstack.us-west-2.amazonaws.com/99_ab")
  548         -
                .property(
  549         -
                    "authSchemes",
  550         -
                    vec![{
  551         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  552         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  553         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  554         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
  555         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  556         -
                        out
  557         -
                    }
  558         -
                    .into()]
         518  +
                .auth_scheme(
         519  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         520  +
                        .put("disableDoubleEncoding", true)
         521  +
                        .put("signingName", "s3".to_string())
         522  +
                        .put("signingRegion", "us-west-2".to_string())
  559    523   
                )
  560    524   
                .build()
  561    525   
        );
  562    526   
    }
  563    527   
  564    528   
    /// implicit path style bucket + dualstack
  565    529   
    #[test]
  566    530   
    fn test_24() {
  567    531   
        let params = crate::config::endpoint::Params::builder()
  568    532   
            .accelerate(false)
  569    533   
            .bucket("99_ab".to_string())
  570    534   
            .region("us-west-2".to_string())
  571    535   
            .use_dual_stack(true)
  572    536   
            .use_fips(false)
  573    537   
            .endpoint("http://abc.com".to_string())
  574    538   
            .build()
  575    539   
            .expect("invalid params");
  576    540   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  577    541   
        let endpoint = resolver.resolve_endpoint(&params);
  578    542   
        let error = endpoint
  579    543   
            .expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [implicit path style bucket + dualstack]");
  580    544   
        assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
  581    545   
    }
  582    546   
  583    547   
    /// don't allow URL injections in the bucket
  584    548   
    #[test]
  585    549   
    fn test_25() {
  586    550   
        let params = crate::config::endpoint::Params::builder()
  587    551   
            .bucket("example.com#".to_string())
  588    552   
            .region("us-west-2".to_string())
  589    553   
            .use_dual_stack(false)
  590    554   
            .use_fips(false)
  591    555   
            .accelerate(false)
  592    556   
            .build()
  593    557   
            .expect("invalid params");
  594    558   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  595    559   
        let endpoint = resolver.resolve_endpoint(&params);
  596    560   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/example.com%23");
  597    561   
        assert_eq!(
  598    562   
            endpoint,
  599    563   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  600    564   
                .url("https://s3.us-west-2.amazonaws.com/example.com%23")
  601         -
                .property(
  602         -
                    "authSchemes",
  603         -
                    vec![{
  604         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  605         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  606         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  607         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
  608         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  609         -
                        out
  610         -
                    }
  611         -
                    .into()]
         565  +
                .auth_scheme(
         566  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         567  +
                        .put("disableDoubleEncoding", true)
         568  +
                        .put("signingName", "s3".to_string())
         569  +
                        .put("signingRegion", "us-west-2".to_string())
  612    570   
                )
  613    571   
                .build()
  614    572   
        );
  615    573   
    }
  616    574   
  617    575   
    /// URI encode bucket names in the path
  618    576   
    #[test]
  619    577   
    fn test_26() {
  620    578   
        let params = crate::config::endpoint::Params::builder()
  621    579   
            .bucket("bucket name".to_string())
  622    580   
            .region("us-west-2".to_string())
  623    581   
            .use_dual_stack(false)
  624    582   
            .use_fips(false)
  625    583   
            .accelerate(false)
  626    584   
            .build()
  627    585   
            .expect("invalid params");
  628    586   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  629    587   
        let endpoint = resolver.resolve_endpoint(&params);
  630    588   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/bucket%20name");
  631    589   
        assert_eq!(
  632    590   
            endpoint,
  633    591   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  634    592   
                .url("https://s3.us-west-2.amazonaws.com/bucket%20name")
  635         -
                .property(
  636         -
                    "authSchemes",
  637         -
                    vec![{
  638         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  639         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  640         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  641         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
  642         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  643         -
                        out
  644         -
                    }
  645         -
                    .into()]
         593  +
                .auth_scheme(
         594  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         595  +
                        .put("disableDoubleEncoding", true)
         596  +
                        .put("signingName", "s3".to_string())
         597  +
                        .put("signingRegion", "us-west-2".to_string())
  646    598   
                )
  647    599   
                .build()
  648    600   
        );
  649    601   
    }
  650    602   
  651    603   
    /// scheme is respected
  652    604   
    #[test]
  653    605   
    fn test_27() {
  654    606   
        let params = crate::config::endpoint::Params::builder()
  655    607   
            .accelerate(false)
  656    608   
            .bucket("99_ab".to_string())
  657    609   
            .endpoint("http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
  658    610   
            .region("af-south-1".to_string())
  659    611   
            .use_dual_stack(false)
  660    612   
            .use_fips(false)
  661    613   
            .build()
  662    614   
            .expect("invalid params");
  663    615   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  664    616   
        let endpoint = resolver.resolve_endpoint(&params);
  665    617   
        let endpoint = endpoint.expect("Expected valid endpoint: http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/99_ab");
  666    618   
        assert_eq!(
  667    619   
            endpoint,
  668    620   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  669    621   
                .url("http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/99_ab")
  670         -
                .property(
  671         -
                    "authSchemes",
  672         -
                    vec![{
  673         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  674         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  675         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  676         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
  677         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  678         -
                        out
  679         -
                    }
  680         -
                    .into()]
         622  +
                .auth_scheme(
         623  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         624  +
                        .put("disableDoubleEncoding", true)
         625  +
                        .put("signingName", "s3".to_string())
         626  +
                        .put("signingRegion", "af-south-1".to_string())
  681    627   
                )
  682    628   
                .build()
  683    629   
        );
  684    630   
    }
  685    631   
  686    632   
    /// scheme is respected (virtual addressing)
  687    633   
    #[test]
  688    634   
    fn test_28() {
  689    635   
        let params = crate::config::endpoint::Params::builder()
  690    636   
            .accelerate(false)
  691    637   
            .bucket("bucketname".to_string())
  692    638   
            .endpoint("http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/foo".to_string())
  693    639   
            .region("af-south-1".to_string())
  694    640   
            .use_dual_stack(false)
  695    641   
            .use_fips(false)
  696    642   
            .build()
  697    643   
            .expect("invalid params");
  698    644   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  699    645   
        let endpoint = resolver.resolve_endpoint(&params);
  700    646   
        let endpoint = endpoint.expect("Expected valid endpoint: http://bucketname.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/foo");
  701    647   
        assert_eq!(
  702    648   
            endpoint,
  703    649   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  704    650   
                .url("http://bucketname.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/foo")
  705         -
                .property(
  706         -
                    "authSchemes",
  707         -
                    vec![{
  708         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  709         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  710         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  711         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
  712         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  713         -
                        out
  714         -
                    }
  715         -
                    .into()]
         651  +
                .auth_scheme(
         652  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         653  +
                        .put("disableDoubleEncoding", true)
         654  +
                        .put("signingName", "s3".to_string())
         655  +
                        .put("signingRegion", "af-south-1".to_string())
  716    656   
                )
  717    657   
                .build()
  718    658   
        );
  719    659   
    }
  720    660   
  721    661   
    /// path style + implicit private link
  722    662   
    #[test]
  723    663   
    fn test_29() {
  724    664   
        let params = crate::config::endpoint::Params::builder()
  725    665   
            .accelerate(false)
  726    666   
            .bucket("99_ab".to_string())
  727    667   
            .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
  728    668   
            .region("af-south-1".to_string())
  729    669   
            .use_dual_stack(false)
  730    670   
            .use_fips(false)
  731    671   
            .build()
  732    672   
            .expect("invalid params");
  733    673   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  734    674   
        let endpoint = resolver.resolve_endpoint(&params);
  735    675   
        let endpoint = endpoint.expect("Expected valid endpoint: https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/99_ab");
  736    676   
        assert_eq!(
  737    677   
            endpoint,
  738    678   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  739    679   
                .url("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/99_ab")
  740         -
                .property(
  741         -
                    "authSchemes",
  742         -
                    vec![{
  743         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  744         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  745         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  746         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
  747         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  748         -
                        out
  749         -
                    }
  750         -
                    .into()]
         680  +
                .auth_scheme(
         681  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         682  +
                        .put("disableDoubleEncoding", true)
         683  +
                        .put("signingName", "s3".to_string())
         684  +
                        .put("signingRegion", "af-south-1".to_string())
  751    685   
                )
  752    686   
                .build()
  753    687   
        );
  754    688   
    }
  755    689   
  756    690   
    /// invalid Endpoint override
  757    691   
    #[test]
  758    692   
    fn test_30() {
  759    693   
        let params = crate::config::endpoint::Params::builder()
  760    694   
            .accelerate(false)
  761    695   
            .bucket("bucketname".to_string())
  762    696   
            .endpoint("abcde://nota#url".to_string())
  763    697   
            .region("af-south-1".to_string())
  764    698   
            .use_dual_stack(false)
  765    699   
            .use_fips(false)
  766    700   
            .build()
  767    701   
            .expect("invalid params");
  768    702   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  769    703   
        let endpoint = resolver.resolve_endpoint(&params);
  770    704   
        let error = endpoint.expect_err("expected error: Custom endpoint `abcde://nota#url` was not a valid URI [invalid Endpoint override]");
  771    705   
        assert_eq!(format!("{}", error), "Custom endpoint `abcde://nota#url` was not a valid URI")
  772    706   
    }
  773    707   
  774    708   
    /// using an IPv4 address forces path style
  775    709   
    #[test]
  776    710   
    fn test_31() {
  777    711   
        let params = crate::config::endpoint::Params::builder()
  778    712   
            .accelerate(false)
  779    713   
            .bucket("bucketname".to_string())
  780    714   
            .endpoint("https://123.123.0.1".to_string())
  781    715   
            .region("af-south-1".to_string())
  782    716   
            .use_dual_stack(false)
  783    717   
            .use_fips(false)
  784    718   
            .build()
  785    719   
            .expect("invalid params");
  786    720   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  787    721   
        let endpoint = resolver.resolve_endpoint(&params);
  788    722   
        let endpoint = endpoint.expect("Expected valid endpoint: https://123.123.0.1/bucketname");
  789    723   
        assert_eq!(
  790    724   
            endpoint,
  791    725   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  792    726   
                .url("https://123.123.0.1/bucketname")
  793         -
                .property(
  794         -
                    "authSchemes",
  795         -
                    vec![{
  796         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  797         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  798         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  799         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
  800         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  801         -
                        out
  802         -
                    }
  803         -
                    .into()]
         727  +
                .auth_scheme(
         728  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         729  +
                        .put("disableDoubleEncoding", true)
         730  +
                        .put("signingName", "s3".to_string())
         731  +
                        .put("signingRegion", "af-south-1".to_string())
  804    732   
                )
  805    733   
                .build()
  806    734   
        );
  807    735   
    }
  808    736   
  809    737   
    /// vanilla access point arn with region mismatch and UseArnRegion=false
  810    738   
    #[test]
  811    739   
    fn test_32() {
  812    740   
        let params = crate::config::endpoint::Params::builder()
  813    741   
            .accelerate(false)
  814    742   
            .bucket("arn:aws:s3:us-east-1:123456789012:accesspoint:myendpoint".to_string())
  815    743   
            .force_path_style(false)
  816    744   
            .use_arn_region(false)
  817    745   
            .region("us-west-2".to_string())
  818    746   
            .use_dual_stack(false)
  819    747   
            .use_fips(false)
  820    748   
            .build()
  821    749   
            .expect("invalid params");
  822    750   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  823    751   
        let endpoint = resolver.resolve_endpoint(&params);
  824    752   
        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]");
  825    753   
        assert_eq!(
  826    754   
            format!("{}", error),
  827    755   
            "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"
  828    756   
        )
  829    757   
    }
  830    758   
  831    759   
    /// vanilla access point arn with region mismatch and UseArnRegion unset
  832    760   
    #[test]
  833    761   
    fn test_33() {
  834    762   
        let params = crate::config::endpoint::Params::builder()
  835    763   
            .accelerate(false)
  836    764   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
  837    765   
            .force_path_style(false)
  838    766   
            .region("us-east-1".to_string())
  839    767   
            .use_dual_stack(false)
  840    768   
            .use_fips(false)
  841    769   
            .build()
  842    770   
            .expect("invalid params");
  843    771   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  844    772   
        let endpoint = resolver.resolve_endpoint(&params);
  845    773   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com");
  846    774   
        assert_eq!(
  847    775   
            endpoint,
  848    776   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  849    777   
                .url("https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com")
  850         -
                .property(
  851         -
                    "authSchemes",
  852         -
                    vec![{
  853         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  854         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  855         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  856         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
  857         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  858         -
                        out
  859         -
                    }
  860         -
                    .into()]
         778  +
                .auth_scheme(
         779  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         780  +
                        .put("disableDoubleEncoding", true)
         781  +
                        .put("signingName", "s3".to_string())
         782  +
                        .put("signingRegion", "us-west-2".to_string())
  861    783   
                )
  862    784   
                .build()
  863    785   
        );
  864    786   
    }
  865    787   
  866    788   
    /// vanilla access point arn with region mismatch and UseArnRegion=true
  867    789   
    #[test]
  868    790   
    fn test_34() {
  869    791   
        let params = crate::config::endpoint::Params::builder()
  870    792   
            .accelerate(false)
  871    793   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
  872    794   
            .force_path_style(false)
  873    795   
            .use_arn_region(true)
  874    796   
            .region("us-east-1".to_string())
  875    797   
            .use_dual_stack(false)
  876    798   
            .use_fips(false)
  877    799   
            .build()
  878    800   
            .expect("invalid params");
  879    801   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  880    802   
        let endpoint = resolver.resolve_endpoint(&params);
  881    803   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com");
  882    804   
        assert_eq!(
  883    805   
            endpoint,
  884    806   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  885    807   
                .url("https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com")
  886         -
                .property(
  887         -
                    "authSchemes",
  888         -
                    vec![{
  889         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  890         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  891         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  892         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
  893         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  894         -
                        out
  895         -
                    }
  896         -
                    .into()]
         808  +
                .auth_scheme(
         809  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         810  +
                        .put("disableDoubleEncoding", true)
         811  +
                        .put("signingName", "s3".to_string())
         812  +
                        .put("signingRegion", "us-west-2".to_string())
  897    813   
                )
  898    814   
                .build()
  899    815   
        );
  900    816   
    }
  901    817   
  902    818   
    /// subdomains are not allowed in virtual buckets
  903    819   
    #[test]
  904    820   
    fn test_35() {
  905    821   
        let params = crate::config::endpoint::Params::builder()
  906    822   
            .bucket("bucket.name".to_string())
  907    823   
            .region("us-east-1".to_string())
  908    824   
            .build()
  909    825   
            .expect("invalid params");
  910    826   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  911    827   
        let endpoint = resolver.resolve_endpoint(&params);
  912    828   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-east-1.amazonaws.com/bucket.name");
  913    829   
        assert_eq!(
  914    830   
            endpoint,
  915    831   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  916    832   
                .url("https://s3.us-east-1.amazonaws.com/bucket.name")
  917         -
                .property(
  918         -
                    "authSchemes",
  919         -
                    vec![{
  920         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  921         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  922         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  923         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  924         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
  925         -
                        out
  926         -
                    }
  927         -
                    .into()]
         833  +
                .auth_scheme(
         834  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         835  +
                        .put("disableDoubleEncoding", true)
         836  +
                        .put("signingName", "s3".to_string())
         837  +
                        .put("signingRegion", "us-east-1".to_string())
  928    838   
                )
  929    839   
                .build()
  930    840   
        );
  931    841   
    }
  932    842   
  933    843   
    /// bucket names with 3 characters are allowed in virtual buckets
  934    844   
    #[test]
  935    845   
    fn test_36() {
  936    846   
        let params = crate::config::endpoint::Params::builder()
  937    847   
            .bucket("aaa".to_string())
  938    848   
            .region("us-east-1".to_string())
  939    849   
            .build()
  940    850   
            .expect("invalid params");
  941    851   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  942    852   
        let endpoint = resolver.resolve_endpoint(&params);
  943    853   
        let endpoint = endpoint.expect("Expected valid endpoint: https://aaa.s3.us-east-1.amazonaws.com");
  944    854   
        assert_eq!(
  945    855   
            endpoint,
  946    856   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  947    857   
                .url("https://aaa.s3.us-east-1.amazonaws.com")
  948         -
                .property(
  949         -
                    "authSchemes",
  950         -
                    vec![{
  951         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  952         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  953         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  954         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  955         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
  956         -
                        out
  957         -
                    }
  958         -
                    .into()]
         858  +
                .auth_scheme(
         859  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         860  +
                        .put("disableDoubleEncoding", true)
         861  +
                        .put("signingName", "s3".to_string())
         862  +
                        .put("signingRegion", "us-east-1".to_string())
  959    863   
                )
  960    864   
                .build()
  961    865   
        );
  962    866   
    }
  963    867   
  964    868   
    /// bucket names with fewer than 3 characters are not allowed in virtual host
  965    869   
    #[test]
  966    870   
    fn test_37() {
  967    871   
        let params = crate::config::endpoint::Params::builder()
  968    872   
            .bucket("aa".to_string())
  969    873   
            .region("us-east-1".to_string())
  970    874   
            .build()
  971    875   
            .expect("invalid params");
  972    876   
        let resolver = crate::config::endpoint::DefaultResolver::new();
  973    877   
        let endpoint = resolver.resolve_endpoint(&params);
  974    878   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-east-1.amazonaws.com/aa");
  975    879   
        assert_eq!(
  976    880   
            endpoint,
  977    881   
            ::aws_smithy_types::endpoint::Endpoint::builder()
  978    882   
                .url("https://s3.us-east-1.amazonaws.com/aa")
  979         -
                .property(
  980         -
                    "authSchemes",
  981         -
                    vec![{
  982         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
  983         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
  984         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
  985         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
  986         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
  987         -
                        out
  988         -
                    }
  989         -
                    .into()]
         883  +
                .auth_scheme(
         884  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         885  +
                        .put("disableDoubleEncoding", true)
         886  +
                        .put("signingName", "s3".to_string())
         887  +
                        .put("signingRegion", "us-east-1".to_string())
  990    888   
                )
  991    889   
                .build()
  992    890   
        );
  993    891   
    }
  994    892   
  995    893   
    /// bucket names with uppercase characters are not allowed in virtual host
  996    894   
    #[test]
  997    895   
    fn test_38() {
  998    896   
        let params = crate::config::endpoint::Params::builder()
  999    897   
            .bucket("BucketName".to_string())
 1000    898   
            .region("us-east-1".to_string())
 1001    899   
            .build()
 1002    900   
            .expect("invalid params");
 1003    901   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1004    902   
        let endpoint = resolver.resolve_endpoint(&params);
 1005    903   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-east-1.amazonaws.com/BucketName");
 1006    904   
        assert_eq!(
 1007    905   
            endpoint,
 1008    906   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1009    907   
                .url("https://s3.us-east-1.amazonaws.com/BucketName")
 1010         -
                .property(
 1011         -
                    "authSchemes",
 1012         -
                    vec![{
 1013         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1014         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1015         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1016         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1017         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1018         -
                        out
 1019         -
                    }
 1020         -
                    .into()]
         908  +
                .auth_scheme(
         909  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         910  +
                        .put("disableDoubleEncoding", true)
         911  +
                        .put("signingName", "s3".to_string())
         912  +
                        .put("signingRegion", "us-east-1".to_string())
 1021    913   
                )
 1022    914   
                .build()
 1023    915   
        );
 1024    916   
    }
 1025    917   
 1026    918   
    /// subdomains are allowed in virtual buckets on http endpoints
 1027    919   
    #[test]
 1028    920   
    fn test_39() {
 1029    921   
        let params = crate::config::endpoint::Params::builder()
 1030    922   
            .bucket("bucket.name".to_string())
 1031    923   
            .region("us-east-1".to_string())
 1032    924   
            .endpoint("http://example.com".to_string())
 1033    925   
            .build()
 1034    926   
            .expect("invalid params");
 1035    927   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1036    928   
        let endpoint = resolver.resolve_endpoint(&params);
 1037    929   
        let endpoint = endpoint.expect("Expected valid endpoint: http://bucket.name.example.com");
 1038    930   
        assert_eq!(
 1039    931   
            endpoint,
 1040    932   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1041    933   
                .url("http://bucket.name.example.com")
 1042         -
                .property(
 1043         -
                    "authSchemes",
 1044         -
                    vec![{
 1045         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1046         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1047         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1048         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1049         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1050         -
                        out
 1051         -
                    }
 1052         -
                    .into()]
         934  +
                .auth_scheme(
         935  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         936  +
                        .put("disableDoubleEncoding", true)
         937  +
                        .put("signingName", "s3".to_string())
         938  +
                        .put("signingRegion", "us-east-1".to_string())
 1053    939   
                )
 1054    940   
                .build()
 1055    941   
        );
 1056    942   
    }
 1057    943   
 1058    944   
    /// no region set
 1059    945   
    #[test]
 1060    946   
    fn test_40() {
 1061    947   
        let params = crate::config::endpoint::Params::builder()
 1062    948   
            .bucket("bucket-name".to_string())
 1063    949   
            .build()
 1064    950   
            .expect("invalid params");
 1065    951   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1066    952   
        let endpoint = resolver.resolve_endpoint(&params);
 1067    953   
        let error = endpoint.expect_err("expected error: A region must be set when sending requests to S3. [no region set]");
 1068    954   
        assert_eq!(format!("{}", error), "A region must be set when sending requests to S3.")
 1069    955   
    }
 1070    956   
 1071    957   
    /// UseGlobalEndpoints=true, region=us-east-1 uses the global endpoint
 1072    958   
    #[test]
 1073    959   
    fn test_41() {
 1074    960   
        let params = crate::config::endpoint::Params::builder()
 1075    961   
            .region("us-east-1".to_string())
 1076    962   
            .use_global_endpoint(true)
 1077    963   
            .use_fips(false)
 1078    964   
            .use_dual_stack(false)
 1079    965   
            .accelerate(false)
 1080    966   
            .build()
 1081    967   
            .expect("invalid params");
 1082    968   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1083    969   
        let endpoint = resolver.resolve_endpoint(&params);
 1084    970   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com");
 1085    971   
        assert_eq!(
 1086    972   
            endpoint,
 1087    973   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1088    974   
                .url("https://s3.amazonaws.com")
 1089         -
                .property(
 1090         -
                    "authSchemes",
 1091         -
                    vec![{
 1092         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1093         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1094         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1095         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1096         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1097         -
                        out
 1098         -
                    }
 1099         -
                    .into()]
         975  +
                .auth_scheme(
         976  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
         977  +
                        .put("disableDoubleEncoding", true)
         978  +
                        .put("signingName", "s3".to_string())
         979  +
                        .put("signingRegion", "us-east-1".to_string())
 1100    980   
                )
 1101    981   
                .build()
 1102    982   
        );
 1103    983   
    }
 1104    984   
 1105    985   
    /// UseGlobalEndpoints=true, region=us-west-2 uses the regional endpoint
 1106    986   
    #[test]
 1107    987   
    fn test_42() {
 1108    988   
        let params = crate::config::endpoint::Params::builder()
 1109    989   
            .region("us-west-2".to_string())
 1110    990   
            .use_global_endpoint(true)
 1111    991   
            .use_fips(false)
 1112    992   
            .use_dual_stack(false)
 1113    993   
            .accelerate(false)
 1114    994   
            .build()
 1115    995   
            .expect("invalid params");
 1116    996   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1117    997   
        let endpoint = resolver.resolve_endpoint(&params);
 1118    998   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com");
 1119    999   
        assert_eq!(
 1120   1000   
            endpoint,
 1121   1001   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1122   1002   
                .url("https://s3.us-west-2.amazonaws.com")
 1123         -
                .property(
 1124         -
                    "authSchemes",
 1125         -
                    vec![{
 1126         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1127         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1128         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1129         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 1130         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1131         -
                        out
 1132         -
                    }
 1133         -
                    .into()]
        1003  +
                .auth_scheme(
        1004  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1005  +
                        .put("disableDoubleEncoding", true)
        1006  +
                        .put("signingName", "s3".to_string())
        1007  +
                        .put("signingRegion", "us-west-2".to_string())
 1134   1008   
                )
 1135   1009   
                .build()
 1136   1010   
        );
 1137   1011   
    }
 1138   1012   
 1139   1013   
    /// UseGlobalEndpoints=true, region=cn-north-1 uses the regional endpoint
 1140   1014   
    #[test]
 1141   1015   
    fn test_43() {
 1142   1016   
        let params = crate::config::endpoint::Params::builder()
 1143   1017   
            .region("cn-north-1".to_string())
 1144   1018   
            .use_global_endpoint(true)
 1145   1019   
            .use_fips(false)
 1146   1020   
            .use_dual_stack(false)
 1147   1021   
            .accelerate(false)
 1148   1022   
            .build()
 1149   1023   
            .expect("invalid params");
 1150   1024   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1151   1025   
        let endpoint = resolver.resolve_endpoint(&params);
 1152   1026   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.cn-north-1.amazonaws.com.cn");
 1153   1027   
        assert_eq!(
 1154   1028   
            endpoint,
 1155   1029   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1156   1030   
                .url("https://s3.cn-north-1.amazonaws.com.cn")
 1157         -
                .property(
 1158         -
                    "authSchemes",
 1159         -
                    vec![{
 1160         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1161         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1162         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1163         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 1164         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1165         -
                        out
 1166         -
                    }
 1167         -
                    .into()]
        1031  +
                .auth_scheme(
        1032  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1033  +
                        .put("disableDoubleEncoding", true)
        1034  +
                        .put("signingName", "s3".to_string())
        1035  +
                        .put("signingRegion", "cn-north-1".to_string())
 1168   1036   
                )
 1169   1037   
                .build()
 1170   1038   
        );
 1171   1039   
    }
 1172   1040   
 1173   1041   
    /// UseGlobalEndpoints=true, region=us-east-1, fips=true uses the regional endpoint with fips
 1174   1042   
    #[test]
 1175   1043   
    fn test_44() {
 1176   1044   
        let params = crate::config::endpoint::Params::builder()
 1177   1045   
            .region("us-east-1".to_string())
 1178   1046   
            .use_global_endpoint(true)
 1179   1047   
            .use_fips(true)
 1180   1048   
            .use_dual_stack(false)
 1181   1049   
            .accelerate(false)
 1182   1050   
            .build()
 1183   1051   
            .expect("invalid params");
 1184   1052   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1185   1053   
        let endpoint = resolver.resolve_endpoint(&params);
 1186   1054   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com");
 1187   1055   
        assert_eq!(
 1188   1056   
            endpoint,
 1189   1057   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1190   1058   
                .url("https://s3-fips.us-east-1.amazonaws.com")
 1191         -
                .property(
 1192         -
                    "authSchemes",
 1193         -
                    vec![{
 1194         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1195         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1196         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1197         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1198         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1199         -
                        out
 1200         -
                    }
 1201         -
                    .into()]
        1059  +
                .auth_scheme(
        1060  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1061  +
                        .put("disableDoubleEncoding", true)
        1062  +
                        .put("signingName", "s3".to_string())
        1063  +
                        .put("signingRegion", "us-east-1".to_string())
 1202   1064   
                )
 1203   1065   
                .build()
 1204   1066   
        );
 1205   1067   
    }
 1206   1068   
 1207   1069   
    /// UseGlobalEndpoints=true, region=us-east-1, dualstack=true uses the regional endpoint with dualstack
 1208   1070   
    #[test]
 1209   1071   
    fn test_45() {
 1210   1072   
        let params = crate::config::endpoint::Params::builder()
 1211   1073   
            .region("us-east-1".to_string())
 1212   1074   
            .use_global_endpoint(true)
 1213   1075   
            .use_fips(false)
 1214   1076   
            .use_dual_stack(true)
 1215   1077   
            .accelerate(false)
 1216   1078   
            .build()
 1217   1079   
            .expect("invalid params");
 1218   1080   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1219   1081   
        let endpoint = resolver.resolve_endpoint(&params);
 1220   1082   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com");
 1221   1083   
        assert_eq!(
 1222   1084   
            endpoint,
 1223   1085   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1224   1086   
                .url("https://s3.dualstack.us-east-1.amazonaws.com")
 1225         -
                .property(
 1226         -
                    "authSchemes",
 1227         -
                    vec![{
 1228         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1229         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1230         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1231         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1232         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1233         -
                        out
 1234         -
                    }
 1235         -
                    .into()]
        1087  +
                .auth_scheme(
        1088  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1089  +
                        .put("disableDoubleEncoding", true)
        1090  +
                        .put("signingName", "s3".to_string())
        1091  +
                        .put("signingRegion", "us-east-1".to_string())
 1236   1092   
                )
 1237   1093   
                .build()
 1238   1094   
        );
 1239   1095   
    }
 1240   1096   
 1241   1097   
    /// UseGlobalEndpoints=true, region=us-east-1, dualstack and fips uses the regional endpoint with fips/dualstack
 1242   1098   
    #[test]
 1243   1099   
    fn test_46() {
 1244   1100   
        let params = crate::config::endpoint::Params::builder()
 1245   1101   
            .region("us-east-1".to_string())
 1246   1102   
            .use_global_endpoint(true)
 1247   1103   
            .use_fips(true)
 1248   1104   
            .use_dual_stack(true)
 1249   1105   
            .accelerate(false)
 1250   1106   
            .build()
 1251   1107   
            .expect("invalid params");
 1252   1108   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1253   1109   
        let endpoint = resolver.resolve_endpoint(&params);
 1254   1110   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com");
 1255   1111   
        assert_eq!(
 1256   1112   
            endpoint,
 1257   1113   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1258   1114   
                .url("https://s3-fips.dualstack.us-east-1.amazonaws.com")
 1259         -
                .property(
 1260         -
                    "authSchemes",
 1261         -
                    vec![{
 1262         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1263         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1264         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1265         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1266         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1267         -
                        out
 1268         -
                    }
 1269         -
                    .into()]
        1115  +
                .auth_scheme(
        1116  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1117  +
                        .put("disableDoubleEncoding", true)
        1118  +
                        .put("signingName", "s3".to_string())
        1119  +
                        .put("signingRegion", "us-east-1".to_string())
 1270   1120   
                )
 1271   1121   
                .build()
 1272   1122   
        );
 1273   1123   
    }
 1274   1124   
 1275   1125   
    /// UseGlobalEndpoints=true, region=us-east-1 with custom endpoint, uses custom
 1276   1126   
    #[test]
 1277   1127   
    fn test_47() {
 1278   1128   
        let params = crate::config::endpoint::Params::builder()
 1279   1129   
            .region("us-east-1".to_string())
 1280   1130   
            .endpoint("https://example.com".to_string())
 1281   1131   
            .use_global_endpoint(true)
 1282   1132   
            .use_fips(false)
 1283   1133   
            .use_dual_stack(false)
 1284   1134   
            .accelerate(false)
 1285   1135   
            .build()
 1286   1136   
            .expect("invalid params");
 1287   1137   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1288   1138   
        let endpoint = resolver.resolve_endpoint(&params);
 1289   1139   
        let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
 1290   1140   
        assert_eq!(
 1291   1141   
            endpoint,
 1292   1142   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1293   1143   
                .url("https://example.com")
 1294         -
                .property(
 1295         -
                    "authSchemes",
 1296         -
                    vec![{
 1297         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1298         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1299         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1300         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1301         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1302         -
                        out
 1303         -
                    }
 1304         -
                    .into()]
        1144  +
                .auth_scheme(
        1145  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1146  +
                        .put("disableDoubleEncoding", true)
        1147  +
                        .put("signingName", "s3".to_string())
        1148  +
                        .put("signingRegion", "us-east-1".to_string())
 1305   1149   
                )
 1306   1150   
                .build()
 1307   1151   
        );
 1308   1152   
    }
 1309   1153   
 1310   1154   
    /// UseGlobalEndpoints=true, region=us-west-2 with custom endpoint, uses custom
 1311   1155   
    #[test]
 1312   1156   
    fn test_48() {
 1313   1157   
        let params = crate::config::endpoint::Params::builder()
 1314   1158   
            .region("us-west-2".to_string())
 1315   1159   
            .endpoint("https://example.com".to_string())
 1316   1160   
            .use_global_endpoint(true)
 1317   1161   
            .use_fips(false)
 1318   1162   
            .use_dual_stack(false)
 1319   1163   
            .accelerate(false)
 1320   1164   
            .build()
 1321   1165   
            .expect("invalid params");
 1322   1166   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1323   1167   
        let endpoint = resolver.resolve_endpoint(&params);
 1324   1168   
        let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
 1325   1169   
        assert_eq!(
 1326   1170   
            endpoint,
 1327   1171   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1328   1172   
                .url("https://example.com")
 1329         -
                .property(
 1330         -
                    "authSchemes",
 1331         -
                    vec![{
 1332         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1333         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1334         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1335         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 1336         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1337         -
                        out
 1338         -
                    }
 1339         -
                    .into()]
        1173  +
                .auth_scheme(
        1174  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1175  +
                        .put("disableDoubleEncoding", true)
        1176  +
                        .put("signingName", "s3".to_string())
        1177  +
                        .put("signingRegion", "us-west-2".to_string())
 1340   1178   
                )
 1341   1179   
                .build()
 1342   1180   
        );
 1343   1181   
    }
 1344   1182   
 1345   1183   
    /// UseGlobalEndpoints=true, region=us-east-1 with accelerate on non bucket case uses the global endpoint and ignores accelerate
 1346   1184   
    #[test]
 1347   1185   
    fn test_49() {
 1348   1186   
        let params = crate::config::endpoint::Params::builder()
 1349   1187   
            .region("us-east-1".to_string())
 1350   1188   
            .use_global_endpoint(true)
 1351   1189   
            .use_fips(false)
 1352   1190   
            .use_dual_stack(false)
 1353   1191   
            .accelerate(true)
 1354   1192   
            .build()
 1355   1193   
            .expect("invalid params");
 1356   1194   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1357   1195   
        let endpoint = resolver.resolve_endpoint(&params);
 1358   1196   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com");
 1359   1197   
        assert_eq!(
 1360   1198   
            endpoint,
 1361   1199   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1362   1200   
                .url("https://s3.amazonaws.com")
 1363         -
                .property(
 1364         -
                    "authSchemes",
 1365         -
                    vec![{
 1366         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1367         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1368         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1369         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1370         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1371         -
                        out
 1372         -
                    }
 1373         -
                    .into()]
        1201  +
                .auth_scheme(
        1202  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1203  +
                        .put("disableDoubleEncoding", true)
        1204  +
                        .put("signingName", "s3".to_string())
        1205  +
                        .put("signingRegion", "us-east-1".to_string())
 1374   1206   
                )
 1375   1207   
                .build()
 1376   1208   
        );
 1377   1209   
    }
 1378   1210   
 1379   1211   
    /// aws-global region uses the global endpoint
 1380   1212   
    #[test]
 1381   1213   
    fn test_50() {
 1382   1214   
        let params = crate::config::endpoint::Params::builder()
 1383   1215   
            .region("aws-global".to_string())
 1384   1216   
            .use_fips(false)
 1385   1217   
            .use_dual_stack(false)
 1386   1218   
            .accelerate(false)
 1387   1219   
            .build()
 1388   1220   
            .expect("invalid params");
 1389   1221   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1390   1222   
        let endpoint = resolver.resolve_endpoint(&params);
 1391   1223   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com");
 1392   1224   
        assert_eq!(
 1393   1225   
            endpoint,
 1394   1226   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1395   1227   
                .url("https://s3.amazonaws.com")
 1396         -
                .property(
 1397         -
                    "authSchemes",
 1398         -
                    vec![{
 1399         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1400         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1401         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1402         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1403         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1404         -
                        out
 1405         -
                    }
 1406         -
                    .into()]
        1228  +
                .auth_scheme(
        1229  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1230  +
                        .put("disableDoubleEncoding", true)
        1231  +
                        .put("signingName", "s3".to_string())
        1232  +
                        .put("signingRegion", "us-east-1".to_string())
 1407   1233   
                )
 1408   1234   
                .build()
 1409   1235   
        );
 1410   1236   
    }
 1411   1237   
 1412   1238   
    /// aws-global region with fips uses the regional endpoint
 1413   1239   
    #[test]
 1414   1240   
    fn test_51() {
 1415   1241   
        let params = crate::config::endpoint::Params::builder()
 1416   1242   
            .region("aws-global".to_string())
 1417   1243   
            .use_fips(true)
 1418   1244   
            .use_dual_stack(false)
 1419   1245   
            .accelerate(false)
 1420   1246   
            .build()
 1421   1247   
            .expect("invalid params");
 1422   1248   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1423   1249   
        let endpoint = resolver.resolve_endpoint(&params);
 1424   1250   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com");
 1425   1251   
        assert_eq!(
 1426   1252   
            endpoint,
 1427   1253   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1428   1254   
                .url("https://s3-fips.us-east-1.amazonaws.com")
 1429         -
                .property(
 1430         -
                    "authSchemes",
 1431         -
                    vec![{
 1432         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1433         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1434         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1435         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1436         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1437         -
                        out
 1438         -
                    }
 1439         -
                    .into()]
        1255  +
                .auth_scheme(
        1256  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1257  +
                        .put("disableDoubleEncoding", true)
        1258  +
                        .put("signingName", "s3".to_string())
        1259  +
                        .put("signingRegion", "us-east-1".to_string())
 1440   1260   
                )
 1441   1261   
                .build()
 1442   1262   
        );
 1443   1263   
    }
 1444   1264   
 1445   1265   
    /// aws-global region with dualstack uses the regional endpoint
 1446   1266   
    #[test]
 1447   1267   
    fn test_52() {
 1448   1268   
        let params = crate::config::endpoint::Params::builder()
 1449   1269   
            .region("aws-global".to_string())
 1450   1270   
            .use_fips(false)
 1451   1271   
            .use_dual_stack(true)
 1452   1272   
            .accelerate(false)
 1453   1273   
            .build()
 1454   1274   
            .expect("invalid params");
 1455   1275   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1456   1276   
        let endpoint = resolver.resolve_endpoint(&params);
 1457   1277   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com");
 1458   1278   
        assert_eq!(
 1459   1279   
            endpoint,
 1460   1280   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1461   1281   
                .url("https://s3.dualstack.us-east-1.amazonaws.com")
 1462         -
                .property(
 1463         -
                    "authSchemes",
 1464         -
                    vec![{
 1465         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1466         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1467         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1468         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1469         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1470         -
                        out
 1471         -
                    }
 1472         -
                    .into()]
        1282  +
                .auth_scheme(
        1283  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1284  +
                        .put("disableDoubleEncoding", true)
        1285  +
                        .put("signingName", "s3".to_string())
        1286  +
                        .put("signingRegion", "us-east-1".to_string())
 1473   1287   
                )
 1474   1288   
                .build()
 1475   1289   
        );
 1476   1290   
    }
 1477   1291   
 1478   1292   
    /// aws-global region with fips and dualstack uses the regional endpoint
 1479   1293   
    #[test]
 1480   1294   
    fn test_53() {
 1481   1295   
        let params = crate::config::endpoint::Params::builder()
 1482   1296   
            .region("aws-global".to_string())
 1483   1297   
            .use_fips(true)
 1484   1298   
            .use_dual_stack(true)
 1485   1299   
            .accelerate(false)
 1486   1300   
            .build()
 1487   1301   
            .expect("invalid params");
 1488   1302   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1489   1303   
        let endpoint = resolver.resolve_endpoint(&params);
 1490   1304   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com");
 1491   1305   
        assert_eq!(
 1492   1306   
            endpoint,
 1493   1307   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1494   1308   
                .url("https://s3-fips.dualstack.us-east-1.amazonaws.com")
 1495         -
                .property(
 1496         -
                    "authSchemes",
 1497         -
                    vec![{
 1498         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1499         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1500         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1501         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1502         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1503         -
                        out
 1504         -
                    }
 1505         -
                    .into()]
        1309  +
                .auth_scheme(
        1310  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1311  +
                        .put("disableDoubleEncoding", true)
        1312  +
                        .put("signingName", "s3".to_string())
        1313  +
                        .put("signingRegion", "us-east-1".to_string())
 1506   1314   
                )
 1507   1315   
                .build()
 1508   1316   
        );
 1509   1317   
    }
 1510   1318   
 1511   1319   
    /// aws-global region with accelerate on non-bucket case, uses global endpoint and ignores accelerate
 1512   1320   
    #[test]
 1513   1321   
    fn test_54() {
 1514   1322   
        let params = crate::config::endpoint::Params::builder()
 1515   1323   
            .region("aws-global".to_string())
 1516   1324   
            .use_fips(false)
 1517   1325   
            .use_dual_stack(false)
 1518   1326   
            .accelerate(true)
 1519   1327   
            .build()
 1520   1328   
            .expect("invalid params");
 1521   1329   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1522   1330   
        let endpoint = resolver.resolve_endpoint(&params);
 1523   1331   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com");
 1524   1332   
        assert_eq!(
 1525   1333   
            endpoint,
 1526   1334   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1527   1335   
                .url("https://s3.amazonaws.com")
 1528         -
                .property(
 1529         -
                    "authSchemes",
 1530         -
                    vec![{
 1531         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1532         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1533         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1534         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1535         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1536         -
                        out
 1537         -
                    }
 1538         -
                    .into()]
        1336  +
                .auth_scheme(
        1337  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1338  +
                        .put("disableDoubleEncoding", true)
        1339  +
                        .put("signingName", "s3".to_string())
        1340  +
                        .put("signingRegion", "us-east-1".to_string())
 1539   1341   
                )
 1540   1342   
                .build()
 1541   1343   
        );
 1542   1344   
    }
 1543   1345   
 1544   1346   
    /// aws-global region with custom endpoint, uses custom
 1545   1347   
    #[test]
 1546   1348   
    fn test_55() {
 1547   1349   
        let params = crate::config::endpoint::Params::builder()
 1548   1350   
            .region("aws-global".to_string())
 1549   1351   
            .endpoint("https://example.com".to_string())
 1550   1352   
            .use_global_endpoint(false)
 1551   1353   
            .use_fips(false)
 1552   1354   
            .use_dual_stack(false)
 1553   1355   
            .accelerate(false)
 1554   1356   
            .build()
 1555   1357   
            .expect("invalid params");
 1556   1358   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1557   1359   
        let endpoint = resolver.resolve_endpoint(&params);
 1558   1360   
        let endpoint = endpoint.expect("Expected valid endpoint: https://example.com");
 1559   1361   
        assert_eq!(
 1560   1362   
            endpoint,
 1561   1363   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1562   1364   
                .url("https://example.com")
 1563         -
                .property(
 1564         -
                    "authSchemes",
 1565         -
                    vec![{
 1566         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1567         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1568         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1569         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1570         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1571         -
                        out
 1572         -
                    }
 1573         -
                    .into()]
        1365  +
                .auth_scheme(
        1366  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1367  +
                        .put("disableDoubleEncoding", true)
        1368  +
                        .put("signingName", "s3".to_string())
        1369  +
                        .put("signingRegion", "us-east-1".to_string())
 1574   1370   
                )
 1575   1371   
                .build()
 1576   1372   
        );
 1577   1373   
    }
 1578   1374   
 1579   1375   
    /// virtual addressing, aws-global region uses the global endpoint
 1580   1376   
    #[test]
 1581   1377   
    fn test_56() {
 1582   1378   
        let params = crate::config::endpoint::Params::builder()
 1583   1379   
            .region("aws-global".to_string())
 1584   1380   
            .bucket("bucket-name".to_string())
 1585   1381   
            .use_fips(false)
 1586   1382   
            .use_dual_stack(false)
 1587   1383   
            .accelerate(false)
 1588   1384   
            .build()
 1589   1385   
            .expect("invalid params");
 1590   1386   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1591   1387   
        let endpoint = resolver.resolve_endpoint(&params);
 1592   1388   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.amazonaws.com");
 1593   1389   
        assert_eq!(
 1594   1390   
            endpoint,
 1595   1391   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1596   1392   
                .url("https://bucket-name.s3.amazonaws.com")
 1597         -
                .property(
 1598         -
                    "authSchemes",
 1599         -
                    vec![{
 1600         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1601         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1602         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1603         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1604         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1605         -
                        out
 1606         -
                    }
 1607         -
                    .into()]
        1393  +
                .auth_scheme(
        1394  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1395  +
                        .put("disableDoubleEncoding", true)
        1396  +
                        .put("signingName", "s3".to_string())
        1397  +
                        .put("signingRegion", "us-east-1".to_string())
 1608   1398   
                )
 1609   1399   
                .build()
 1610   1400   
        );
 1611   1401   
    }
 1612   1402   
 1613   1403   
    /// virtual addressing, aws-global region with Prefix, and Key uses the global endpoint. Prefix and Key parameters should not be used in endpoint evaluation.
 1614   1404   
    #[test]
 1615   1405   
    fn test_57() {
 1616   1406   
        let params = crate::config::endpoint::Params::builder()
 1617   1407   
            .region("aws-global".to_string())
 1618   1408   
            .bucket("bucket-name".to_string())
 1619   1409   
            .use_fips(false)
 1620   1410   
            .use_dual_stack(false)
 1621   1411   
            .accelerate(false)
 1622   1412   
            .prefix("prefix".to_string())
 1623   1413   
            .key("key".to_string())
 1624   1414   
            .build()
 1625   1415   
            .expect("invalid params");
 1626   1416   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1627   1417   
        let endpoint = resolver.resolve_endpoint(&params);
 1628   1418   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.amazonaws.com");
 1629   1419   
        assert_eq!(
 1630   1420   
            endpoint,
 1631   1421   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1632   1422   
                .url("https://bucket-name.s3.amazonaws.com")
 1633         -
                .property(
 1634         -
                    "authSchemes",
 1635         -
                    vec![{
 1636         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1637         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1638         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1639         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1640         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1641         -
                        out
 1642         -
                    }
 1643         -
                    .into()]
        1423  +
                .auth_scheme(
        1424  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1425  +
                        .put("disableDoubleEncoding", true)
        1426  +
                        .put("signingName", "s3".to_string())
        1427  +
                        .put("signingRegion", "us-east-1".to_string())
 1644   1428   
                )
 1645   1429   
                .build()
 1646   1430   
        );
 1647   1431   
    }
 1648   1432   
 1649   1433   
    /// 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.
 1650   1434   
    #[test]
 1651   1435   
    fn test_58() {
 1652   1436   
        let params = crate::config::endpoint::Params::builder()
 1653   1437   
            .region("aws-global".to_string())
 1654   1438   
            .bucket("bucket-name".to_string())
 1655   1439   
            .use_fips(false)
 1656   1440   
            .use_dual_stack(false)
 1657   1441   
            .accelerate(false)
 1658   1442   
            .copy_source("/copy/source".to_string())
 1659   1443   
            .key("key".to_string())
 1660   1444   
            .build()
 1661   1445   
            .expect("invalid params");
 1662   1446   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1663   1447   
        let endpoint = resolver.resolve_endpoint(&params);
 1664   1448   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.amazonaws.com");
 1665   1449   
        assert_eq!(
 1666   1450   
            endpoint,
 1667   1451   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1668   1452   
                .url("https://bucket-name.s3.amazonaws.com")
 1669         -
                .property(
 1670         -
                    "authSchemes",
 1671         -
                    vec![{
 1672         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1673         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1674         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1675         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1676         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1677         -
                        out
 1678         -
                    }
 1679         -
                    .into()]
        1453  +
                .auth_scheme(
        1454  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1455  +
                        .put("disableDoubleEncoding", true)
        1456  +
                        .put("signingName", "s3".to_string())
        1457  +
                        .put("signingRegion", "us-east-1".to_string())
 1680   1458   
                )
 1681   1459   
                .build()
 1682   1460   
        );
 1683   1461   
    }
 1684   1462   
 1685   1463   
    /// virtual addressing, aws-global region with fips uses the regional fips endpoint
 1686   1464   
    #[test]
 1687   1465   
    fn test_59() {
 1688   1466   
        let params = crate::config::endpoint::Params::builder()
 1689   1467   
            .region("aws-global".to_string())
 1690   1468   
            .bucket("bucket-name".to_string())
 1691   1469   
            .use_fips(true)
 1692   1470   
            .use_dual_stack(false)
 1693   1471   
            .accelerate(false)
 1694   1472   
            .build()
 1695   1473   
            .expect("invalid params");
 1696   1474   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1697   1475   
        let endpoint = resolver.resolve_endpoint(&params);
 1698   1476   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.us-east-1.amazonaws.com");
 1699   1477   
        assert_eq!(
 1700   1478   
            endpoint,
 1701   1479   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1702   1480   
                .url("https://bucket-name.s3-fips.us-east-1.amazonaws.com")
 1703         -
                .property(
 1704         -
                    "authSchemes",
 1705         -
                    vec![{
 1706         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1707         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1708         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1709         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1710         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1711         -
                        out
 1712         -
                    }
 1713         -
                    .into()]
        1481  +
                .auth_scheme(
        1482  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1483  +
                        .put("disableDoubleEncoding", true)
        1484  +
                        .put("signingName", "s3".to_string())
        1485  +
                        .put("signingRegion", "us-east-1".to_string())
 1714   1486   
                )
 1715   1487   
                .build()
 1716   1488   
        );
 1717   1489   
    }
 1718   1490   
 1719   1491   
    /// virtual addressing, aws-global region with dualstack uses the regional dualstack endpoint
 1720   1492   
    #[test]
 1721   1493   
    fn test_60() {
 1722   1494   
        let params = crate::config::endpoint::Params::builder()
 1723   1495   
            .region("aws-global".to_string())
 1724   1496   
            .bucket("bucket-name".to_string())
 1725   1497   
            .use_fips(false)
 1726   1498   
            .use_dual_stack(true)
 1727   1499   
            .accelerate(false)
 1728   1500   
            .build()
 1729   1501   
            .expect("invalid params");
 1730   1502   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1731   1503   
        let endpoint = resolver.resolve_endpoint(&params);
 1732   1504   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.dualstack.us-east-1.amazonaws.com");
 1733   1505   
        assert_eq!(
 1734   1506   
            endpoint,
 1735   1507   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1736   1508   
                .url("https://bucket-name.s3.dualstack.us-east-1.amazonaws.com")
 1737         -
                .property(
 1738         -
                    "authSchemes",
 1739         -
                    vec![{
 1740         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1741         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1742         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1743         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1744         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1745         -
                        out
 1746         -
                    }
 1747         -
                    .into()]
        1509  +
                .auth_scheme(
        1510  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1511  +
                        .put("disableDoubleEncoding", true)
        1512  +
                        .put("signingName", "s3".to_string())
        1513  +
                        .put("signingRegion", "us-east-1".to_string())
 1748   1514   
                )
 1749   1515   
                .build()
 1750   1516   
        );
 1751   1517   
    }
 1752   1518   
 1753   1519   
    /// virtual addressing, aws-global region with fips/dualstack uses the regional fips/dualstack endpoint
 1754   1520   
    #[test]
 1755   1521   
    fn test_61() {
 1756   1522   
        let params = crate::config::endpoint::Params::builder()
 1757   1523   
            .region("aws-global".to_string())
 1758   1524   
            .bucket("bucket-name".to_string())
 1759   1525   
            .use_fips(true)
 1760   1526   
            .use_dual_stack(true)
 1761   1527   
            .accelerate(false)
 1762   1528   
            .build()
 1763   1529   
            .expect("invalid params");
 1764   1530   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1765   1531   
        let endpoint = resolver.resolve_endpoint(&params);
 1766   1532   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.dualstack.us-east-1.amazonaws.com");
 1767   1533   
        assert_eq!(
 1768   1534   
            endpoint,
 1769   1535   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1770   1536   
                .url("https://bucket-name.s3-fips.dualstack.us-east-1.amazonaws.com")
 1771         -
                .property(
 1772         -
                    "authSchemes",
 1773         -
                    vec![{
 1774         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1775         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1776         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1777         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1778         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1779         -
                        out
 1780         -
                    }
 1781         -
                    .into()]
        1537  +
                .auth_scheme(
        1538  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1539  +
                        .put("disableDoubleEncoding", true)
        1540  +
                        .put("signingName", "s3".to_string())
        1541  +
                        .put("signingRegion", "us-east-1".to_string())
 1782   1542   
                )
 1783   1543   
                .build()
 1784   1544   
        );
 1785   1545   
    }
 1786   1546   
 1787   1547   
    /// virtual addressing, aws-global region with accelerate uses the global accelerate endpoint
 1788   1548   
    #[test]
 1789   1549   
    fn test_62() {
 1790   1550   
        let params = crate::config::endpoint::Params::builder()
 1791   1551   
            .region("aws-global".to_string())
 1792   1552   
            .bucket("bucket-name".to_string())
 1793   1553   
            .use_fips(false)
 1794   1554   
            .use_dual_stack(false)
 1795   1555   
            .accelerate(true)
 1796   1556   
            .build()
 1797   1557   
            .expect("invalid params");
 1798   1558   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1799   1559   
        let endpoint = resolver.resolve_endpoint(&params);
 1800   1560   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.amazonaws.com");
 1801   1561   
        assert_eq!(
 1802   1562   
            endpoint,
 1803   1563   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1804   1564   
                .url("https://bucket-name.s3-accelerate.amazonaws.com")
 1805         -
                .property(
 1806         -
                    "authSchemes",
 1807         -
                    vec![{
 1808         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1809         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1810         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1811         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1812         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1813         -
                        out
 1814         -
                    }
 1815         -
                    .into()]
        1565  +
                .auth_scheme(
        1566  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1567  +
                        .put("disableDoubleEncoding", true)
        1568  +
                        .put("signingName", "s3".to_string())
        1569  +
                        .put("signingRegion", "us-east-1".to_string())
 1816   1570   
                )
 1817   1571   
                .build()
 1818   1572   
        );
 1819   1573   
    }
 1820   1574   
 1821   1575   
    /// virtual addressing, aws-global region with custom endpoint
 1822   1576   
    #[test]
 1823   1577   
    fn test_63() {
 1824   1578   
        let params = crate::config::endpoint::Params::builder()
 1825   1579   
            .region("aws-global".to_string())
 1826   1580   
            .endpoint("https://example.com".to_string())
 1827   1581   
            .bucket("bucket-name".to_string())
 1828   1582   
            .use_fips(false)
 1829   1583   
            .use_dual_stack(false)
 1830   1584   
            .accelerate(false)
 1831   1585   
            .build()
 1832   1586   
            .expect("invalid params");
 1833   1587   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1834   1588   
        let endpoint = resolver.resolve_endpoint(&params);
 1835   1589   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.example.com");
 1836   1590   
        assert_eq!(
 1837   1591   
            endpoint,
 1838   1592   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1839   1593   
                .url("https://bucket-name.example.com")
 1840         -
                .property(
 1841         -
                    "authSchemes",
 1842         -
                    vec![{
 1843         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1844         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1845         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1846         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1847         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1848         -
                        out
 1849         -
                    }
 1850         -
                    .into()]
        1594  +
                .auth_scheme(
        1595  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1596  +
                        .put("disableDoubleEncoding", true)
        1597  +
                        .put("signingName", "s3".to_string())
        1598  +
                        .put("signingRegion", "us-east-1".to_string())
 1851   1599   
                )
 1852   1600   
                .build()
 1853   1601   
        );
 1854   1602   
    }
 1855   1603   
 1856   1604   
    /// virtual addressing, UseGlobalEndpoint and us-east-1 region uses the global endpoint
 1857   1605   
    #[test]
 1858   1606   
    fn test_64() {
 1859   1607   
        let params = crate::config::endpoint::Params::builder()
 1860   1608   
            .region("us-east-1".to_string())
 1861   1609   
            .use_global_endpoint(true)
 1862   1610   
            .bucket("bucket-name".to_string())
 1863   1611   
            .use_fips(false)
 1864   1612   
            .use_dual_stack(false)
 1865   1613   
            .accelerate(false)
 1866   1614   
            .build()
 1867   1615   
            .expect("invalid params");
 1868   1616   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1869   1617   
        let endpoint = resolver.resolve_endpoint(&params);
 1870   1618   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.amazonaws.com");
 1871   1619   
        assert_eq!(
 1872   1620   
            endpoint,
 1873   1621   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1874   1622   
                .url("https://bucket-name.s3.amazonaws.com")
 1875         -
                .property(
 1876         -
                    "authSchemes",
 1877         -
                    vec![{
 1878         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1879         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1880         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1881         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1882         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1883         -
                        out
 1884         -
                    }
 1885         -
                    .into()]
        1623  +
                .auth_scheme(
        1624  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1625  +
                        .put("disableDoubleEncoding", true)
        1626  +
                        .put("signingName", "s3".to_string())
        1627  +
                        .put("signingRegion", "us-east-1".to_string())
 1886   1628   
                )
 1887   1629   
                .build()
 1888   1630   
        );
 1889   1631   
    }
 1890   1632   
 1891   1633   
    /// virtual addressing, UseGlobalEndpoint and us-west-2 region uses the regional endpoint
 1892   1634   
    #[test]
 1893   1635   
    fn test_65() {
 1894   1636   
        let params = crate::config::endpoint::Params::builder()
 1895   1637   
            .region("us-west-2".to_string())
 1896   1638   
            .use_global_endpoint(true)
 1897   1639   
            .bucket("bucket-name".to_string())
 1898   1640   
            .use_fips(false)
 1899   1641   
            .use_dual_stack(false)
 1900   1642   
            .accelerate(false)
 1901   1643   
            .build()
 1902   1644   
            .expect("invalid params");
 1903   1645   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1904   1646   
        let endpoint = resolver.resolve_endpoint(&params);
 1905   1647   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.us-west-2.amazonaws.com");
 1906   1648   
        assert_eq!(
 1907   1649   
            endpoint,
 1908   1650   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1909   1651   
                .url("https://bucket-name.s3.us-west-2.amazonaws.com")
 1910         -
                .property(
 1911         -
                    "authSchemes",
 1912         -
                    vec![{
 1913         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1914         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1915         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1916         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 1917         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1918         -
                        out
 1919         -
                    }
 1920         -
                    .into()]
        1652  +
                .auth_scheme(
        1653  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1654  +
                        .put("disableDoubleEncoding", true)
        1655  +
                        .put("signingName", "s3".to_string())
        1656  +
                        .put("signingRegion", "us-west-2".to_string())
 1921   1657   
                )
 1922   1658   
                .build()
 1923   1659   
        );
 1924   1660   
    }
 1925   1661   
 1926   1662   
    /// virtual addressing, UseGlobalEndpoint and us-east-1 region and fips uses the regional fips endpoint
 1927   1663   
    #[test]
 1928   1664   
    fn test_66() {
 1929   1665   
        let params = crate::config::endpoint::Params::builder()
 1930   1666   
            .region("us-east-1".to_string())
 1931   1667   
            .use_global_endpoint(true)
 1932   1668   
            .bucket("bucket-name".to_string())
 1933   1669   
            .use_fips(true)
 1934   1670   
            .use_dual_stack(false)
 1935   1671   
            .accelerate(false)
 1936   1672   
            .build()
 1937   1673   
            .expect("invalid params");
 1938   1674   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1939   1675   
        let endpoint = resolver.resolve_endpoint(&params);
 1940   1676   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.us-east-1.amazonaws.com");
 1941   1677   
        assert_eq!(
 1942   1678   
            endpoint,
 1943   1679   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1944   1680   
                .url("https://bucket-name.s3-fips.us-east-1.amazonaws.com")
 1945         -
                .property(
 1946         -
                    "authSchemes",
 1947         -
                    vec![{
 1948         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1949         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1950         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1951         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1952         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1953         -
                        out
 1954         -
                    }
 1955         -
                    .into()]
        1681  +
                .auth_scheme(
        1682  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1683  +
                        .put("disableDoubleEncoding", true)
        1684  +
                        .put("signingName", "s3".to_string())
        1685  +
                        .put("signingRegion", "us-east-1".to_string())
 1956   1686   
                )
 1957   1687   
                .build()
 1958   1688   
        );
 1959   1689   
    }
 1960   1690   
 1961   1691   
    /// virtual addressing, UseGlobalEndpoint and us-east-1 region and dualstack uses the regional dualstack endpoint
 1962   1692   
    #[test]
 1963   1693   
    fn test_67() {
 1964   1694   
        let params = crate::config::endpoint::Params::builder()
 1965   1695   
            .region("us-east-1".to_string())
 1966   1696   
            .use_global_endpoint(true)
 1967   1697   
            .bucket("bucket-name".to_string())
 1968   1698   
            .use_fips(false)
 1969   1699   
            .use_dual_stack(true)
 1970   1700   
            .accelerate(false)
 1971   1701   
            .build()
 1972   1702   
            .expect("invalid params");
 1973   1703   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 1974   1704   
        let endpoint = resolver.resolve_endpoint(&params);
 1975   1705   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.dualstack.us-east-1.amazonaws.com");
 1976   1706   
        assert_eq!(
 1977   1707   
            endpoint,
 1978   1708   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 1979   1709   
                .url("https://bucket-name.s3.dualstack.us-east-1.amazonaws.com")
 1980         -
                .property(
 1981         -
                    "authSchemes",
 1982         -
                    vec![{
 1983         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 1984         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 1985         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 1986         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 1987         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 1988         -
                        out
 1989         -
                    }
 1990         -
                    .into()]
        1710  +
                .auth_scheme(
        1711  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1712  +
                        .put("disableDoubleEncoding", true)
        1713  +
                        .put("signingName", "s3".to_string())
        1714  +
                        .put("signingRegion", "us-east-1".to_string())
 1991   1715   
                )
 1992   1716   
                .build()
 1993   1717   
        );
 1994   1718   
    }
 1995   1719   
 1996   1720   
    /// virtual addressing, UseGlobalEndpoint and us-east-1 region and accelerate uses the global accelerate endpoint
 1997   1721   
    #[test]
 1998   1722   
    fn test_68() {
 1999   1723   
        let params = crate::config::endpoint::Params::builder()
 2000   1724   
            .region("us-east-1".to_string())
 2001   1725   
            .use_global_endpoint(true)
 2002   1726   
            .bucket("bucket-name".to_string())
 2003   1727   
            .use_fips(false)
 2004   1728   
            .use_dual_stack(false)
 2005   1729   
            .accelerate(true)
 2006   1730   
            .build()
 2007   1731   
            .expect("invalid params");
 2008   1732   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2009   1733   
        let endpoint = resolver.resolve_endpoint(&params);
 2010   1734   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.amazonaws.com");
 2011   1735   
        assert_eq!(
 2012   1736   
            endpoint,
 2013   1737   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2014   1738   
                .url("https://bucket-name.s3-accelerate.amazonaws.com")
 2015         -
                .property(
 2016         -
                    "authSchemes",
 2017         -
                    vec![{
 2018         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2019         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2020         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2021         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2022         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2023         -
                        out
 2024         -
                    }
 2025         -
                    .into()]
        1739  +
                .auth_scheme(
        1740  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1741  +
                        .put("disableDoubleEncoding", true)
        1742  +
                        .put("signingName", "s3".to_string())
        1743  +
                        .put("signingRegion", "us-east-1".to_string())
 2026   1744   
                )
 2027   1745   
                .build()
 2028   1746   
        );
 2029   1747   
    }
 2030   1748   
 2031   1749   
    /// virtual addressing, UseGlobalEndpoint and us-east-1 region with custom endpoint
 2032   1750   
    #[test]
 2033   1751   
    fn test_69() {
 2034   1752   
        let params = crate::config::endpoint::Params::builder()
 2035   1753   
            .region("us-east-1".to_string())
 2036   1754   
            .endpoint("https://example.com".to_string())
 2037   1755   
            .use_global_endpoint(true)
 2038   1756   
            .bucket("bucket-name".to_string())
 2039   1757   
            .use_fips(false)
 2040   1758   
            .use_dual_stack(false)
 2041   1759   
            .accelerate(false)
 2042   1760   
            .build()
 2043   1761   
            .expect("invalid params");
 2044   1762   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2045   1763   
        let endpoint = resolver.resolve_endpoint(&params);
 2046   1764   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.example.com");
 2047   1765   
        assert_eq!(
 2048   1766   
            endpoint,
 2049   1767   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2050   1768   
                .url("https://bucket-name.example.com")
 2051         -
                .property(
 2052         -
                    "authSchemes",
 2053         -
                    vec![{
 2054         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2055         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2056         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2057         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2058         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2059         -
                        out
 2060         -
                    }
 2061         -
                    .into()]
        1769  +
                .auth_scheme(
        1770  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1771  +
                        .put("disableDoubleEncoding", true)
        1772  +
                        .put("signingName", "s3".to_string())
        1773  +
                        .put("signingRegion", "us-east-1".to_string())
 2062   1774   
                )
 2063   1775   
                .build()
 2064   1776   
        );
 2065   1777   
    }
 2066   1778   
 2067   1779   
    /// ForcePathStyle, aws-global region uses the global endpoint
 2068   1780   
    #[test]
 2069   1781   
    fn test_70() {
 2070   1782   
        let params = crate::config::endpoint::Params::builder()
 2071   1783   
            .region("aws-global".to_string())
 2072   1784   
            .bucket("bucket-name".to_string())
 2073   1785   
            .force_path_style(true)
 2074   1786   
            .use_fips(false)
 2075   1787   
            .use_dual_stack(false)
 2076   1788   
            .accelerate(false)
 2077   1789   
            .build()
 2078   1790   
            .expect("invalid params");
 2079   1791   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2080   1792   
        let endpoint = resolver.resolve_endpoint(&params);
 2081   1793   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com/bucket-name");
 2082   1794   
        assert_eq!(
 2083   1795   
            endpoint,
 2084   1796   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2085   1797   
                .url("https://s3.amazonaws.com/bucket-name")
 2086         -
                .property(
 2087         -
                    "authSchemes",
 2088         -
                    vec![{
 2089         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2090         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2091         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2092         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2093         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2094         -
                        out
 2095         -
                    }
 2096         -
                    .into()]
        1798  +
                .auth_scheme(
        1799  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1800  +
                        .put("disableDoubleEncoding", true)
        1801  +
                        .put("signingName", "s3".to_string())
        1802  +
                        .put("signingRegion", "us-east-1".to_string())
 2097   1803   
                )
 2098   1804   
                .build()
 2099   1805   
        );
 2100   1806   
    }
 2101   1807   
 2102   1808   
    /// ForcePathStyle, aws-global region with fips is invalid
 2103   1809   
    #[test]
 2104   1810   
    fn test_71() {
 2105   1811   
        let params = crate::config::endpoint::Params::builder()
 2106   1812   
            .region("aws-global".to_string())
 2107   1813   
            .bucket("bucket-name".to_string())
 2108   1814   
            .force_path_style(true)
 2109   1815   
            .use_fips(true)
 2110   1816   
            .use_dual_stack(false)
 2111   1817   
            .accelerate(false)
 2112   1818   
            .build()
 2113   1819   
            .expect("invalid params");
 2114   1820   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2115   1821   
        let endpoint = resolver.resolve_endpoint(&params);
 2116   1822   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket-name");
 2117   1823   
        assert_eq!(
 2118   1824   
            endpoint,
 2119   1825   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2120   1826   
                .url("https://s3-fips.us-east-1.amazonaws.com/bucket-name")
 2121         -
                .property(
 2122         -
                    "authSchemes",
 2123         -
                    vec![{
 2124         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2125         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2126         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2127         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2128         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2129         -
                        out
 2130         -
                    }
 2131         -
                    .into()]
        1827  +
                .auth_scheme(
        1828  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1829  +
                        .put("disableDoubleEncoding", true)
        1830  +
                        .put("signingName", "s3".to_string())
        1831  +
                        .put("signingRegion", "us-east-1".to_string())
 2132   1832   
                )
 2133   1833   
                .build()
 2134   1834   
        );
 2135   1835   
    }
 2136   1836   
 2137   1837   
    /// ForcePathStyle, aws-global region with dualstack uses regional dualstack endpoint
 2138   1838   
    #[test]
 2139   1839   
    fn test_72() {
 2140   1840   
        let params = crate::config::endpoint::Params::builder()
 2141   1841   
            .region("aws-global".to_string())
 2142   1842   
            .bucket("bucket-name".to_string())
 2143   1843   
            .force_path_style(true)
 2144   1844   
            .use_fips(false)
 2145   1845   
            .use_dual_stack(true)
 2146   1846   
            .accelerate(false)
 2147   1847   
            .build()
 2148   1848   
            .expect("invalid params");
 2149   1849   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2150   1850   
        let endpoint = resolver.resolve_endpoint(&params);
 2151   1851   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com/bucket-name");
 2152   1852   
        assert_eq!(
 2153   1853   
            endpoint,
 2154   1854   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2155   1855   
                .url("https://s3.dualstack.us-east-1.amazonaws.com/bucket-name")
 2156         -
                .property(
 2157         -
                    "authSchemes",
 2158         -
                    vec![{
 2159         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2160         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2161         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2162         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2163         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2164         -
                        out
 2165         -
                    }
 2166         -
                    .into()]
        1856  +
                .auth_scheme(
        1857  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1858  +
                        .put("disableDoubleEncoding", true)
        1859  +
                        .put("signingName", "s3".to_string())
        1860  +
                        .put("signingRegion", "us-east-1".to_string())
 2167   1861   
                )
 2168   1862   
                .build()
 2169   1863   
        );
 2170   1864   
    }
 2171   1865   
 2172   1866   
    /// ForcePathStyle, aws-global region custom endpoint uses the custom endpoint
 2173   1867   
    #[test]
 2174   1868   
    fn test_73() {
 2175   1869   
        let params = crate::config::endpoint::Params::builder()
 2176   1870   
            .region("aws-global".to_string())
 2177   1871   
            .endpoint("https://example.com".to_string())
 2178   1872   
            .bucket("bucket-name".to_string())
 2179   1873   
            .force_path_style(true)
 2180   1874   
            .use_fips(false)
 2181   1875   
            .use_dual_stack(false)
 2182   1876   
            .accelerate(false)
 2183   1877   
            .build()
 2184   1878   
            .expect("invalid params");
 2185   1879   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2186   1880   
        let endpoint = resolver.resolve_endpoint(&params);
 2187   1881   
        let endpoint = endpoint.expect("Expected valid endpoint: https://example.com/bucket-name");
 2188   1882   
        assert_eq!(
 2189   1883   
            endpoint,
 2190   1884   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2191   1885   
                .url("https://example.com/bucket-name")
 2192         -
                .property(
 2193         -
                    "authSchemes",
 2194         -
                    vec![{
 2195         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2196         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2197         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2198         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2199         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2200         -
                        out
 2201         -
                    }
 2202         -
                    .into()]
        1886  +
                .auth_scheme(
        1887  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1888  +
                        .put("disableDoubleEncoding", true)
        1889  +
                        .put("signingName", "s3".to_string())
        1890  +
                        .put("signingRegion", "us-east-1".to_string())
 2203   1891   
                )
 2204   1892   
                .build()
 2205   1893   
        );
 2206   1894   
    }
 2207   1895   
 2208   1896   
    /// ForcePathStyle, UseGlobalEndpoint us-east-1 region uses the global endpoint
 2209   1897   
    #[test]
 2210   1898   
    fn test_74() {
 2211   1899   
        let params = crate::config::endpoint::Params::builder()
 2212   1900   
            .region("us-east-1".to_string())
 2213   1901   
            .bucket("bucket-name".to_string())
 2214   1902   
            .use_global_endpoint(true)
 2215   1903   
            .force_path_style(true)
 2216   1904   
            .use_fips(false)
 2217   1905   
            .use_dual_stack(false)
 2218   1906   
            .accelerate(false)
 2219   1907   
            .build()
 2220   1908   
            .expect("invalid params");
 2221   1909   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2222   1910   
        let endpoint = resolver.resolve_endpoint(&params);
 2223   1911   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com/bucket-name");
 2224   1912   
        assert_eq!(
 2225   1913   
            endpoint,
 2226   1914   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2227   1915   
                .url("https://s3.amazonaws.com/bucket-name")
 2228         -
                .property(
 2229         -
                    "authSchemes",
 2230         -
                    vec![{
 2231         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2232         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2233         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2234         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2235         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2236         -
                        out
 2237         -
                    }
 2238         -
                    .into()]
        1916  +
                .auth_scheme(
        1917  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1918  +
                        .put("disableDoubleEncoding", true)
        1919  +
                        .put("signingName", "s3".to_string())
        1920  +
                        .put("signingRegion", "us-east-1".to_string())
 2239   1921   
                )
 2240   1922   
                .build()
 2241   1923   
        );
 2242   1924   
    }
 2243   1925   
 2244   1926   
    /// ForcePathStyle, UseGlobalEndpoint us-west-2 region uses the regional endpoint
 2245   1927   
    #[test]
 2246   1928   
    fn test_75() {
 2247   1929   
        let params = crate::config::endpoint::Params::builder()
 2248   1930   
            .region("us-west-2".to_string())
 2249   1931   
            .bucket("bucket-name".to_string())
 2250   1932   
            .use_global_endpoint(true)
 2251   1933   
            .force_path_style(true)
 2252   1934   
            .use_fips(false)
 2253   1935   
            .use_dual_stack(false)
 2254   1936   
            .accelerate(false)
 2255   1937   
            .build()
 2256   1938   
            .expect("invalid params");
 2257   1939   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2258   1940   
        let endpoint = resolver.resolve_endpoint(&params);
 2259   1941   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/bucket-name");
 2260   1942   
        assert_eq!(
 2261   1943   
            endpoint,
 2262   1944   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2263   1945   
                .url("https://s3.us-west-2.amazonaws.com/bucket-name")
 2264         -
                .property(
 2265         -
                    "authSchemes",
 2266         -
                    vec![{
 2267         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2268         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2269         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2270         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 2271         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2272         -
                        out
 2273         -
                    }
 2274         -
                    .into()]
        1946  +
                .auth_scheme(
        1947  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1948  +
                        .put("disableDoubleEncoding", true)
        1949  +
                        .put("signingName", "s3".to_string())
        1950  +
                        .put("signingRegion", "us-west-2".to_string())
 2275   1951   
                )
 2276   1952   
                .build()
 2277   1953   
        );
 2278   1954   
    }
 2279   1955   
 2280   1956   
    /// ForcePathStyle, UseGlobalEndpoint us-east-1 region, dualstack uses the regional dualstack endpoint
 2281   1957   
    #[test]
 2282   1958   
    fn test_76() {
 2283   1959   
        let params = crate::config::endpoint::Params::builder()
 2284   1960   
            .region("us-east-1".to_string())
 2285   1961   
            .bucket("bucket-name".to_string())
 2286   1962   
            .use_global_endpoint(true)
 2287   1963   
            .force_path_style(true)
 2288   1964   
            .use_fips(false)
 2289   1965   
            .use_dual_stack(true)
 2290   1966   
            .accelerate(false)
 2291   1967   
            .build()
 2292   1968   
            .expect("invalid params");
 2293   1969   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2294   1970   
        let endpoint = resolver.resolve_endpoint(&params);
 2295   1971   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com/bucket-name");
 2296   1972   
        assert_eq!(
 2297   1973   
            endpoint,
 2298   1974   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2299   1975   
                .url("https://s3.dualstack.us-east-1.amazonaws.com/bucket-name")
 2300         -
                .property(
 2301         -
                    "authSchemes",
 2302         -
                    vec![{
 2303         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2304         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2305         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2306         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2307         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2308         -
                        out
 2309         -
                    }
 2310         -
                    .into()]
        1976  +
                .auth_scheme(
        1977  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        1978  +
                        .put("disableDoubleEncoding", true)
        1979  +
                        .put("signingName", "s3".to_string())
        1980  +
                        .put("signingRegion", "us-east-1".to_string())
 2311   1981   
                )
 2312   1982   
                .build()
 2313   1983   
        );
 2314   1984   
    }
 2315   1985   
 2316   1986   
    /// ForcePathStyle, UseGlobalEndpoint us-east-1 region custom endpoint uses the custom endpoint
 2317   1987   
    #[test]
 2318   1988   
    fn test_77() {
 2319   1989   
        let params = crate::config::endpoint::Params::builder()
 2320   1990   
            .region("us-east-1".to_string())
 2321   1991   
            .bucket("bucket-name".to_string())
 2322   1992   
            .endpoint("https://example.com".to_string())
 2323   1993   
            .use_global_endpoint(true)
 2324   1994   
            .force_path_style(true)
 2325   1995   
            .use_fips(false)
 2326   1996   
            .use_dual_stack(false)
 2327   1997   
            .accelerate(false)
 2328   1998   
            .build()
 2329   1999   
            .expect("invalid params");
 2330   2000   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2331   2001   
        let endpoint = resolver.resolve_endpoint(&params);
 2332   2002   
        let endpoint = endpoint.expect("Expected valid endpoint: https://example.com/bucket-name");
 2333   2003   
        assert_eq!(
 2334   2004   
            endpoint,
 2335   2005   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2336   2006   
                .url("https://example.com/bucket-name")
 2337         -
                .property(
 2338         -
                    "authSchemes",
 2339         -
                    vec![{
 2340         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2341         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2342         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2343         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2344         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2345         -
                        out
 2346         -
                    }
 2347         -
                    .into()]
        2007  +
                .auth_scheme(
        2008  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2009  +
                        .put("disableDoubleEncoding", true)
        2010  +
                        .put("signingName", "s3".to_string())
        2011  +
                        .put("signingRegion", "us-east-1".to_string())
 2348   2012   
                )
 2349   2013   
                .build()
 2350   2014   
        );
 2351   2015   
    }
 2352   2016   
 2353   2017   
    /// ARN with aws-global region and  UseArnRegion uses the regional endpoint
 2354   2018   
    #[test]
 2355   2019   
    fn test_78() {
 2356   2020   
        let params = crate::config::endpoint::Params::builder()
 2357   2021   
            .region("aws-global".to_string())
 2358   2022   
            .use_arn_region(true)
 2359   2023   
            .use_fips(false)
 2360   2024   
            .use_dual_stack(false)
 2361   2025   
            .accelerate(false)
 2362   2026   
            .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
 2363   2027   
            .build()
 2364   2028   
            .expect("invalid params");
 2365   2029   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2366   2030   
        let endpoint = resolver.resolve_endpoint(&params);
 2367   2031   
        let endpoint =
 2368   2032   
            endpoint.expect("Expected valid endpoint: https://reports-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com");
 2369   2033   
        assert_eq!(
 2370   2034   
            endpoint,
 2371   2035   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2372   2036   
                .url("https://reports-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com")
 2373         -
                .property(
 2374         -
                    "authSchemes",
 2375         -
                    vec![
 2376         -
                        {
 2377         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2378         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 2379         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 2380         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 2381         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 2382         -
                            out
 2383         -
                        }
 2384         -
                        .into(),
 2385         -
                        {
 2386         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2387         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 2388         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 2389         -
                            out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2390         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 2391         -
                            out
 2392         -
                        }
 2393         -
                        .into()
 2394         -
                    ]
        2037  +
                .auth_scheme(
        2038  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        2039  +
                        .put("disableDoubleEncoding", true)
        2040  +
                        .put("signingName", "s3-outposts".to_string())
        2041  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        2042  +
                )
        2043  +
                .auth_scheme(
        2044  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2045  +
                        .put("disableDoubleEncoding", true)
        2046  +
                        .put("signingName", "s3-outposts".to_string())
        2047  +
                        .put("signingRegion", "us-east-1".to_string())
 2395   2048   
                )
 2396   2049   
                .build()
 2397   2050   
        );
 2398   2051   
    }
 2399   2052   
 2400   2053   
    /// cross partition MRAP ARN is an error
 2401   2054   
    #[test]
 2402   2055   
    fn test_79() {
 2403   2056   
        let params = crate::config::endpoint::Params::builder()
 2404   2057   
            .bucket("arn:aws-cn:s3::123456789012:accesspoint:mfzwi23gnjvgw.mrap".to_string())
 2405   2058   
            .region("us-west-1".to_string())
 2406   2059   
            .build()
 2407   2060   
            .expect("invalid params");
 2408   2061   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2409   2062   
        let endpoint = resolver.resolve_endpoint(&params);
 2410   2063   
        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]");
 2411   2064   
        assert_eq!(
 2412   2065   
            format!("{}", error),
 2413   2066   
            "Client was configured for partition `aws` but bucket referred to partition `aws-cn`"
 2414   2067   
        )
 2415   2068   
    }
 2416   2069   
 2417   2070   
    /// Endpoint override, accesspoint with HTTP, port
 2418   2071   
    #[test]
 2419   2072   
    fn test_80() {
 2420   2073   
        let params = crate::config::endpoint::Params::builder()
 2421   2074   
            .endpoint("http://beta.example.com:1234".to_string())
 2422   2075   
            .region("us-west-2".to_string())
 2423   2076   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
 2424   2077   
            .build()
 2425   2078   
            .expect("invalid params");
 2426   2079   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2427   2080   
        let endpoint = resolver.resolve_endpoint(&params);
 2428   2081   
        let endpoint = endpoint.expect("Expected valid endpoint: http://myendpoint-123456789012.beta.example.com:1234");
 2429   2082   
        assert_eq!(
 2430   2083   
            endpoint,
 2431   2084   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2432   2085   
                .url("http://myendpoint-123456789012.beta.example.com:1234")
 2433         -
                .property(
 2434         -
                    "authSchemes",
 2435         -
                    vec![{
 2436         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2437         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2438         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2439         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 2440         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2441         -
                        out
 2442         -
                    }
 2443         -
                    .into()]
        2086  +
                .auth_scheme(
        2087  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2088  +
                        .put("disableDoubleEncoding", true)
        2089  +
                        .put("signingName", "s3".to_string())
        2090  +
                        .put("signingRegion", "us-west-2".to_string())
 2444   2091   
                )
 2445   2092   
                .build()
 2446   2093   
        );
 2447   2094   
    }
 2448   2095   
 2449   2096   
    /// Endpoint override, accesspoint with http, path, query, and port
 2450   2097   
    #[test]
 2451   2098   
    fn test_81() {
 2452   2099   
        let params = crate::config::endpoint::Params::builder()
 2453   2100   
            .region("us-west-2".to_string())
 2454   2101   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
 2455   2102   
            .endpoint("http://beta.example.com:1234/path".to_string())
 2456   2103   
            .use_fips(false)
 2457   2104   
            .use_dual_stack(false)
 2458   2105   
            .accelerate(false)
 2459   2106   
            .build()
 2460   2107   
            .expect("invalid params");
 2461   2108   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2462   2109   
        let endpoint = resolver.resolve_endpoint(&params);
 2463   2110   
        let endpoint = endpoint.expect("Expected valid endpoint: http://myendpoint-123456789012.beta.example.com:1234/path");
 2464   2111   
        assert_eq!(
 2465   2112   
            endpoint,
 2466   2113   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2467   2114   
                .url("http://myendpoint-123456789012.beta.example.com:1234/path")
 2468         -
                .property(
 2469         -
                    "authSchemes",
 2470         -
                    vec![{
 2471         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2472         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2473         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2474         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 2475         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2476         -
                        out
 2477         -
                    }
 2478         -
                    .into()]
        2115  +
                .auth_scheme(
        2116  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2117  +
                        .put("disableDoubleEncoding", true)
        2118  +
                        .put("signingName", "s3".to_string())
        2119  +
                        .put("signingRegion", "us-west-2".to_string())
 2479   2120   
                )
 2480   2121   
                .build()
 2481   2122   
        );
 2482   2123   
    }
 2483   2124   
 2484   2125   
    /// non-bucket endpoint override with FIPS = error
 2485   2126   
    #[test]
 2486   2127   
    fn test_82() {
 2487   2128   
        let params = crate::config::endpoint::Params::builder()
 2488   2129   
            .region("us-west-2".to_string())
@@ -2521,2162 +2906,2487 @@
 2541   2182   
            .use_dual_stack(false)
 2542   2183   
            .build()
 2543   2184   
            .expect("invalid params");
 2544   2185   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2545   2186   
        let endpoint = resolver.resolve_endpoint(&params);
 2546   2187   
        let endpoint = endpoint.expect("Expected valid endpoint: http://beta.example.com:1234/path");
 2547   2188   
        assert_eq!(
 2548   2189   
            endpoint,
 2549   2190   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2550   2191   
                .url("http://beta.example.com:1234/path")
 2551         -
                .property(
 2552         -
                    "authSchemes",
 2553         -
                    vec![{
 2554         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2555         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2556         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2557         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 2558         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2559         -
                        out
 2560         -
                    }
 2561         -
                    .into()]
        2192  +
                .auth_scheme(
        2193  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2194  +
                        .put("disableDoubleEncoding", true)
        2195  +
                        .put("signingName", "s3".to_string())
        2196  +
                        .put("signingRegion", "us-west-2".to_string())
 2562   2197   
                )
 2563   2198   
                .build()
 2564   2199   
        );
 2565   2200   
    }
 2566   2201   
 2567   2202   
    /// s3 object lambda with access points disabled
 2568   2203   
    #[test]
 2569   2204   
    fn test_86() {
 2570   2205   
        let params = crate::config::endpoint::Params::builder()
 2571   2206   
            .region("us-west-2".to_string())
 2572   2207   
            .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:myendpoint".to_string())
 2573   2208   
            .disable_access_points(true)
 2574   2209   
            .build()
 2575   2210   
            .expect("invalid params");
 2576   2211   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2577   2212   
        let endpoint = resolver.resolve_endpoint(&params);
 2578   2213   
        let error =
 2579   2214   
            endpoint.expect_err("expected error: Access points are not supported for this operation [s3 object lambda with access points disabled]");
 2580   2215   
        assert_eq!(format!("{}", error), "Access points are not supported for this operation")
 2581   2216   
    }
 2582   2217   
 2583   2218   
    /// non bucket + FIPS
 2584   2219   
    #[test]
 2585   2220   
    fn test_87() {
 2586   2221   
        let params = crate::config::endpoint::Params::builder()
 2587   2222   
            .region("us-west-2".to_string())
 2588   2223   
            .use_fips(true)
 2589   2224   
            .use_dual_stack(false)
 2590   2225   
            .build()
 2591   2226   
            .expect("invalid params");
 2592   2227   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2593   2228   
        let endpoint = resolver.resolve_endpoint(&params);
 2594   2229   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-west-2.amazonaws.com");
 2595   2230   
        assert_eq!(
 2596   2231   
            endpoint,
 2597   2232   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2598   2233   
                .url("https://s3-fips.us-west-2.amazonaws.com")
 2599         -
                .property(
 2600         -
                    "authSchemes",
 2601         -
                    vec![{
 2602         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2603         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2604         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2605         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 2606         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2607         -
                        out
 2608         -
                    }
 2609         -
                    .into()]
        2234  +
                .auth_scheme(
        2235  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2236  +
                        .put("disableDoubleEncoding", true)
        2237  +
                        .put("signingName", "s3".to_string())
        2238  +
                        .put("signingRegion", "us-west-2".to_string())
 2610   2239   
                )
 2611   2240   
                .build()
 2612   2241   
        );
 2613   2242   
    }
 2614   2243   
 2615   2244   
    /// standard non bucket endpoint
 2616   2245   
    #[test]
 2617   2246   
    fn test_88() {
 2618   2247   
        let params = crate::config::endpoint::Params::builder()
 2619   2248   
            .region("us-west-2".to_string())
 2620   2249   
            .use_fips(false)
 2621   2250   
            .use_dual_stack(false)
 2622   2251   
            .build()
 2623   2252   
            .expect("invalid params");
 2624   2253   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2625   2254   
        let endpoint = resolver.resolve_endpoint(&params);
 2626   2255   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com");
 2627   2256   
        assert_eq!(
 2628   2257   
            endpoint,
 2629   2258   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2630   2259   
                .url("https://s3.us-west-2.amazonaws.com")
 2631         -
                .property(
 2632         -
                    "authSchemes",
 2633         -
                    vec![{
 2634         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2635         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2636         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2637         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 2638         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2639         -
                        out
 2640         -
                    }
 2641         -
                    .into()]
        2260  +
                .auth_scheme(
        2261  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2262  +
                        .put("disableDoubleEncoding", true)
        2263  +
                        .put("signingName", "s3".to_string())
        2264  +
                        .put("signingRegion", "us-west-2".to_string())
 2642   2265   
                )
 2643   2266   
                .build()
 2644   2267   
        );
 2645   2268   
    }
 2646   2269   
 2647   2270   
    /// non bucket endpoint with FIPS + Dualstack
 2648   2271   
    #[test]
 2649   2272   
    fn test_89() {
 2650   2273   
        let params = crate::config::endpoint::Params::builder()
 2651   2274   
            .region("us-west-2".to_string())
 2652   2275   
            .use_fips(true)
 2653   2276   
            .use_dual_stack(true)
 2654   2277   
            .build()
 2655   2278   
            .expect("invalid params");
 2656   2279   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2657   2280   
        let endpoint = resolver.resolve_endpoint(&params);
 2658   2281   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-west-2.amazonaws.com");
 2659   2282   
        assert_eq!(
 2660   2283   
            endpoint,
 2661   2284   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2662   2285   
                .url("https://s3-fips.dualstack.us-west-2.amazonaws.com")
 2663         -
                .property(
 2664         -
                    "authSchemes",
 2665         -
                    vec![{
 2666         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2667         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2668         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2669         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 2670         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2671         -
                        out
 2672         -
                    }
 2673         -
                    .into()]
        2286  +
                .auth_scheme(
        2287  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2288  +
                        .put("disableDoubleEncoding", true)
        2289  +
                        .put("signingName", "s3".to_string())
        2290  +
                        .put("signingRegion", "us-west-2".to_string())
 2674   2291   
                )
 2675   2292   
                .build()
 2676   2293   
        );
 2677   2294   
    }
 2678   2295   
 2679   2296   
    /// non bucket endpoint with dualstack
 2680   2297   
    #[test]
 2681   2298   
    fn test_90() {
 2682   2299   
        let params = crate::config::endpoint::Params::builder()
 2683   2300   
            .region("us-west-2".to_string())
 2684   2301   
            .use_fips(false)
 2685   2302   
            .use_dual_stack(true)
 2686   2303   
            .build()
 2687   2304   
            .expect("invalid params");
 2688   2305   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2689   2306   
        let endpoint = resolver.resolve_endpoint(&params);
 2690   2307   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-west-2.amazonaws.com");
 2691   2308   
        assert_eq!(
 2692   2309   
            endpoint,
 2693   2310   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2694   2311   
                .url("https://s3.dualstack.us-west-2.amazonaws.com")
 2695         -
                .property(
 2696         -
                    "authSchemes",
 2697         -
                    vec![{
 2698         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2699         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2700         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2701         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 2702         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2703         -
                        out
 2704         -
                    }
 2705         -
                    .into()]
        2312  +
                .auth_scheme(
        2313  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2314  +
                        .put("disableDoubleEncoding", true)
        2315  +
                        .put("signingName", "s3".to_string())
        2316  +
                        .put("signingRegion", "us-west-2".to_string())
 2706   2317   
                )
 2707   2318   
                .build()
 2708   2319   
        );
 2709   2320   
    }
 2710   2321   
 2711   2322   
    /// use global endpoint + IP address endpoint override
 2712   2323   
    #[test]
 2713   2324   
    fn test_91() {
 2714   2325   
        let params = crate::config::endpoint::Params::builder()
 2715   2326   
            .region("us-east-1".to_string())
 2716   2327   
            .bucket("bucket".to_string())
 2717   2328   
            .use_fips(false)
 2718   2329   
            .use_dual_stack(false)
 2719   2330   
            .endpoint("http://127.0.0.1".to_string())
 2720   2331   
            .use_global_endpoint(true)
 2721   2332   
            .build()
 2722   2333   
            .expect("invalid params");
 2723   2334   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2724   2335   
        let endpoint = resolver.resolve_endpoint(&params);
 2725   2336   
        let endpoint = endpoint.expect("Expected valid endpoint: http://127.0.0.1/bucket");
 2726   2337   
        assert_eq!(
 2727   2338   
            endpoint,
 2728   2339   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2729   2340   
                .url("http://127.0.0.1/bucket")
 2730         -
                .property(
 2731         -
                    "authSchemes",
 2732         -
                    vec![{
 2733         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2734         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2735         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2736         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2737         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2738         -
                        out
 2739         -
                    }
 2740         -
                    .into()]
        2341  +
                .auth_scheme(
        2342  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2343  +
                        .put("disableDoubleEncoding", true)
        2344  +
                        .put("signingName", "s3".to_string())
        2345  +
                        .put("signingRegion", "us-east-1".to_string())
 2741   2346   
                )
 2742   2347   
                .build()
 2743   2348   
        );
 2744   2349   
    }
 2745   2350   
 2746   2351   
    /// non-dns endpoint + global endpoint
 2747   2352   
    #[test]
 2748   2353   
    fn test_92() {
 2749   2354   
        let params = crate::config::endpoint::Params::builder()
 2750   2355   
            .region("us-east-1".to_string())
 2751   2356   
            .bucket("bucket!".to_string())
 2752   2357   
            .use_fips(false)
 2753   2358   
            .use_dual_stack(false)
 2754   2359   
            .use_global_endpoint(true)
 2755   2360   
            .build()
 2756   2361   
            .expect("invalid params");
 2757   2362   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2758   2363   
        let endpoint = resolver.resolve_endpoint(&params);
 2759   2364   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com/bucket%21");
 2760   2365   
        assert_eq!(
 2761   2366   
            endpoint,
 2762   2367   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2763   2368   
                .url("https://s3.amazonaws.com/bucket%21")
 2764         -
                .property(
 2765         -
                    "authSchemes",
 2766         -
                    vec![{
 2767         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2768         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2769         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2770         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2771         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2772         -
                        out
 2773         -
                    }
 2774         -
                    .into()]
        2369  +
                .auth_scheme(
        2370  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2371  +
                        .put("disableDoubleEncoding", true)
        2372  +
                        .put("signingName", "s3".to_string())
        2373  +
                        .put("signingRegion", "us-east-1".to_string())
 2775   2374   
                )
 2776   2375   
                .build()
 2777   2376   
        );
 2778   2377   
    }
 2779   2378   
 2780   2379   
    /// endpoint override + use global endpoint
 2781   2380   
    #[test]
 2782   2381   
    fn test_93() {
 2783   2382   
        let params = crate::config::endpoint::Params::builder()
 2784   2383   
            .region("us-east-1".to_string())
 2785   2384   
            .bucket("bucket!".to_string())
 2786   2385   
            .use_fips(false)
 2787   2386   
            .use_dual_stack(false)
 2788   2387   
            .use_global_endpoint(true)
 2789   2388   
            .endpoint("http://foo.com".to_string())
 2790   2389   
            .build()
 2791   2390   
            .expect("invalid params");
 2792   2391   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2793   2392   
        let endpoint = resolver.resolve_endpoint(&params);
 2794   2393   
        let endpoint = endpoint.expect("Expected valid endpoint: http://foo.com/bucket%21");
 2795   2394   
        assert_eq!(
 2796   2395   
            endpoint,
 2797   2396   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2798   2397   
                .url("http://foo.com/bucket%21")
 2799         -
                .property(
 2800         -
                    "authSchemes",
 2801         -
                    vec![{
 2802         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2803         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2804         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2805         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2806         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2807         -
                        out
 2808         -
                    }
 2809         -
                    .into()]
        2398  +
                .auth_scheme(
        2399  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2400  +
                        .put("disableDoubleEncoding", true)
        2401  +
                        .put("signingName", "s3".to_string())
        2402  +
                        .put("signingRegion", "us-east-1".to_string())
 2810   2403   
                )
 2811   2404   
                .build()
 2812   2405   
        );
 2813   2406   
    }
 2814   2407   
 2815   2408   
    /// FIPS + dualstack + non-bucket endpoint
 2816   2409   
    #[test]
 2817   2410   
    fn test_94() {
 2818   2411   
        let params = crate::config::endpoint::Params::builder()
 2819   2412   
            .region("us-east-1".to_string())
 2820   2413   
            .bucket("bucket!".to_string())
 2821   2414   
            .use_fips(true)
 2822   2415   
            .use_dual_stack(true)
 2823   2416   
            .build()
 2824   2417   
            .expect("invalid params");
 2825   2418   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2826   2419   
        let endpoint = resolver.resolve_endpoint(&params);
 2827   2420   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
 2828   2421   
        assert_eq!(
 2829   2422   
            endpoint,
 2830   2423   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2831   2424   
                .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
 2832         -
                .property(
 2833         -
                    "authSchemes",
 2834         -
                    vec![{
 2835         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2836         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2837         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2838         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2839         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2840         -
                        out
 2841         -
                    }
 2842         -
                    .into()]
        2425  +
                .auth_scheme(
        2426  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2427  +
                        .put("disableDoubleEncoding", true)
        2428  +
                        .put("signingName", "s3".to_string())
        2429  +
                        .put("signingRegion", "us-east-1".to_string())
 2843   2430   
                )
 2844   2431   
                .build()
 2845   2432   
        );
 2846   2433   
    }
 2847   2434   
 2848   2435   
    /// FIPS + dualstack + non-DNS endpoint
 2849   2436   
    #[test]
 2850   2437   
    fn test_95() {
 2851   2438   
        let params = crate::config::endpoint::Params::builder()
 2852   2439   
            .region("us-east-1".to_string())
 2853   2440   
            .bucket("bucket!".to_string())
 2854   2441   
            .force_path_style(true)
 2855   2442   
            .use_fips(true)
 2856   2443   
            .use_dual_stack(true)
 2857   2444   
            .build()
 2858   2445   
            .expect("invalid params");
 2859   2446   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2860   2447   
        let endpoint = resolver.resolve_endpoint(&params);
 2861   2448   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
 2862   2449   
        assert_eq!(
 2863   2450   
            endpoint,
 2864   2451   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2865   2452   
                .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
 2866         -
                .property(
 2867         -
                    "authSchemes",
 2868         -
                    vec![{
 2869         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2870         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2871         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2872         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2873         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2874         -
                        out
 2875         -
                    }
 2876         -
                    .into()]
        2453  +
                .auth_scheme(
        2454  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2455  +
                        .put("disableDoubleEncoding", true)
        2456  +
                        .put("signingName", "s3".to_string())
        2457  +
                        .put("signingRegion", "us-east-1".to_string())
 2877   2458   
                )
 2878   2459   
                .build()
 2879   2460   
        );
 2880   2461   
    }
 2881   2462   
 2882   2463   
    /// endpoint override + FIPS + dualstack (BUG)
 2883   2464   
    #[test]
 2884   2465   
    fn test_96() {
 2885   2466   
        let params = crate::config::endpoint::Params::builder()
 2886   2467   
            .region("us-east-1".to_string())
@@ -2908,2489 +3263,2796 @@
 2928   2509   
            .use_global_endpoint(true)
 2929   2510   
            .build()
 2930   2511   
            .expect("invalid params");
 2931   2512   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2932   2513   
        let endpoint = resolver.resolve_endpoint(&params);
 2933   2514   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket%21");
 2934   2515   
        assert_eq!(
 2935   2516   
            endpoint,
 2936   2517   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2937   2518   
                .url("https://s3-fips.us-east-1.amazonaws.com/bucket%21")
 2938         -
                .property(
 2939         -
                    "authSchemes",
 2940         -
                    vec![{
 2941         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2942         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2943         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2944         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2945         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2946         -
                        out
 2947         -
                    }
 2948         -
                    .into()]
        2519  +
                .auth_scheme(
        2520  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2521  +
                        .put("disableDoubleEncoding", true)
        2522  +
                        .put("signingName", "s3".to_string())
        2523  +
                        .put("signingRegion", "us-east-1".to_string())
 2949   2524   
                )
 2950   2525   
                .build()
 2951   2526   
        );
 2952   2527   
    }
 2953   2528   
 2954   2529   
    /// bucket + FIPS + force path style
 2955   2530   
    #[test]
 2956   2531   
    fn test_99() {
 2957   2532   
        let params = crate::config::endpoint::Params::builder()
 2958   2533   
            .region("us-east-1".to_string())
 2959   2534   
            .bucket("bucket".to_string())
 2960   2535   
            .force_path_style(true)
 2961   2536   
            .use_fips(true)
 2962   2537   
            .use_dual_stack(true)
 2963   2538   
            .use_global_endpoint(true)
 2964   2539   
            .build()
 2965   2540   
            .expect("invalid params");
 2966   2541   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 2967   2542   
        let endpoint = resolver.resolve_endpoint(&params);
 2968   2543   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket");
 2969   2544   
        assert_eq!(
 2970   2545   
            endpoint,
 2971   2546   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 2972   2547   
                .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket")
 2973         -
                .property(
 2974         -
                    "authSchemes",
 2975         -
                    vec![{
 2976         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 2977         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 2978         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 2979         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 2980         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 2981         -
                        out
 2982         -
                    }
 2983         -
                    .into()]
        2548  +
                .auth_scheme(
        2549  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2550  +
                        .put("disableDoubleEncoding", true)
        2551  +
                        .put("signingName", "s3".to_string())
        2552  +
                        .put("signingRegion", "us-east-1".to_string())
 2984   2553   
                )
 2985   2554   
                .build()
 2986   2555   
        );
 2987   2556   
    }
 2988   2557   
 2989   2558   
    /// FIPS + dualstack + use global endpoint
 2990   2559   
    #[test]
 2991   2560   
    fn test_100() {
 2992   2561   
        let params = crate::config::endpoint::Params::builder()
 2993   2562   
            .region("us-east-1".to_string())
 2994   2563   
            .bucket("bucket".to_string())
 2995   2564   
            .use_fips(true)
 2996   2565   
            .use_dual_stack(true)
 2997   2566   
            .use_global_endpoint(true)
 2998   2567   
            .build()
 2999   2568   
            .expect("invalid params");
 3000   2569   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3001   2570   
        let endpoint = resolver.resolve_endpoint(&params);
 3002   2571   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket.s3-fips.dualstack.us-east-1.amazonaws.com");
 3003   2572   
        assert_eq!(
 3004   2573   
            endpoint,
 3005   2574   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3006   2575   
                .url("https://bucket.s3-fips.dualstack.us-east-1.amazonaws.com")
 3007         -
                .property(
 3008         -
                    "authSchemes",
 3009         -
                    vec![{
 3010         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3011         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3012         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3013         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3014         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3015         -
                        out
 3016         -
                    }
 3017         -
                    .into()]
        2576  +
                .auth_scheme(
        2577  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2578  +
                        .put("disableDoubleEncoding", true)
        2579  +
                        .put("signingName", "s3".to_string())
        2580  +
                        .put("signingRegion", "us-east-1".to_string())
 3018   2581   
                )
 3019   2582   
                .build()
 3020   2583   
        );
 3021   2584   
    }
 3022   2585   
 3023   2586   
    /// URI encoded bucket + use global endpoint
 3024   2587   
    #[test]
 3025   2588   
    fn test_101() {
 3026   2589   
        let params = crate::config::endpoint::Params::builder()
 3027   2590   
            .region("us-east-1".to_string())
 3028   2591   
            .bucket("bucket!".to_string())
 3029   2592   
            .use_fips(true)
 3030   2593   
            .use_dual_stack(false)
 3031   2594   
            .use_global_endpoint(true)
 3032   2595   
            .endpoint("https://foo.com".to_string())
 3033   2596   
            .build()
 3034   2597   
            .expect("invalid params");
 3035   2598   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3036   2599   
        let endpoint = resolver.resolve_endpoint(&params);
 3037   2600   
        let error = endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [URI encoded bucket + use global endpoint]");
 3038   2601   
        assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
 3039   2602   
    }
 3040   2603   
 3041   2604   
    /// FIPS + path based endpoint
 3042   2605   
    #[test]
 3043   2606   
    fn test_102() {
 3044   2607   
        let params = crate::config::endpoint::Params::builder()
 3045   2608   
            .region("us-east-1".to_string())
 3046   2609   
            .bucket("bucket!".to_string())
 3047   2610   
            .use_fips(true)
 3048   2611   
            .use_dual_stack(false)
 3049   2612   
            .accelerate(false)
 3050   2613   
            .use_global_endpoint(true)
 3051   2614   
            .build()
 3052   2615   
            .expect("invalid params");
 3053   2616   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3054   2617   
        let endpoint = resolver.resolve_endpoint(&params);
 3055   2618   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket%21");
 3056   2619   
        assert_eq!(
 3057   2620   
            endpoint,
 3058   2621   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3059   2622   
                .url("https://s3-fips.us-east-1.amazonaws.com/bucket%21")
 3060         -
                .property(
 3061         -
                    "authSchemes",
 3062         -
                    vec![{
 3063         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3064         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3065         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3066         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3067         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3068         -
                        out
 3069         -
                    }
 3070         -
                    .into()]
        2623  +
                .auth_scheme(
        2624  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2625  +
                        .put("disableDoubleEncoding", true)
        2626  +
                        .put("signingName", "s3".to_string())
        2627  +
                        .put("signingRegion", "us-east-1".to_string())
 3071   2628   
                )
 3072   2629   
                .build()
 3073   2630   
        );
 3074   2631   
    }
 3075   2632   
 3076   2633   
    /// accelerate + dualstack + global endpoint
 3077   2634   
    #[test]
 3078   2635   
    fn test_103() {
 3079   2636   
        let params = crate::config::endpoint::Params::builder()
 3080   2637   
            .region("us-east-1".to_string())
 3081   2638   
            .bucket("bucket".to_string())
 3082   2639   
            .use_fips(false)
 3083   2640   
            .use_dual_stack(true)
 3084   2641   
            .accelerate(true)
 3085   2642   
            .use_global_endpoint(true)
 3086   2643   
            .build()
 3087   2644   
            .expect("invalid params");
 3088   2645   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3089   2646   
        let endpoint = resolver.resolve_endpoint(&params);
 3090   2647   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket.s3-accelerate.dualstack.amazonaws.com");
 3091   2648   
        assert_eq!(
 3092   2649   
            endpoint,
 3093   2650   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3094   2651   
                .url("https://bucket.s3-accelerate.dualstack.amazonaws.com")
 3095         -
                .property(
 3096         -
                    "authSchemes",
 3097         -
                    vec![{
 3098         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3099         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3100         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3101         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3102         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3103         -
                        out
 3104         -
                    }
 3105         -
                    .into()]
        2652  +
                .auth_scheme(
        2653  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2654  +
                        .put("disableDoubleEncoding", true)
        2655  +
                        .put("signingName", "s3".to_string())
        2656  +
                        .put("signingRegion", "us-east-1".to_string())
 3106   2657   
                )
 3107   2658   
                .build()
 3108   2659   
        );
 3109   2660   
    }
 3110   2661   
 3111   2662   
    /// dualstack + global endpoint + non URI safe bucket
 3112   2663   
    #[test]
 3113   2664   
    fn test_104() {
 3114   2665   
        let params = crate::config::endpoint::Params::builder()
 3115   2666   
            .region("us-east-1".to_string())
 3116   2667   
            .bucket("bucket!".to_string())
 3117   2668   
            .accelerate(false)
 3118   2669   
            .use_dual_stack(true)
 3119   2670   
            .use_fips(false)
 3120   2671   
            .use_global_endpoint(true)
 3121   2672   
            .build()
 3122   2673   
            .expect("invalid params");
 3123   2674   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3124   2675   
        let endpoint = resolver.resolve_endpoint(&params);
 3125   2676   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com/bucket%21");
 3126   2677   
        assert_eq!(
 3127   2678   
            endpoint,
 3128   2679   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3129   2680   
                .url("https://s3.dualstack.us-east-1.amazonaws.com/bucket%21")
 3130         -
                .property(
 3131         -
                    "authSchemes",
 3132         -
                    vec![{
 3133         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3134         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3135         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3136         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3137         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3138         -
                        out
 3139         -
                    }
 3140         -
                    .into()]
        2681  +
                .auth_scheme(
        2682  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2683  +
                        .put("disableDoubleEncoding", true)
        2684  +
                        .put("signingName", "s3".to_string())
        2685  +
                        .put("signingRegion", "us-east-1".to_string())
 3141   2686   
                )
 3142   2687   
                .build()
 3143   2688   
        );
 3144   2689   
    }
 3145   2690   
 3146   2691   
    /// FIPS + uri encoded bucket
 3147   2692   
    #[test]
 3148   2693   
    fn test_105() {
 3149   2694   
        let params = crate::config::endpoint::Params::builder()
 3150   2695   
            .region("us-east-1".to_string())
 3151   2696   
            .bucket("bucket!".to_string())
 3152   2697   
            .force_path_style(true)
 3153   2698   
            .accelerate(false)
 3154   2699   
            .use_dual_stack(false)
 3155   2700   
            .use_fips(true)
 3156   2701   
            .use_global_endpoint(true)
 3157   2702   
            .build()
 3158   2703   
            .expect("invalid params");
 3159   2704   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3160   2705   
        let endpoint = resolver.resolve_endpoint(&params);
 3161   2706   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket%21");
 3162   2707   
        assert_eq!(
 3163   2708   
            endpoint,
 3164   2709   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3165   2710   
                .url("https://s3-fips.us-east-1.amazonaws.com/bucket%21")
 3166         -
                .property(
 3167         -
                    "authSchemes",
 3168         -
                    vec![{
 3169         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3170         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3171         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3172         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3173         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3174         -
                        out
 3175         -
                    }
 3176         -
                    .into()]
        2711  +
                .auth_scheme(
        2712  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2713  +
                        .put("disableDoubleEncoding", true)
        2714  +
                        .put("signingName", "s3".to_string())
        2715  +
                        .put("signingRegion", "us-east-1".to_string())
 3177   2716   
                )
 3178   2717   
                .build()
 3179   2718   
        );
 3180   2719   
    }
 3181   2720   
 3182   2721   
    /// endpoint override + non-uri safe endpoint + force path style
 3183   2722   
    #[test]
 3184   2723   
    fn test_106() {
 3185   2724   
        let params = crate::config::endpoint::Params::builder()
 3186   2725   
            .region("us-east-1".to_string())
 3187   2726   
            .bucket("bucket!".to_string())
 3188   2727   
            .force_path_style(true)
 3189   2728   
            .accelerate(false)
 3190   2729   
            .use_dual_stack(false)
 3191   2730   
            .use_fips(true)
 3192   2731   
            .endpoint("http://foo.com".to_string())
 3193   2732   
            .use_global_endpoint(true)
 3194   2733   
            .build()
 3195   2734   
            .expect("invalid params");
 3196   2735   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3197   2736   
        let endpoint = resolver.resolve_endpoint(&params);
 3198   2737   
        let error = endpoint.expect_err(
 3199   2738   
            "expected error: A custom endpoint cannot be combined with FIPS [endpoint override + non-uri safe endpoint + force path style]",
 3200   2739   
        );
 3201   2740   
        assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
 3202   2741   
    }
 3203   2742   
 3204   2743   
    /// FIPS + Dualstack + global endpoint + non-dns bucket
 3205   2744   
    #[test]
 3206   2745   
    fn test_107() {
 3207   2746   
        let params = crate::config::endpoint::Params::builder()
 3208   2747   
            .region("us-east-1".to_string())
 3209   2748   
            .bucket("bucket!".to_string())
 3210   2749   
            .accelerate(false)
 3211   2750   
            .use_dual_stack(true)
 3212   2751   
            .use_fips(true)
 3213   2752   
            .use_global_endpoint(true)
 3214   2753   
            .build()
 3215   2754   
            .expect("invalid params");
 3216   2755   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3217   2756   
        let endpoint = resolver.resolve_endpoint(&params);
 3218   2757   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
 3219   2758   
        assert_eq!(
 3220   2759   
            endpoint,
 3221   2760   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3222   2761   
                .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
 3223         -
                .property(
 3224         -
                    "authSchemes",
 3225         -
                    vec![{
 3226         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3227         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3228         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3229         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3230         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3231         -
                        out
 3232         -
                    }
 3233         -
                    .into()]
        2762  +
                .auth_scheme(
        2763  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2764  +
                        .put("disableDoubleEncoding", true)
        2765  +
                        .put("signingName", "s3".to_string())
        2766  +
                        .put("signingRegion", "us-east-1".to_string())
 3234   2767   
                )
 3235   2768   
                .build()
 3236   2769   
        );
 3237   2770   
    }
 3238   2771   
 3239   2772   
    /// endpoint override + FIPS + dualstack
 3240   2773   
    #[test]
 3241   2774   
    fn test_108() {
 3242   2775   
        let params = crate::config::endpoint::Params::builder()
 3243   2776   
            .region("us-east-1".to_string())
@@ -3296,2829 +3720,3199 @@
 3316   2849   
            .use_dual_stack(true)
 3317   2850   
            .build()
 3318   2851   
            .expect("invalid params");
 3319   2852   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3320   2853   
        let endpoint = resolver.resolve_endpoint(&params);
 3321   2854   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
 3322   2855   
        assert_eq!(
 3323   2856   
            endpoint,
 3324   2857   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3325   2858   
                .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
 3326         -
                .property(
 3327         -
                    "authSchemes",
 3328         -
                    vec![{
 3329         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3330         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3331         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3332         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3333         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3334         -
                        out
 3335         -
                    }
 3336         -
                    .into()]
        2859  +
                .auth_scheme(
        2860  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2861  +
                        .put("disableDoubleEncoding", true)
        2862  +
                        .put("signingName", "s3".to_string())
        2863  +
                        .put("signingRegion", "us-east-1".to_string())
 3337   2864   
                )
 3338   2865   
                .build()
 3339   2866   
        );
 3340   2867   
    }
 3341   2868   
 3342   2869   
    /// aws-global signs as us-east-1
 3343   2870   
    #[test]
 3344   2871   
    fn test_113() {
 3345   2872   
        let params = crate::config::endpoint::Params::builder()
 3346   2873   
            .region("aws-global".to_string())
 3347   2874   
            .bucket("bucket".to_string())
 3348   2875   
            .use_dual_stack(false)
 3349   2876   
            .use_fips(false)
 3350   2877   
            .accelerate(false)
 3351   2878   
            .endpoint("https://foo.com".to_string())
 3352   2879   
            .build()
 3353   2880   
            .expect("invalid params");
 3354   2881   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3355   2882   
        let endpoint = resolver.resolve_endpoint(&params);
 3356   2883   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket.foo.com");
 3357   2884   
        assert_eq!(
 3358   2885   
            endpoint,
 3359   2886   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3360   2887   
                .url("https://bucket.foo.com")
 3361         -
                .property(
 3362         -
                    "authSchemes",
 3363         -
                    vec![{
 3364         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3365         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3366         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3367         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3368         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3369         -
                        out
 3370         -
                    }
 3371         -
                    .into()]
        2888  +
                .auth_scheme(
        2889  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2890  +
                        .put("disableDoubleEncoding", true)
        2891  +
                        .put("signingName", "s3".to_string())
        2892  +
                        .put("signingRegion", "us-east-1".to_string())
 3372   2893   
                )
 3373   2894   
                .build()
 3374   2895   
        );
 3375   2896   
    }
 3376   2897   
 3377   2898   
    /// aws-global + dualstack + path-only bucket
 3378   2899   
    #[test]
 3379   2900   
    fn test_114() {
 3380   2901   
        let params = crate::config::endpoint::Params::builder()
 3381   2902   
            .region("aws-global".to_string())
 3382   2903   
            .bucket("bucket!".to_string())
 3383   2904   
            .use_dual_stack(true)
 3384   2905   
            .use_fips(false)
 3385   2906   
            .accelerate(false)
 3386   2907   
            .build()
 3387   2908   
            .expect("invalid params");
 3388   2909   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3389   2910   
        let endpoint = resolver.resolve_endpoint(&params);
 3390   2911   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-east-1.amazonaws.com/bucket%21");
 3391   2912   
        assert_eq!(
 3392   2913   
            endpoint,
 3393   2914   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3394   2915   
                .url("https://s3.dualstack.us-east-1.amazonaws.com/bucket%21")
 3395         -
                .property(
 3396         -
                    "authSchemes",
 3397         -
                    vec![{
 3398         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3399         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3400         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3401         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3402         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3403         -
                        out
 3404         -
                    }
 3405         -
                    .into()]
        2916  +
                .auth_scheme(
        2917  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2918  +
                        .put("disableDoubleEncoding", true)
        2919  +
                        .put("signingName", "s3".to_string())
        2920  +
                        .put("signingRegion", "us-east-1".to_string())
 3406   2921   
                )
 3407   2922   
                .build()
 3408   2923   
        );
 3409   2924   
    }
 3410   2925   
 3411   2926   
    /// aws-global + path-only bucket
 3412   2927   
    #[test]
 3413   2928   
    fn test_115() {
 3414   2929   
        let params = crate::config::endpoint::Params::builder()
 3415   2930   
            .region("aws-global".to_string())
 3416   2931   
            .bucket("bucket!".to_string())
 3417   2932   
            .build()
 3418   2933   
            .expect("invalid params");
 3419   2934   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3420   2935   
        let endpoint = resolver.resolve_endpoint(&params);
 3421   2936   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.amazonaws.com/bucket%21");
 3422   2937   
        assert_eq!(
 3423   2938   
            endpoint,
 3424   2939   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3425   2940   
                .url("https://s3.amazonaws.com/bucket%21")
 3426         -
                .property(
 3427         -
                    "authSchemes",
 3428         -
                    vec![{
 3429         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3430         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3431         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3432         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3433         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3434         -
                        out
 3435         -
                    }
 3436         -
                    .into()]
        2941  +
                .auth_scheme(
        2942  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2943  +
                        .put("disableDoubleEncoding", true)
        2944  +
                        .put("signingName", "s3".to_string())
        2945  +
                        .put("signingRegion", "us-east-1".to_string())
 3437   2946   
                )
 3438   2947   
                .build()
 3439   2948   
        );
 3440   2949   
    }
 3441   2950   
 3442   2951   
    /// aws-global + fips + custom endpoint
 3443   2952   
    #[test]
 3444   2953   
    fn test_116() {
 3445   2954   
        let params = crate::config::endpoint::Params::builder()
 3446   2955   
            .region("aws-global".to_string())
 3447   2956   
            .bucket("bucket!".to_string())
 3448   2957   
            .use_dual_stack(false)
 3449   2958   
            .use_fips(true)
 3450   2959   
            .accelerate(false)
 3451   2960   
            .endpoint("http://foo.com".to_string())
 3452   2961   
            .build()
 3453   2962   
            .expect("invalid params");
 3454   2963   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3455   2964   
        let endpoint = resolver.resolve_endpoint(&params);
 3456   2965   
        let error = endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [aws-global + fips + custom endpoint]");
 3457   2966   
        assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
 3458   2967   
    }
 3459   2968   
 3460   2969   
    /// aws-global, endpoint override & path only-bucket
 3461   2970   
    #[test]
 3462   2971   
    fn test_117() {
 3463   2972   
        let params = crate::config::endpoint::Params::builder()
 3464   2973   
            .region("aws-global".to_string())
 3465   2974   
            .bucket("bucket!".to_string())
 3466   2975   
            .use_dual_stack(false)
 3467   2976   
            .use_fips(false)
 3468   2977   
            .accelerate(false)
 3469   2978   
            .endpoint("http://foo.com".to_string())
 3470   2979   
            .build()
 3471   2980   
            .expect("invalid params");
 3472   2981   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3473   2982   
        let endpoint = resolver.resolve_endpoint(&params);
 3474   2983   
        let endpoint = endpoint.expect("Expected valid endpoint: http://foo.com/bucket%21");
 3475   2984   
        assert_eq!(
 3476   2985   
            endpoint,
 3477   2986   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3478   2987   
                .url("http://foo.com/bucket%21")
 3479         -
                .property(
 3480         -
                    "authSchemes",
 3481         -
                    vec![{
 3482         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3483         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3484         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3485         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3486         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3487         -
                        out
 3488         -
                    }
 3489         -
                    .into()]
        2988  +
                .auth_scheme(
        2989  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        2990  +
                        .put("disableDoubleEncoding", true)
        2991  +
                        .put("signingName", "s3".to_string())
        2992  +
                        .put("signingRegion", "us-east-1".to_string())
 3490   2993   
                )
 3491   2994   
                .build()
 3492   2995   
        );
 3493   2996   
    }
 3494   2997   
 3495   2998   
    /// aws-global + dualstack + custom endpoint
 3496   2999   
    #[test]
 3497   3000   
    fn test_118() {
 3498   3001   
        let params = crate::config::endpoint::Params::builder()
 3499   3002   
            .region("aws-global".to_string())
 3500   3003   
            .use_dual_stack(true)
 3501   3004   
            .use_fips(false)
 3502   3005   
            .accelerate(false)
 3503   3006   
            .endpoint("http://foo.com".to_string())
 3504   3007   
            .build()
 3505   3008   
            .expect("invalid params");
 3506   3009   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3507   3010   
        let endpoint = resolver.resolve_endpoint(&params);
 3508   3011   
        let error = endpoint
 3509   3012   
            .expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [aws-global + dualstack + custom endpoint]");
 3510   3013   
        assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
 3511   3014   
    }
 3512   3015   
 3513   3016   
    /// accelerate, dualstack + aws-global
 3514   3017   
    #[test]
 3515   3018   
    fn test_119() {
 3516   3019   
        let params = crate::config::endpoint::Params::builder()
 3517   3020   
            .region("aws-global".to_string())
 3518   3021   
            .bucket("bucket".to_string())
 3519   3022   
            .use_dual_stack(true)
 3520   3023   
            .use_fips(false)
 3521   3024   
            .accelerate(true)
 3522   3025   
            .build()
 3523   3026   
            .expect("invalid params");
 3524   3027   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3525   3028   
        let endpoint = resolver.resolve_endpoint(&params);
 3526   3029   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket.s3-accelerate.dualstack.us-east-1.amazonaws.com");
 3527   3030   
        assert_eq!(
 3528   3031   
            endpoint,
 3529   3032   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3530   3033   
                .url("https://bucket.s3-accelerate.dualstack.us-east-1.amazonaws.com")
 3531         -
                .property(
 3532         -
                    "authSchemes",
 3533         -
                    vec![{
 3534         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3535         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3536         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3537         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3538         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3539         -
                        out
 3540         -
                    }
 3541         -
                    .into()]
        3034  +
                .auth_scheme(
        3035  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3036  +
                        .put("disableDoubleEncoding", true)
        3037  +
                        .put("signingName", "s3".to_string())
        3038  +
                        .put("signingRegion", "us-east-1".to_string())
 3542   3039   
                )
 3543   3040   
                .build()
 3544   3041   
        );
 3545   3042   
    }
 3546   3043   
 3547   3044   
    /// FIPS + aws-global + path only bucket. This is not supported by S3 but we allow garbage in garbage out
 3548   3045   
    #[test]
 3549   3046   
    fn test_120() {
 3550   3047   
        let params = crate::config::endpoint::Params::builder()
 3551   3048   
            .region("aws-global".to_string())
 3552   3049   
            .bucket("bucket!".to_string())
 3553   3050   
            .force_path_style(true)
 3554   3051   
            .use_dual_stack(true)
 3555   3052   
            .use_fips(true)
 3556   3053   
            .accelerate(false)
 3557   3054   
            .build()
 3558   3055   
            .expect("invalid params");
 3559   3056   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3560   3057   
        let endpoint = resolver.resolve_endpoint(&params);
 3561   3058   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21");
 3562   3059   
        assert_eq!(
 3563   3060   
            endpoint,
 3564   3061   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3565   3062   
                .url("https://s3-fips.dualstack.us-east-1.amazonaws.com/bucket%21")
 3566         -
                .property(
 3567         -
                    "authSchemes",
 3568         -
                    vec![{
 3569         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3570         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3571         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3572         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3573         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3574         -
                        out
 3575         -
                    }
 3576         -
                    .into()]
        3063  +
                .auth_scheme(
        3064  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3065  +
                        .put("disableDoubleEncoding", true)
        3066  +
                        .put("signingName", "s3".to_string())
        3067  +
                        .put("signingRegion", "us-east-1".to_string())
 3577   3068   
                )
 3578   3069   
                .build()
 3579   3070   
        );
 3580   3071   
    }
 3581   3072   
 3582   3073   
    /// aws-global + FIPS + endpoint override.
 3583   3074   
    #[test]
 3584   3075   
    fn test_121() {
 3585   3076   
        let params = crate::config::endpoint::Params::builder()
 3586   3077   
            .region("aws-global".to_string())
 3587   3078   
            .use_fips(true)
 3588   3079   
            .endpoint("http://foo.com".to_string())
 3589   3080   
            .build()
 3590   3081   
            .expect("invalid params");
 3591   3082   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3592   3083   
        let endpoint = resolver.resolve_endpoint(&params);
 3593   3084   
        let error = endpoint.expect_err("expected error: A custom endpoint cannot be combined with FIPS [aws-global + FIPS + endpoint override.]");
 3594   3085   
        assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
 3595   3086   
    }
 3596   3087   
 3597   3088   
    /// force path style, FIPS, aws-global & endpoint override
 3598   3089   
    #[test]
 3599   3090   
    fn test_122() {
 3600   3091   
        let params = crate::config::endpoint::Params::builder()
 3601   3092   
            .region("aws-global".to_string())
 3602   3093   
            .bucket("bucket!".to_string())
 3603   3094   
            .force_path_style(true)
 3604   3095   
            .use_fips(true)
 3605   3096   
            .endpoint("http://foo.com".to_string())
 3606   3097   
            .build()
 3607   3098   
            .expect("invalid params");
 3608   3099   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3609   3100   
        let endpoint = resolver.resolve_endpoint(&params);
 3610   3101   
        let error = endpoint
 3611   3102   
            .expect_err("expected error: A custom endpoint cannot be combined with FIPS [force path style, FIPS, aws-global & endpoint override]");
 3612   3103   
        assert_eq!(format!("{}", error), "A custom endpoint cannot be combined with FIPS")
 3613   3104   
    }
 3614   3105   
 3615   3106   
    /// ip address causes path style to be forced
 3616   3107   
    #[test]
 3617   3108   
    fn test_123() {
 3618   3109   
        let params = crate::config::endpoint::Params::builder()
 3619   3110   
            .region("aws-global".to_string())
 3620   3111   
            .bucket("bucket".to_string())
 3621   3112   
            .endpoint("http://192.168.1.1".to_string())
 3622   3113   
            .build()
 3623   3114   
            .expect("invalid params");
 3624   3115   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3625   3116   
        let endpoint = resolver.resolve_endpoint(&params);
 3626   3117   
        let endpoint = endpoint.expect("Expected valid endpoint: http://192.168.1.1/bucket");
 3627   3118   
        assert_eq!(
 3628   3119   
            endpoint,
 3629   3120   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3630   3121   
                .url("http://192.168.1.1/bucket")
 3631         -
                .property(
 3632         -
                    "authSchemes",
 3633         -
                    vec![{
 3634         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3635         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3636         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3637         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3638         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3639         -
                        out
 3640         -
                    }
 3641         -
                    .into()]
        3122  +
                .auth_scheme(
        3123  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3124  +
                        .put("disableDoubleEncoding", true)
        3125  +
                        .put("signingName", "s3".to_string())
        3126  +
                        .put("signingRegion", "us-east-1".to_string())
 3642   3127   
                )
 3643   3128   
                .build()
 3644   3129   
        );
 3645   3130   
    }
 3646   3131   
 3647   3132   
    /// endpoint override with aws-global region
 3648   3133   
    #[test]
 3649   3134   
    fn test_124() {
 3650   3135   
        let params = crate::config::endpoint::Params::builder()
 3651   3136   
            .region("aws-global".to_string())
 3652   3137   
            .use_fips(true)
 3653   3138   
            .use_dual_stack(true)
 3654   3139   
            .endpoint("http://foo.com".to_string())
 3655   3140   
            .build()
 3656   3141   
            .expect("invalid params");
 3657   3142   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3658   3143   
        let endpoint = resolver.resolve_endpoint(&params);
 3659   3144   
        let error = endpoint
 3660   3145   
            .expect_err("expected error: Cannot set dual-stack in combination with a custom endpoint. [endpoint override with aws-global region]");
 3661   3146   
        assert_eq!(format!("{}", error), "Cannot set dual-stack in combination with a custom endpoint.")
 3662   3147   
    }
 3663   3148   
 3664   3149   
    /// FIPS + path-only (TODO: consider making this an error)
 3665   3150   
    #[test]
 3666   3151   
    fn test_125() {
 3667   3152   
        let params = crate::config::endpoint::Params::builder()
 3668   3153   
            .region("aws-global".to_string())
 3669   3154   
            .bucket("bucket!".to_string())
 3670   3155   
            .use_fips(true)
 3671   3156   
            .build()
 3672   3157   
            .expect("invalid params");
 3673   3158   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3674   3159   
        let endpoint = resolver.resolve_endpoint(&params);
 3675   3160   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-east-1.amazonaws.com/bucket%21");
 3676   3161   
        assert_eq!(
 3677   3162   
            endpoint,
 3678   3163   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3679   3164   
                .url("https://s3-fips.us-east-1.amazonaws.com/bucket%21")
 3680         -
                .property(
 3681         -
                    "authSchemes",
 3682         -
                    vec![{
 3683         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3684         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 3685         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3686         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3687         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3688         -
                        out
 3689         -
                    }
 3690         -
                    .into()]
        3165  +
                .auth_scheme(
        3166  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3167  +
                        .put("disableDoubleEncoding", true)
        3168  +
                        .put("signingName", "s3".to_string())
        3169  +
                        .put("signingRegion", "us-east-1".to_string())
 3691   3170   
                )
 3692   3171   
                .build()
 3693   3172   
        );
 3694   3173   
    }
 3695   3174   
 3696   3175   
    /// empty arn type
 3697   3176   
    #[test]
 3698   3177   
    fn test_126() {
 3699   3178   
        let params = crate::config::endpoint::Params::builder()
 3700   3179   
            .region("us-east-2".to_string())
@@ -3899,3378 +4942,4265 @@
 3919   3398   
            .use_global_endpoint(true)
 3920   3399   
            .build()
 3921   3400   
            .expect("invalid params");
 3922   3401   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3923   3402   
        let endpoint = resolver.resolve_endpoint(&params);
 3924   3403   
        let endpoint = endpoint.expect("Expected valid endpoint: http://bucket.example.com");
 3925   3404   
        assert_eq!(
 3926   3405   
            endpoint,
 3927   3406   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3928   3407   
                .url("http://bucket.example.com")
 3929         -
                .property(
 3930         -
                    "authSchemes",
 3931         -
                    vec![{
 3932         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3933         -
                        out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
 3934         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3935         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3936         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3937         -
                        out
 3938         -
                    }
 3939         -
                    .into()]
        3408  +
                .auth_scheme(
        3409  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3410  +
                        .put("disableDoubleEncoding", true)
        3411  +
                        .put("signingName", "s3".to_string())
        3412  +
                        .put("signingRegion", "us-east-2".to_string())
 3940   3413   
                )
 3941   3414   
                .build()
 3942   3415   
        );
 3943   3416   
    }
 3944   3417   
 3945   3418   
    /// global endpoint + ip address
 3946   3419   
    #[test]
 3947   3420   
    fn test_141() {
 3948   3421   
        let params = crate::config::endpoint::Params::builder()
 3949   3422   
            .region("us-east-2".to_string())
 3950   3423   
            .bucket("bucket".to_string())
 3951   3424   
            .endpoint("http://192.168.0.1".to_string())
 3952   3425   
            .use_global_endpoint(true)
 3953   3426   
            .build()
 3954   3427   
            .expect("invalid params");
 3955   3428   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3956   3429   
        let endpoint = resolver.resolve_endpoint(&params);
 3957   3430   
        let endpoint = endpoint.expect("Expected valid endpoint: http://192.168.0.1/bucket");
 3958   3431   
        assert_eq!(
 3959   3432   
            endpoint,
 3960   3433   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3961   3434   
                .url("http://192.168.0.1/bucket")
 3962         -
                .property(
 3963         -
                    "authSchemes",
 3964         -
                    vec![{
 3965         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3966         -
                        out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
 3967         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 3968         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 3969         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 3970         -
                        out
 3971         -
                    }
 3972         -
                    .into()]
        3435  +
                .auth_scheme(
        3436  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3437  +
                        .put("disableDoubleEncoding", true)
        3438  +
                        .put("signingName", "s3".to_string())
        3439  +
                        .put("signingRegion", "us-east-2".to_string())
 3973   3440   
                )
 3974   3441   
                .build()
 3975   3442   
        );
 3976   3443   
    }
 3977   3444   
 3978   3445   
    /// invalid outpost type
 3979   3446   
    #[test]
 3980   3447   
    fn test_142() {
 3981   3448   
        let params = crate::config::endpoint::Params::builder()
 3982   3449   
            .region("us-east-2".to_string())
 3983   3450   
            .bucket("bucket!".to_string())
 3984   3451   
            .use_global_endpoint(true)
 3985   3452   
            .build()
 3986   3453   
            .expect("invalid params");
 3987   3454   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 3988   3455   
        let endpoint = resolver.resolve_endpoint(&params);
 3989   3456   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-east-2.amazonaws.com/bucket%21");
 3990   3457   
        assert_eq!(
 3991   3458   
            endpoint,
 3992   3459   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 3993   3460   
                .url("https://s3.us-east-2.amazonaws.com/bucket%21")
 3994         -
                .property(
 3995         -
                    "authSchemes",
 3996         -
                    vec![{
 3997         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 3998         -
                        out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
 3999         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4000         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4001         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4002         -
                        out
 4003         -
                    }
 4004         -
                    .into()]
        3461  +
                .auth_scheme(
        3462  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3463  +
                        .put("disableDoubleEncoding", true)
        3464  +
                        .put("signingName", "s3".to_string())
        3465  +
                        .put("signingRegion", "us-east-2".to_string())
 4005   3466   
                )
 4006   3467   
                .build()
 4007   3468   
        );
 4008   3469   
    }
 4009   3470   
 4010   3471   
    /// invalid outpost type
 4011   3472   
    #[test]
 4012   3473   
    fn test_143() {
 4013   3474   
        let params = crate::config::endpoint::Params::builder()
 4014   3475   
            .region("us-east-2".to_string())
 4015   3476   
            .bucket("bucket".to_string())
 4016   3477   
            .accelerate(true)
 4017   3478   
            .use_global_endpoint(true)
 4018   3479   
            .build()
 4019   3480   
            .expect("invalid params");
 4020   3481   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4021   3482   
        let endpoint = resolver.resolve_endpoint(&params);
 4022   3483   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket.s3-accelerate.amazonaws.com");
 4023   3484   
        assert_eq!(
 4024   3485   
            endpoint,
 4025   3486   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4026   3487   
                .url("https://bucket.s3-accelerate.amazonaws.com")
 4027         -
                .property(
 4028         -
                    "authSchemes",
 4029         -
                    vec![{
 4030         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4031         -
                        out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
 4032         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4033         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4034         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4035         -
                        out
 4036         -
                    }
 4037         -
                    .into()]
        3488  +
                .auth_scheme(
        3489  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3490  +
                        .put("disableDoubleEncoding", true)
        3491  +
                        .put("signingName", "s3".to_string())
        3492  +
                        .put("signingRegion", "us-east-2".to_string())
 4038   3493   
                )
 4039   3494   
                .build()
 4040   3495   
        );
 4041   3496   
    }
 4042   3497   
 4043   3498   
    /// use global endpoint + custom endpoint
 4044   3499   
    #[test]
 4045   3500   
    fn test_144() {
 4046   3501   
        let params = crate::config::endpoint::Params::builder()
 4047   3502   
            .region("us-east-2".to_string())
 4048   3503   
            .bucket("bucket!".to_string())
 4049   3504   
            .use_global_endpoint(true)
 4050   3505   
            .endpoint("http://foo.com".to_string())
 4051   3506   
            .build()
 4052   3507   
            .expect("invalid params");
 4053   3508   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4054   3509   
        let endpoint = resolver.resolve_endpoint(&params);
 4055   3510   
        let endpoint = endpoint.expect("Expected valid endpoint: http://foo.com/bucket%21");
 4056   3511   
        assert_eq!(
 4057   3512   
            endpoint,
 4058   3513   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4059   3514   
                .url("http://foo.com/bucket%21")
 4060         -
                .property(
 4061         -
                    "authSchemes",
 4062         -
                    vec![{
 4063         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4064         -
                        out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
 4065         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4066         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4067         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4068         -
                        out
 4069         -
                    }
 4070         -
                    .into()]
        3515  +
                .auth_scheme(
        3516  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3517  +
                        .put("disableDoubleEncoding", true)
        3518  +
                        .put("signingName", "s3".to_string())
        3519  +
                        .put("signingRegion", "us-east-2".to_string())
 4071   3520   
                )
 4072   3521   
                .build()
 4073   3522   
        );
 4074   3523   
    }
 4075   3524   
 4076   3525   
    /// use global endpoint, not us-east-1, force path style
 4077   3526   
    #[test]
 4078   3527   
    fn test_145() {
 4079   3528   
        let params = crate::config::endpoint::Params::builder()
 4080   3529   
            .region("us-east-2".to_string())
 4081   3530   
            .bucket("bucket!".to_string())
 4082   3531   
            .use_global_endpoint(true)
 4083   3532   
            .force_path_style(true)
 4084   3533   
            .endpoint("http://foo.com".to_string())
 4085   3534   
            .build()
 4086   3535   
            .expect("invalid params");
 4087   3536   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4088   3537   
        let endpoint = resolver.resolve_endpoint(&params);
 4089   3538   
        let endpoint = endpoint.expect("Expected valid endpoint: http://foo.com/bucket%21");
 4090   3539   
        assert_eq!(
 4091   3540   
            endpoint,
 4092   3541   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4093   3542   
                .url("http://foo.com/bucket%21")
 4094         -
                .property(
 4095         -
                    "authSchemes",
 4096         -
                    vec![{
 4097         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4098         -
                        out.insert("signingRegion".to_string(), "us-east-2".to_string().into());
 4099         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4100         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4101         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4102         -
                        out
 4103         -
                    }
 4104         -
                    .into()]
        3543  +
                .auth_scheme(
        3544  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3545  +
                        .put("disableDoubleEncoding", true)
        3546  +
                        .put("signingName", "s3".to_string())
        3547  +
                        .put("signingRegion", "us-east-2".to_string())
 4105   3548   
                )
 4106   3549   
                .build()
 4107   3550   
        );
 4108   3551   
    }
 4109   3552   
 4110   3553   
    /// vanilla virtual addressing@us-west-2
 4111   3554   
    #[test]
 4112   3555   
    fn test_146() {
 4113   3556   
        let params = crate::config::endpoint::Params::builder()
 4114   3557   
            .accelerate(false)
 4115   3558   
            .bucket("bucket-name".to_string())
 4116   3559   
            .force_path_style(false)
 4117   3560   
            .region("us-west-2".to_string())
 4118   3561   
            .use_dual_stack(false)
 4119   3562   
            .use_fips(false)
 4120   3563   
            .build()
 4121   3564   
            .expect("invalid params");
 4122   3565   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4123   3566   
        let endpoint = resolver.resolve_endpoint(&params);
 4124   3567   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.us-west-2.amazonaws.com");
 4125   3568   
        assert_eq!(
 4126   3569   
            endpoint,
 4127   3570   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4128   3571   
                .url("https://bucket-name.s3.us-west-2.amazonaws.com")
 4129         -
                .property(
 4130         -
                    "authSchemes",
 4131         -
                    vec![{
 4132         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4133         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4134         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4135         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4136         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4137         -
                        out
 4138         -
                    }
 4139         -
                    .into()]
        3572  +
                .auth_scheme(
        3573  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3574  +
                        .put("disableDoubleEncoding", true)
        3575  +
                        .put("signingName", "s3".to_string())
        3576  +
                        .put("signingRegion", "us-west-2".to_string())
 4140   3577   
                )
 4141   3578   
                .build()
 4142   3579   
        );
 4143   3580   
    }
 4144   3581   
 4145   3582   
    /// virtual addressing + dualstack@us-west-2
 4146   3583   
    #[test]
 4147   3584   
    fn test_147() {
 4148   3585   
        let params = crate::config::endpoint::Params::builder()
 4149   3586   
            .accelerate(false)
 4150   3587   
            .bucket("bucket-name".to_string())
 4151   3588   
            .force_path_style(false)
 4152   3589   
            .region("us-west-2".to_string())
 4153   3590   
            .use_dual_stack(true)
 4154   3591   
            .use_fips(false)
 4155   3592   
            .build()
 4156   3593   
            .expect("invalid params");
 4157   3594   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4158   3595   
        let endpoint = resolver.resolve_endpoint(&params);
 4159   3596   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.dualstack.us-west-2.amazonaws.com");
 4160   3597   
        assert_eq!(
 4161   3598   
            endpoint,
 4162   3599   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4163   3600   
                .url("https://bucket-name.s3.dualstack.us-west-2.amazonaws.com")
 4164         -
                .property(
 4165         -
                    "authSchemes",
 4166         -
                    vec![{
 4167         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4168         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4169         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4170         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4171         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4172         -
                        out
 4173         -
                    }
 4174         -
                    .into()]
        3601  +
                .auth_scheme(
        3602  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3603  +
                        .put("disableDoubleEncoding", true)
        3604  +
                        .put("signingName", "s3".to_string())
        3605  +
                        .put("signingRegion", "us-west-2".to_string())
 4175   3606   
                )
 4176   3607   
                .build()
 4177   3608   
        );
 4178   3609   
    }
 4179   3610   
 4180   3611   
    /// accelerate + dualstack@us-west-2
 4181   3612   
    #[test]
 4182   3613   
    fn test_148() {
 4183   3614   
        let params = crate::config::endpoint::Params::builder()
 4184   3615   
            .accelerate(true)
 4185   3616   
            .bucket("bucket-name".to_string())
 4186   3617   
            .force_path_style(false)
 4187   3618   
            .region("us-west-2".to_string())
 4188   3619   
            .use_dual_stack(true)
 4189   3620   
            .use_fips(false)
 4190   3621   
            .build()
 4191   3622   
            .expect("invalid params");
 4192   3623   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4193   3624   
        let endpoint = resolver.resolve_endpoint(&params);
 4194   3625   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.dualstack.amazonaws.com");
 4195   3626   
        assert_eq!(
 4196   3627   
            endpoint,
 4197   3628   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4198   3629   
                .url("https://bucket-name.s3-accelerate.dualstack.amazonaws.com")
 4199         -
                .property(
 4200         -
                    "authSchemes",
 4201         -
                    vec![{
 4202         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4203         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4204         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4205         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4206         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4207         -
                        out
 4208         -
                    }
 4209         -
                    .into()]
        3630  +
                .auth_scheme(
        3631  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3632  +
                        .put("disableDoubleEncoding", true)
        3633  +
                        .put("signingName", "s3".to_string())
        3634  +
                        .put("signingRegion", "us-west-2".to_string())
 4210   3635   
                )
 4211   3636   
                .build()
 4212   3637   
        );
 4213   3638   
    }
 4214   3639   
 4215   3640   
    /// accelerate (dualstack=false)@us-west-2
 4216   3641   
    #[test]
 4217   3642   
    fn test_149() {
 4218   3643   
        let params = crate::config::endpoint::Params::builder()
 4219   3644   
            .accelerate(true)
 4220   3645   
            .bucket("bucket-name".to_string())
 4221   3646   
            .force_path_style(false)
 4222   3647   
            .region("us-west-2".to_string())
 4223   3648   
            .use_dual_stack(false)
 4224   3649   
            .use_fips(false)
 4225   3650   
            .build()
 4226   3651   
            .expect("invalid params");
 4227   3652   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4228   3653   
        let endpoint = resolver.resolve_endpoint(&params);
 4229   3654   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.amazonaws.com");
 4230   3655   
        assert_eq!(
 4231   3656   
            endpoint,
 4232   3657   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4233   3658   
                .url("https://bucket-name.s3-accelerate.amazonaws.com")
 4234         -
                .property(
 4235         -
                    "authSchemes",
 4236         -
                    vec![{
 4237         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4238         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4239         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4240         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4241         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4242         -
                        out
 4243         -
                    }
 4244         -
                    .into()]
        3659  +
                .auth_scheme(
        3660  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3661  +
                        .put("disableDoubleEncoding", true)
        3662  +
                        .put("signingName", "s3".to_string())
        3663  +
                        .put("signingRegion", "us-west-2".to_string())
 4245   3664   
                )
 4246   3665   
                .build()
 4247   3666   
        );
 4248   3667   
    }
 4249   3668   
 4250   3669   
    /// virtual addressing + fips@us-west-2
 4251   3670   
    #[test]
 4252   3671   
    fn test_150() {
 4253   3672   
        let params = crate::config::endpoint::Params::builder()
 4254   3673   
            .accelerate(false)
 4255   3674   
            .bucket("bucket-name".to_string())
 4256   3675   
            .force_path_style(false)
 4257   3676   
            .region("us-west-2".to_string())
 4258   3677   
            .use_dual_stack(false)
 4259   3678   
            .use_fips(true)
 4260   3679   
            .build()
 4261   3680   
            .expect("invalid params");
 4262   3681   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4263   3682   
        let endpoint = resolver.resolve_endpoint(&params);
 4264   3683   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.us-west-2.amazonaws.com");
 4265   3684   
        assert_eq!(
 4266   3685   
            endpoint,
 4267   3686   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4268   3687   
                .url("https://bucket-name.s3-fips.us-west-2.amazonaws.com")
 4269         -
                .property(
 4270         -
                    "authSchemes",
 4271         -
                    vec![{
 4272         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4273         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4274         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4275         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4276         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4277         -
                        out
 4278         -
                    }
 4279         -
                    .into()]
        3688  +
                .auth_scheme(
        3689  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3690  +
                        .put("disableDoubleEncoding", true)
        3691  +
                        .put("signingName", "s3".to_string())
        3692  +
                        .put("signingRegion", "us-west-2".to_string())
 4280   3693   
                )
 4281   3694   
                .build()
 4282   3695   
        );
 4283   3696   
    }
 4284   3697   
 4285   3698   
    /// virtual addressing + dualstack + fips@us-west-2
 4286   3699   
    #[test]
 4287   3700   
    fn test_151() {
 4288   3701   
        let params = crate::config::endpoint::Params::builder()
 4289   3702   
            .accelerate(false)
 4290   3703   
            .bucket("bucket-name".to_string())
 4291   3704   
            .force_path_style(false)
 4292   3705   
            .region("us-west-2".to_string())
 4293   3706   
            .use_dual_stack(true)
 4294   3707   
            .use_fips(true)
 4295   3708   
            .build()
 4296   3709   
            .expect("invalid params");
 4297   3710   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4298   3711   
        let endpoint = resolver.resolve_endpoint(&params);
 4299   3712   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.dualstack.us-west-2.amazonaws.com");
 4300   3713   
        assert_eq!(
 4301   3714   
            endpoint,
 4302   3715   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4303   3716   
                .url("https://bucket-name.s3-fips.dualstack.us-west-2.amazonaws.com")
 4304         -
                .property(
 4305         -
                    "authSchemes",
 4306         -
                    vec![{
 4307         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4308         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4309         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4310         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4311         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4312         -
                        out
 4313         -
                    }
 4314         -
                    .into()]
        3717  +
                .auth_scheme(
        3718  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3719  +
                        .put("disableDoubleEncoding", true)
        3720  +
                        .put("signingName", "s3".to_string())
        3721  +
                        .put("signingRegion", "us-west-2".to_string())
 4315   3722   
                )
 4316   3723   
                .build()
 4317   3724   
        );
 4318   3725   
    }
 4319   3726   
 4320   3727   
    /// accelerate + fips = error@us-west-2
 4321   3728   
    #[test]
 4322   3729   
    fn test_152() {
 4323   3730   
        let params = crate::config::endpoint::Params::builder()
 4324   3731   
            .accelerate(true)
 4325   3732   
            .bucket("bucket-name".to_string())
 4326   3733   
            .force_path_style(false)
 4327   3734   
            .region("us-west-2".to_string())
 4328   3735   
            .use_dual_stack(false)
 4329   3736   
            .use_fips(true)
 4330   3737   
            .build()
 4331   3738   
            .expect("invalid params");
 4332   3739   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4333   3740   
        let endpoint = resolver.resolve_endpoint(&params);
 4334   3741   
        let error = endpoint.expect_err("expected error: Accelerate cannot be used with FIPS [accelerate + fips = error@us-west-2]");
 4335   3742   
        assert_eq!(format!("{}", error), "Accelerate cannot be used with FIPS")
 4336   3743   
    }
 4337   3744   
 4338   3745   
    /// vanilla virtual addressing@cn-north-1
 4339   3746   
    #[test]
 4340   3747   
    fn test_153() {
 4341   3748   
        let params = crate::config::endpoint::Params::builder()
 4342   3749   
            .accelerate(false)
 4343   3750   
            .bucket("bucket-name".to_string())
 4344   3751   
            .force_path_style(false)
 4345   3752   
            .region("cn-north-1".to_string())
 4346   3753   
            .use_dual_stack(false)
 4347   3754   
            .use_fips(false)
 4348   3755   
            .build()
 4349   3756   
            .expect("invalid params");
 4350   3757   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4351   3758   
        let endpoint = resolver.resolve_endpoint(&params);
 4352   3759   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.cn-north-1.amazonaws.com.cn");
 4353   3760   
        assert_eq!(
 4354   3761   
            endpoint,
 4355   3762   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4356   3763   
                .url("https://bucket-name.s3.cn-north-1.amazonaws.com.cn")
 4357         -
                .property(
 4358         -
                    "authSchemes",
 4359         -
                    vec![{
 4360         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4361         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4362         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4363         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 4364         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4365         -
                        out
 4366         -
                    }
 4367         -
                    .into()]
        3764  +
                .auth_scheme(
        3765  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3766  +
                        .put("disableDoubleEncoding", true)
        3767  +
                        .put("signingName", "s3".to_string())
        3768  +
                        .put("signingRegion", "cn-north-1".to_string())
 4368   3769   
                )
 4369   3770   
                .build()
 4370   3771   
        );
 4371   3772   
    }
 4372   3773   
 4373   3774   
    /// virtual addressing + dualstack@cn-north-1
 4374   3775   
    #[test]
 4375   3776   
    fn test_154() {
 4376   3777   
        let params = crate::config::endpoint::Params::builder()
 4377   3778   
            .accelerate(false)
 4378   3779   
            .bucket("bucket-name".to_string())
 4379   3780   
            .force_path_style(false)
 4380   3781   
            .region("cn-north-1".to_string())
 4381   3782   
            .use_dual_stack(true)
 4382   3783   
            .use_fips(false)
 4383   3784   
            .build()
 4384   3785   
            .expect("invalid params");
 4385   3786   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4386   3787   
        let endpoint = resolver.resolve_endpoint(&params);
 4387   3788   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.dualstack.cn-north-1.amazonaws.com.cn");
 4388   3789   
        assert_eq!(
 4389   3790   
            endpoint,
 4390   3791   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4391   3792   
                .url("https://bucket-name.s3.dualstack.cn-north-1.amazonaws.com.cn")
 4392         -
                .property(
 4393         -
                    "authSchemes",
 4394         -
                    vec![{
 4395         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4396         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4397         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4398         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 4399         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4400         -
                        out
 4401         -
                    }
 4402         -
                    .into()]
        3793  +
                .auth_scheme(
        3794  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3795  +
                        .put("disableDoubleEncoding", true)
        3796  +
                        .put("signingName", "s3".to_string())
        3797  +
                        .put("signingRegion", "cn-north-1".to_string())
 4403   3798   
                )
 4404   3799   
                .build()
 4405   3800   
        );
 4406   3801   
    }
 4407   3802   
 4408   3803   
    /// accelerate (dualstack=false)@cn-north-1
 4409   3804   
    #[test]
 4410   3805   
    fn test_155() {
 4411   3806   
        let params = crate::config::endpoint::Params::builder()
 4412   3807   
            .accelerate(true)
 4413   3808   
            .bucket("bucket-name".to_string())
 4414   3809   
            .force_path_style(false)
 4415   3810   
            .region("cn-north-1".to_string())
 4416   3811   
            .use_dual_stack(false)
 4417   3812   
            .use_fips(false)
 4418   3813   
            .build()
 4419   3814   
            .expect("invalid params");
 4420   3815   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4421   3816   
        let endpoint = resolver.resolve_endpoint(&params);
 4422   3817   
        let error = endpoint.expect_err("expected error: S3 Accelerate cannot be used in this region [accelerate (dualstack=false)@cn-north-1]");
 4423   3818   
        assert_eq!(format!("{}", error), "S3 Accelerate cannot be used in this region")
 4424   3819   
    }
 4425   3820   
 4426   3821   
    /// virtual addressing + fips@cn-north-1
 4427   3822   
    #[test]
 4428   3823   
    fn test_156() {
 4429   3824   
        let params = crate::config::endpoint::Params::builder()
 4430   3825   
            .accelerate(false)
 4431   3826   
            .bucket("bucket-name".to_string())
 4432   3827   
            .force_path_style(false)
 4433   3828   
            .region("cn-north-1".to_string())
 4434   3829   
            .use_dual_stack(false)
 4435   3830   
            .use_fips(true)
 4436   3831   
            .build()
 4437   3832   
            .expect("invalid params");
 4438   3833   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4439   3834   
        let endpoint = resolver.resolve_endpoint(&params);
 4440   3835   
        let error = endpoint.expect_err("expected error: Partition does not support FIPS [virtual addressing + fips@cn-north-1]");
 4441   3836   
        assert_eq!(format!("{}", error), "Partition does not support FIPS")
 4442   3837   
    }
 4443   3838   
 4444   3839   
    /// vanilla virtual addressing@af-south-1
 4445   3840   
    #[test]
 4446   3841   
    fn test_157() {
 4447   3842   
        let params = crate::config::endpoint::Params::builder()
 4448   3843   
            .accelerate(false)
 4449   3844   
            .bucket("bucket-name".to_string())
 4450   3845   
            .force_path_style(false)
 4451   3846   
            .region("af-south-1".to_string())
 4452   3847   
            .use_dual_stack(false)
 4453   3848   
            .use_fips(false)
 4454   3849   
            .build()
 4455   3850   
            .expect("invalid params");
 4456   3851   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4457   3852   
        let endpoint = resolver.resolve_endpoint(&params);
 4458   3853   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.af-south-1.amazonaws.com");
 4459   3854   
        assert_eq!(
 4460   3855   
            endpoint,
 4461   3856   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4462   3857   
                .url("https://bucket-name.s3.af-south-1.amazonaws.com")
 4463         -
                .property(
 4464         -
                    "authSchemes",
 4465         -
                    vec![{
 4466         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4467         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4468         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4469         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 4470         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4471         -
                        out
 4472         -
                    }
 4473         -
                    .into()]
        3858  +
                .auth_scheme(
        3859  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3860  +
                        .put("disableDoubleEncoding", true)
        3861  +
                        .put("signingName", "s3".to_string())
        3862  +
                        .put("signingRegion", "af-south-1".to_string())
 4474   3863   
                )
 4475   3864   
                .build()
 4476   3865   
        );
 4477   3866   
    }
 4478   3867   
 4479   3868   
    /// virtual addressing + dualstack@af-south-1
 4480   3869   
    #[test]
 4481   3870   
    fn test_158() {
 4482   3871   
        let params = crate::config::endpoint::Params::builder()
 4483   3872   
            .accelerate(false)
 4484   3873   
            .bucket("bucket-name".to_string())
 4485   3874   
            .force_path_style(false)
 4486   3875   
            .region("af-south-1".to_string())
 4487   3876   
            .use_dual_stack(true)
 4488   3877   
            .use_fips(false)
 4489   3878   
            .build()
 4490   3879   
            .expect("invalid params");
 4491   3880   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4492   3881   
        let endpoint = resolver.resolve_endpoint(&params);
 4493   3882   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3.dualstack.af-south-1.amazonaws.com");
 4494   3883   
        assert_eq!(
 4495   3884   
            endpoint,
 4496   3885   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4497   3886   
                .url("https://bucket-name.s3.dualstack.af-south-1.amazonaws.com")
 4498         -
                .property(
 4499         -
                    "authSchemes",
 4500         -
                    vec![{
 4501         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4502         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4503         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4504         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 4505         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4506         -
                        out
 4507         -
                    }
 4508         -
                    .into()]
        3887  +
                .auth_scheme(
        3888  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3889  +
                        .put("disableDoubleEncoding", true)
        3890  +
                        .put("signingName", "s3".to_string())
        3891  +
                        .put("signingRegion", "af-south-1".to_string())
 4509   3892   
                )
 4510   3893   
                .build()
 4511   3894   
        );
 4512   3895   
    }
 4513   3896   
 4514   3897   
    /// accelerate + dualstack@af-south-1
 4515   3898   
    #[test]
 4516   3899   
    fn test_159() {
 4517   3900   
        let params = crate::config::endpoint::Params::builder()
 4518   3901   
            .accelerate(true)
 4519   3902   
            .bucket("bucket-name".to_string())
 4520   3903   
            .force_path_style(false)
 4521   3904   
            .region("af-south-1".to_string())
 4522   3905   
            .use_dual_stack(true)
 4523   3906   
            .use_fips(false)
 4524   3907   
            .build()
 4525   3908   
            .expect("invalid params");
 4526   3909   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4527   3910   
        let endpoint = resolver.resolve_endpoint(&params);
 4528   3911   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.dualstack.amazonaws.com");
 4529   3912   
        assert_eq!(
 4530   3913   
            endpoint,
 4531   3914   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4532   3915   
                .url("https://bucket-name.s3-accelerate.dualstack.amazonaws.com")
 4533         -
                .property(
 4534         -
                    "authSchemes",
 4535         -
                    vec![{
 4536         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4537         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4538         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4539         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 4540         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4541         -
                        out
 4542         -
                    }
 4543         -
                    .into()]
        3916  +
                .auth_scheme(
        3917  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3918  +
                        .put("disableDoubleEncoding", true)
        3919  +
                        .put("signingName", "s3".to_string())
        3920  +
                        .put("signingRegion", "af-south-1".to_string())
 4544   3921   
                )
 4545   3922   
                .build()
 4546   3923   
        );
 4547   3924   
    }
 4548   3925   
 4549   3926   
    /// accelerate (dualstack=false)@af-south-1
 4550   3927   
    #[test]
 4551   3928   
    fn test_160() {
 4552   3929   
        let params = crate::config::endpoint::Params::builder()
 4553   3930   
            .accelerate(true)
 4554   3931   
            .bucket("bucket-name".to_string())
 4555   3932   
            .force_path_style(false)
 4556   3933   
            .region("af-south-1".to_string())
 4557   3934   
            .use_dual_stack(false)
 4558   3935   
            .use_fips(false)
 4559   3936   
            .build()
 4560   3937   
            .expect("invalid params");
 4561   3938   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4562   3939   
        let endpoint = resolver.resolve_endpoint(&params);
 4563   3940   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-accelerate.amazonaws.com");
 4564   3941   
        assert_eq!(
 4565   3942   
            endpoint,
 4566   3943   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4567   3944   
                .url("https://bucket-name.s3-accelerate.amazonaws.com")
 4568         -
                .property(
 4569         -
                    "authSchemes",
 4570         -
                    vec![{
 4571         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4572         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4573         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4574         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 4575         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4576         -
                        out
 4577         -
                    }
 4578         -
                    .into()]
        3945  +
                .auth_scheme(
        3946  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3947  +
                        .put("disableDoubleEncoding", true)
        3948  +
                        .put("signingName", "s3".to_string())
        3949  +
                        .put("signingRegion", "af-south-1".to_string())
 4579   3950   
                )
 4580   3951   
                .build()
 4581   3952   
        );
 4582   3953   
    }
 4583   3954   
 4584   3955   
    /// virtual addressing + fips@af-south-1
 4585   3956   
    #[test]
 4586   3957   
    fn test_161() {
 4587   3958   
        let params = crate::config::endpoint::Params::builder()
 4588   3959   
            .accelerate(false)
 4589   3960   
            .bucket("bucket-name".to_string())
 4590   3961   
            .force_path_style(false)
 4591   3962   
            .region("af-south-1".to_string())
 4592   3963   
            .use_dual_stack(false)
 4593   3964   
            .use_fips(true)
 4594   3965   
            .build()
 4595   3966   
            .expect("invalid params");
 4596   3967   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4597   3968   
        let endpoint = resolver.resolve_endpoint(&params);
 4598   3969   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.af-south-1.amazonaws.com");
 4599   3970   
        assert_eq!(
 4600   3971   
            endpoint,
 4601   3972   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4602   3973   
                .url("https://bucket-name.s3-fips.af-south-1.amazonaws.com")
 4603         -
                .property(
 4604         -
                    "authSchemes",
 4605         -
                    vec![{
 4606         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4607         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4608         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4609         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 4610         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4611         -
                        out
 4612         -
                    }
 4613         -
                    .into()]
        3974  +
                .auth_scheme(
        3975  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        3976  +
                        .put("disableDoubleEncoding", true)
        3977  +
                        .put("signingName", "s3".to_string())
        3978  +
                        .put("signingRegion", "af-south-1".to_string())
 4614   3979   
                )
 4615   3980   
                .build()
 4616   3981   
        );
 4617   3982   
    }
 4618   3983   
 4619   3984   
    /// virtual addressing + dualstack + fips@af-south-1
 4620   3985   
    #[test]
 4621   3986   
    fn test_162() {
 4622   3987   
        let params = crate::config::endpoint::Params::builder()
 4623   3988   
            .accelerate(false)
 4624   3989   
            .bucket("bucket-name".to_string())
 4625   3990   
            .force_path_style(false)
 4626   3991   
            .region("af-south-1".to_string())
 4627   3992   
            .use_dual_stack(true)
 4628   3993   
            .use_fips(true)
 4629   3994   
            .build()
 4630   3995   
            .expect("invalid params");
 4631   3996   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4632   3997   
        let endpoint = resolver.resolve_endpoint(&params);
 4633   3998   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.s3-fips.dualstack.af-south-1.amazonaws.com");
 4634   3999   
        assert_eq!(
 4635   4000   
            endpoint,
 4636   4001   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4637   4002   
                .url("https://bucket-name.s3-fips.dualstack.af-south-1.amazonaws.com")
 4638         -
                .property(
 4639         -
                    "authSchemes",
 4640         -
                    vec![{
 4641         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4642         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4643         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4644         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 4645         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4646         -
                        out
 4647         -
                    }
 4648         -
                    .into()]
        4003  +
                .auth_scheme(
        4004  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4005  +
                        .put("disableDoubleEncoding", true)
        4006  +
                        .put("signingName", "s3".to_string())
        4007  +
                        .put("signingRegion", "af-south-1".to_string())
 4649   4008   
                )
 4650   4009   
                .build()
 4651   4010   
        );
 4652   4011   
    }
 4653   4012   
 4654   4013   
    /// accelerate + fips = error@af-south-1
 4655   4014   
    #[test]
 4656   4015   
    fn test_163() {
 4657   4016   
        let params = crate::config::endpoint::Params::builder()
 4658   4017   
            .accelerate(true)
 4659   4018   
            .bucket("bucket-name".to_string())
 4660   4019   
            .force_path_style(false)
 4661   4020   
            .region("af-south-1".to_string())
 4662   4021   
            .use_dual_stack(false)
 4663   4022   
            .use_fips(true)
 4664   4023   
            .build()
 4665   4024   
            .expect("invalid params");
 4666   4025   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4667   4026   
        let endpoint = resolver.resolve_endpoint(&params);
 4668   4027   
        let error = endpoint.expect_err("expected error: Accelerate cannot be used with FIPS [accelerate + fips = error@af-south-1]");
 4669   4028   
        assert_eq!(format!("{}", error), "Accelerate cannot be used with FIPS")
 4670   4029   
    }
 4671   4030   
 4672   4031   
    /// vanilla path style@us-west-2
 4673   4032   
    #[test]
 4674   4033   
    fn test_164() {
 4675   4034   
        let params = crate::config::endpoint::Params::builder()
 4676   4035   
            .accelerate(false)
 4677   4036   
            .bucket("bucket-name".to_string())
 4678   4037   
            .force_path_style(true)
 4679   4038   
            .region("us-west-2".to_string())
 4680   4039   
            .use_dual_stack(false)
 4681   4040   
            .use_fips(false)
 4682   4041   
            .build()
 4683   4042   
            .expect("invalid params");
 4684   4043   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4685   4044   
        let endpoint = resolver.resolve_endpoint(&params);
 4686   4045   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/bucket-name");
 4687   4046   
        assert_eq!(
 4688   4047   
            endpoint,
 4689   4048   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4690   4049   
                .url("https://s3.us-west-2.amazonaws.com/bucket-name")
 4691         -
                .property(
 4692         -
                    "authSchemes",
 4693         -
                    vec![{
 4694         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4695         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4696         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4697         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4698         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4699         -
                        out
 4700         -
                    }
 4701         -
                    .into()]
        4050  +
                .auth_scheme(
        4051  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4052  +
                        .put("disableDoubleEncoding", true)
        4053  +
                        .put("signingName", "s3".to_string())
        4054  +
                        .put("signingRegion", "us-west-2".to_string())
 4702   4055   
                )
 4703   4056   
                .build()
 4704   4057   
        );
 4705   4058   
    }
 4706   4059   
 4707   4060   
    /// fips@us-gov-west-2, bucket is not S3-dns-compatible (subdomains)
 4708   4061   
    #[test]
 4709   4062   
    fn test_165() {
 4710   4063   
        let params = crate::config::endpoint::Params::builder()
 4711   4064   
            .accelerate(false)
 4712   4065   
            .bucket("bucket.with.dots".to_string())
 4713   4066   
            .region("us-gov-west-1".to_string())
 4714   4067   
            .use_dual_stack(false)
 4715   4068   
            .use_fips(true)
 4716   4069   
            .build()
 4717   4070   
            .expect("invalid params");
 4718   4071   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4719   4072   
        let endpoint = resolver.resolve_endpoint(&params);
 4720   4073   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.us-gov-west-1.amazonaws.com/bucket.with.dots");
 4721   4074   
        assert_eq!(
 4722   4075   
            endpoint,
 4723   4076   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4724   4077   
                .url("https://s3-fips.us-gov-west-1.amazonaws.com/bucket.with.dots")
 4725         -
                .property(
 4726         -
                    "authSchemes",
 4727         -
                    vec![{
 4728         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4729         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4730         -
                        out.insert("signingRegion".to_string(), "us-gov-west-1".to_string().into());
 4731         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4732         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4733         -
                        out
 4734         -
                    }
 4735         -
                    .into()]
        4078  +
                .auth_scheme(
        4079  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4080  +
                        .put("disableDoubleEncoding", true)
        4081  +
                        .put("signingName", "s3".to_string())
        4082  +
                        .put("signingRegion", "us-gov-west-1".to_string())
 4736   4083   
                )
 4737   4084   
                .build()
 4738   4085   
        );
 4739   4086   
    }
 4740   4087   
 4741   4088   
    /// path style + accelerate = error@us-west-2
 4742   4089   
    #[test]
 4743   4090   
    fn test_166() {
 4744   4091   
        let params = crate::config::endpoint::Params::builder()
 4745   4092   
            .accelerate(true)
 4746   4093   
            .bucket("bucket-name".to_string())
 4747   4094   
            .force_path_style(true)
 4748   4095   
            .region("us-west-2".to_string())
 4749   4096   
            .use_dual_stack(false)
 4750   4097   
            .use_fips(false)
 4751   4098   
            .build()
 4752   4099   
            .expect("invalid params");
 4753   4100   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4754   4101   
        let endpoint = resolver.resolve_endpoint(&params);
 4755   4102   
        let error = endpoint
 4756   4103   
            .expect_err("expected error: Path-style addressing cannot be used with S3 Accelerate [path style + accelerate = error@us-west-2]");
 4757   4104   
        assert_eq!(format!("{}", error), "Path-style addressing cannot be used with S3 Accelerate")
 4758   4105   
    }
 4759   4106   
 4760   4107   
    /// path style + dualstack@us-west-2
 4761   4108   
    #[test]
 4762   4109   
    fn test_167() {
 4763   4110   
        let params = crate::config::endpoint::Params::builder()
 4764   4111   
            .accelerate(false)
 4765   4112   
            .bucket("bucket-name".to_string())
 4766   4113   
            .force_path_style(true)
 4767   4114   
            .region("us-west-2".to_string())
 4768   4115   
            .use_dual_stack(true)
 4769   4116   
            .use_fips(false)
 4770   4117   
            .build()
 4771   4118   
            .expect("invalid params");
 4772   4119   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4773   4120   
        let endpoint = resolver.resolve_endpoint(&params);
 4774   4121   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.us-west-2.amazonaws.com/bucket-name");
 4775   4122   
        assert_eq!(
 4776   4123   
            endpoint,
 4777   4124   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4778   4125   
                .url("https://s3.dualstack.us-west-2.amazonaws.com/bucket-name")
 4779         -
                .property(
 4780         -
                    "authSchemes",
 4781         -
                    vec![{
 4782         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4783         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4784         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4785         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4786         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4787         -
                        out
 4788         -
                    }
 4789         -
                    .into()]
        4126  +
                .auth_scheme(
        4127  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4128  +
                        .put("disableDoubleEncoding", true)
        4129  +
                        .put("signingName", "s3".to_string())
        4130  +
                        .put("signingRegion", "us-west-2".to_string())
 4790   4131   
                )
 4791   4132   
                .build()
 4792   4133   
        );
 4793   4134   
    }
 4794   4135   
 4795   4136   
    /// path style + arn is error@us-west-2
 4796   4137   
    #[test]
 4797   4138   
    fn test_168() {
 4798   4139   
        let params = crate::config::endpoint::Params::builder()
 4799   4140   
            .accelerate(false)
 4800   4141   
            .bucket("arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket".to_string())
 4801   4142   
            .force_path_style(true)
 4802   4143   
            .region("us-west-2".to_string())
 4803   4144   
            .use_dual_stack(false)
 4804   4145   
            .use_fips(false)
 4805   4146   
            .build()
 4806   4147   
            .expect("invalid params");
 4807   4148   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4808   4149   
        let endpoint = resolver.resolve_endpoint(&params);
 4809   4150   
        let error =
 4810   4151   
            endpoint.expect_err("expected error: Path-style addressing cannot be used with ARN buckets [path style + arn is error@us-west-2]");
 4811   4152   
        assert_eq!(format!("{}", error), "Path-style addressing cannot be used with ARN buckets")
 4812   4153   
    }
 4813   4154   
 4814   4155   
    /// path style + invalid DNS name@us-west-2
 4815   4156   
    #[test]
 4816   4157   
    fn test_169() {
 4817   4158   
        let params = crate::config::endpoint::Params::builder()
 4818   4159   
            .accelerate(false)
 4819   4160   
            .bucket("99a_b".to_string())
 4820   4161   
            .force_path_style(true)
 4821   4162   
            .region("us-west-2".to_string())
 4822   4163   
            .use_dual_stack(false)
 4823   4164   
            .use_fips(false)
 4824   4165   
            .build()
 4825   4166   
            .expect("invalid params");
 4826   4167   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4827   4168   
        let endpoint = resolver.resolve_endpoint(&params);
 4828   4169   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/99a_b");
 4829   4170   
        assert_eq!(
 4830   4171   
            endpoint,
 4831   4172   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4832   4173   
                .url("https://s3.us-west-2.amazonaws.com/99a_b")
 4833         -
                .property(
 4834         -
                    "authSchemes",
 4835         -
                    vec![{
 4836         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4837         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4838         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4839         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4840         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4841         -
                        out
 4842         -
                    }
 4843         -
                    .into()]
        4174  +
                .auth_scheme(
        4175  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4176  +
                        .put("disableDoubleEncoding", true)
        4177  +
                        .put("signingName", "s3".to_string())
        4178  +
                        .put("signingRegion", "us-west-2".to_string())
 4844   4179   
                )
 4845   4180   
                .build()
 4846   4181   
        );
 4847   4182   
    }
 4848   4183   
 4849   4184   
    /// no path style + invalid DNS name@us-west-2
 4850   4185   
    #[test]
 4851   4186   
    fn test_170() {
 4852   4187   
        let params = crate::config::endpoint::Params::builder()
 4853   4188   
            .accelerate(false)
 4854   4189   
            .bucket("99a_b".to_string())
 4855   4190   
            .region("us-west-2".to_string())
 4856   4191   
            .use_dual_stack(false)
 4857   4192   
            .use_fips(false)
 4858   4193   
            .build()
 4859   4194   
            .expect("invalid params");
 4860   4195   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4861   4196   
        let endpoint = resolver.resolve_endpoint(&params);
 4862   4197   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.us-west-2.amazonaws.com/99a_b");
 4863   4198   
        assert_eq!(
 4864   4199   
            endpoint,
 4865   4200   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4866   4201   
                .url("https://s3.us-west-2.amazonaws.com/99a_b")
 4867         -
                .property(
 4868         -
                    "authSchemes",
 4869         -
                    vec![{
 4870         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4871         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4872         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4873         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 4874         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4875         -
                        out
 4876         -
                    }
 4877         -
                    .into()]
        4202  +
                .auth_scheme(
        4203  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4204  +
                        .put("disableDoubleEncoding", true)
        4205  +
                        .put("signingName", "s3".to_string())
        4206  +
                        .put("signingRegion", "us-west-2".to_string())
 4878   4207   
                )
 4879   4208   
                .build()
 4880   4209   
        );
 4881   4210   
    }
 4882   4211   
 4883   4212   
    /// vanilla path style@cn-north-1
 4884   4213   
    #[test]
 4885   4214   
    fn test_171() {
 4886   4215   
        let params = crate::config::endpoint::Params::builder()
 4887   4216   
            .accelerate(false)
 4888   4217   
            .bucket("bucket-name".to_string())
 4889   4218   
            .force_path_style(true)
 4890   4219   
            .region("cn-north-1".to_string())
 4891   4220   
            .use_dual_stack(false)
 4892   4221   
            .use_fips(false)
 4893   4222   
            .build()
 4894   4223   
            .expect("invalid params");
 4895   4224   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4896   4225   
        let endpoint = resolver.resolve_endpoint(&params);
 4897   4226   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.cn-north-1.amazonaws.com.cn/bucket-name");
 4898   4227   
        assert_eq!(
 4899   4228   
            endpoint,
 4900   4229   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4901   4230   
                .url("https://s3.cn-north-1.amazonaws.com.cn/bucket-name")
 4902         -
                .property(
 4903         -
                    "authSchemes",
 4904         -
                    vec![{
 4905         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4906         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4907         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4908         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 4909         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4910         -
                        out
 4911         -
                    }
 4912         -
                    .into()]
        4231  +
                .auth_scheme(
        4232  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4233  +
                        .put("disableDoubleEncoding", true)
        4234  +
                        .put("signingName", "s3".to_string())
        4235  +
                        .put("signingRegion", "cn-north-1".to_string())
 4913   4236   
                )
 4914   4237   
                .build()
 4915   4238   
        );
 4916   4239   
    }
 4917   4240   
 4918   4241   
    /// path style + fips@cn-north-1
 4919   4242   
    #[test]
 4920   4243   
    fn test_172() {
 4921   4244   
        let params = crate::config::endpoint::Params::builder()
 4922   4245   
            .accelerate(false)
@@ -4944,4267 +5386,4649 @@
 4964   4287   
            .use_fips(false)
 4965   4288   
            .build()
 4966   4289   
            .expect("invalid params");
 4967   4290   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 4968   4291   
        let endpoint = resolver.resolve_endpoint(&params);
 4969   4292   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.cn-north-1.amazonaws.com.cn/bucket-name");
 4970   4293   
        assert_eq!(
 4971   4294   
            endpoint,
 4972   4295   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 4973   4296   
                .url("https://s3.dualstack.cn-north-1.amazonaws.com.cn/bucket-name")
 4974         -
                .property(
 4975         -
                    "authSchemes",
 4976         -
                    vec![{
 4977         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 4978         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 4979         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 4980         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 4981         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 4982         -
                        out
 4983         -
                    }
 4984         -
                    .into()]
        4297  +
                .auth_scheme(
        4298  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4299  +
                        .put("disableDoubleEncoding", true)
        4300  +
                        .put("signingName", "s3".to_string())
        4301  +
                        .put("signingRegion", "cn-north-1".to_string())
 4985   4302   
                )
 4986   4303   
                .build()
 4987   4304   
        );
 4988   4305   
    }
 4989   4306   
 4990   4307   
    /// path style + arn is error@cn-north-1
 4991   4308   
    #[test]
 4992   4309   
    fn test_175() {
 4993   4310   
        let params = crate::config::endpoint::Params::builder()
 4994   4311   
            .accelerate(false)
 4995   4312   
            .bucket("arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket".to_string())
 4996   4313   
            .force_path_style(true)
 4997   4314   
            .region("cn-north-1".to_string())
 4998   4315   
            .use_dual_stack(false)
 4999   4316   
            .use_fips(false)
 5000   4317   
            .build()
 5001   4318   
            .expect("invalid params");
 5002   4319   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5003   4320   
        let endpoint = resolver.resolve_endpoint(&params);
 5004   4321   
        let error =
 5005   4322   
            endpoint.expect_err("expected error: Path-style addressing cannot be used with ARN buckets [path style + arn is error@cn-north-1]");
 5006   4323   
        assert_eq!(format!("{}", error), "Path-style addressing cannot be used with ARN buckets")
 5007   4324   
    }
 5008   4325   
 5009   4326   
    /// path style + invalid DNS name@cn-north-1
 5010   4327   
    #[test]
 5011   4328   
    fn test_176() {
 5012   4329   
        let params = crate::config::endpoint::Params::builder()
 5013   4330   
            .accelerate(false)
 5014   4331   
            .bucket("99a_b".to_string())
 5015   4332   
            .force_path_style(true)
 5016   4333   
            .region("cn-north-1".to_string())
 5017   4334   
            .use_dual_stack(false)
 5018   4335   
            .use_fips(false)
 5019   4336   
            .build()
 5020   4337   
            .expect("invalid params");
 5021   4338   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5022   4339   
        let endpoint = resolver.resolve_endpoint(&params);
 5023   4340   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.cn-north-1.amazonaws.com.cn/99a_b");
 5024   4341   
        assert_eq!(
 5025   4342   
            endpoint,
 5026   4343   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5027   4344   
                .url("https://s3.cn-north-1.amazonaws.com.cn/99a_b")
 5028         -
                .property(
 5029         -
                    "authSchemes",
 5030         -
                    vec![{
 5031         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5032         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5033         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5034         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 5035         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5036         -
                        out
 5037         -
                    }
 5038         -
                    .into()]
        4345  +
                .auth_scheme(
        4346  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4347  +
                        .put("disableDoubleEncoding", true)
        4348  +
                        .put("signingName", "s3".to_string())
        4349  +
                        .put("signingRegion", "cn-north-1".to_string())
 5039   4350   
                )
 5040   4351   
                .build()
 5041   4352   
        );
 5042   4353   
    }
 5043   4354   
 5044   4355   
    /// no path style + invalid DNS name@cn-north-1
 5045   4356   
    #[test]
 5046   4357   
    fn test_177() {
 5047   4358   
        let params = crate::config::endpoint::Params::builder()
 5048   4359   
            .accelerate(false)
 5049   4360   
            .bucket("99a_b".to_string())
 5050   4361   
            .region("cn-north-1".to_string())
 5051   4362   
            .use_dual_stack(false)
 5052   4363   
            .use_fips(false)
 5053   4364   
            .build()
 5054   4365   
            .expect("invalid params");
 5055   4366   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5056   4367   
        let endpoint = resolver.resolve_endpoint(&params);
 5057   4368   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.cn-north-1.amazonaws.com.cn/99a_b");
 5058   4369   
        assert_eq!(
 5059   4370   
            endpoint,
 5060   4371   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5061   4372   
                .url("https://s3.cn-north-1.amazonaws.com.cn/99a_b")
 5062         -
                .property(
 5063         -
                    "authSchemes",
 5064         -
                    vec![{
 5065         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5066         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5067         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5068         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 5069         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5070         -
                        out
 5071         -
                    }
 5072         -
                    .into()]
        4373  +
                .auth_scheme(
        4374  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4375  +
                        .put("disableDoubleEncoding", true)
        4376  +
                        .put("signingName", "s3".to_string())
        4377  +
                        .put("signingRegion", "cn-north-1".to_string())
 5073   4378   
                )
 5074   4379   
                .build()
 5075   4380   
        );
 5076   4381   
    }
 5077   4382   
 5078   4383   
    /// vanilla path style@af-south-1
 5079   4384   
    #[test]
 5080   4385   
    fn test_178() {
 5081   4386   
        let params = crate::config::endpoint::Params::builder()
 5082   4387   
            .accelerate(false)
 5083   4388   
            .bucket("bucket-name".to_string())
 5084   4389   
            .force_path_style(true)
 5085   4390   
            .region("af-south-1".to_string())
 5086   4391   
            .use_dual_stack(false)
 5087   4392   
            .use_fips(false)
 5088   4393   
            .build()
 5089   4394   
            .expect("invalid params");
 5090   4395   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5091   4396   
        let endpoint = resolver.resolve_endpoint(&params);
 5092   4397   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.af-south-1.amazonaws.com/bucket-name");
 5093   4398   
        assert_eq!(
 5094   4399   
            endpoint,
 5095   4400   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5096   4401   
                .url("https://s3.af-south-1.amazonaws.com/bucket-name")
 5097         -
                .property(
 5098         -
                    "authSchemes",
 5099         -
                    vec![{
 5100         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5101         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5102         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5103         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 5104         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5105         -
                        out
 5106         -
                    }
 5107         -
                    .into()]
        4402  +
                .auth_scheme(
        4403  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4404  +
                        .put("disableDoubleEncoding", true)
        4405  +
                        .put("signingName", "s3".to_string())
        4406  +
                        .put("signingRegion", "af-south-1".to_string())
 5108   4407   
                )
 5109   4408   
                .build()
 5110   4409   
        );
 5111   4410   
    }
 5112   4411   
 5113   4412   
    /// path style + fips@af-south-1
 5114   4413   
    #[test]
 5115   4414   
    fn test_179() {
 5116   4415   
        let params = crate::config::endpoint::Params::builder()
 5117   4416   
            .accelerate(false)
 5118   4417   
            .bucket("bucket-name".to_string())
 5119   4418   
            .force_path_style(true)
 5120   4419   
            .region("af-south-1".to_string())
 5121   4420   
            .use_dual_stack(false)
 5122   4421   
            .use_fips(true)
 5123   4422   
            .build()
 5124   4423   
            .expect("invalid params");
 5125   4424   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5126   4425   
        let endpoint = resolver.resolve_endpoint(&params);
 5127   4426   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-fips.af-south-1.amazonaws.com/bucket-name");
 5128   4427   
        assert_eq!(
 5129   4428   
            endpoint,
 5130   4429   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5131   4430   
                .url("https://s3-fips.af-south-1.amazonaws.com/bucket-name")
 5132         -
                .property(
 5133         -
                    "authSchemes",
 5134         -
                    vec![{
 5135         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5136         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5137         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 5138         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5139         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5140         -
                        out
 5141         -
                    }
 5142         -
                    .into()]
        4431  +
                .auth_scheme(
        4432  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4433  +
                        .put("disableDoubleEncoding", true)
        4434  +
                        .put("signingName", "s3".to_string())
        4435  +
                        .put("signingRegion", "af-south-1".to_string())
 5143   4436   
                )
 5144   4437   
                .build()
 5145   4438   
        );
 5146   4439   
    }
 5147   4440   
 5148   4441   
    /// path style + accelerate = error@af-south-1
 5149   4442   
    #[test]
 5150   4443   
    fn test_180() {
 5151   4444   
        let params = crate::config::endpoint::Params::builder()
 5152   4445   
            .accelerate(true)
 5153   4446   
            .bucket("bucket-name".to_string())
 5154   4447   
            .force_path_style(true)
 5155   4448   
            .region("af-south-1".to_string())
 5156   4449   
            .use_dual_stack(false)
 5157   4450   
            .use_fips(false)
 5158   4451   
            .build()
 5159   4452   
            .expect("invalid params");
 5160   4453   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5161   4454   
        let endpoint = resolver.resolve_endpoint(&params);
 5162   4455   
        let error = endpoint
 5163   4456   
            .expect_err("expected error: Path-style addressing cannot be used with S3 Accelerate [path style + accelerate = error@af-south-1]");
 5164   4457   
        assert_eq!(format!("{}", error), "Path-style addressing cannot be used with S3 Accelerate")
 5165   4458   
    }
 5166   4459   
 5167   4460   
    /// path style + dualstack@af-south-1
 5168   4461   
    #[test]
 5169   4462   
    fn test_181() {
 5170   4463   
        let params = crate::config::endpoint::Params::builder()
 5171   4464   
            .accelerate(false)
 5172   4465   
            .bucket("bucket-name".to_string())
 5173   4466   
            .force_path_style(true)
 5174   4467   
            .region("af-south-1".to_string())
 5175   4468   
            .use_dual_stack(true)
 5176   4469   
            .use_fips(false)
 5177   4470   
            .build()
 5178   4471   
            .expect("invalid params");
 5179   4472   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5180   4473   
        let endpoint = resolver.resolve_endpoint(&params);
 5181   4474   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.dualstack.af-south-1.amazonaws.com/bucket-name");
 5182   4475   
        assert_eq!(
 5183   4476   
            endpoint,
 5184   4477   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5185   4478   
                .url("https://s3.dualstack.af-south-1.amazonaws.com/bucket-name")
 5186         -
                .property(
 5187         -
                    "authSchemes",
 5188         -
                    vec![{
 5189         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5190         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5191         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5192         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 5193         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5194         -
                        out
 5195         -
                    }
 5196         -
                    .into()]
        4479  +
                .auth_scheme(
        4480  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4481  +
                        .put("disableDoubleEncoding", true)
        4482  +
                        .put("signingName", "s3".to_string())
        4483  +
                        .put("signingRegion", "af-south-1".to_string())
 5197   4484   
                )
 5198   4485   
                .build()
 5199   4486   
        );
 5200   4487   
    }
 5201   4488   
 5202   4489   
    /// path style + arn is error@af-south-1
 5203   4490   
    #[test]
 5204   4491   
    fn test_182() {
 5205   4492   
        let params = crate::config::endpoint::Params::builder()
 5206   4493   
            .accelerate(false)
 5207   4494   
            .bucket("arn:PARTITION:s3-outposts:REGION:123456789012:outpost:op-01234567890123456:bucket:mybucket".to_string())
 5208   4495   
            .force_path_style(true)
 5209   4496   
            .region("af-south-1".to_string())
 5210   4497   
            .use_dual_stack(false)
 5211   4498   
            .use_fips(false)
 5212   4499   
            .build()
 5213   4500   
            .expect("invalid params");
 5214   4501   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5215   4502   
        let endpoint = resolver.resolve_endpoint(&params);
 5216   4503   
        let error =
 5217   4504   
            endpoint.expect_err("expected error: Path-style addressing cannot be used with ARN buckets [path style + arn is error@af-south-1]");
 5218   4505   
        assert_eq!(format!("{}", error), "Path-style addressing cannot be used with ARN buckets")
 5219   4506   
    }
 5220   4507   
 5221   4508   
    /// path style + invalid DNS name@af-south-1
 5222   4509   
    #[test]
 5223   4510   
    fn test_183() {
 5224   4511   
        let params = crate::config::endpoint::Params::builder()
 5225   4512   
            .accelerate(false)
 5226   4513   
            .bucket("99a_b".to_string())
 5227   4514   
            .force_path_style(true)
 5228   4515   
            .region("af-south-1".to_string())
 5229   4516   
            .use_dual_stack(false)
 5230   4517   
            .use_fips(false)
 5231   4518   
            .build()
 5232   4519   
            .expect("invalid params");
 5233   4520   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5234   4521   
        let endpoint = resolver.resolve_endpoint(&params);
 5235   4522   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.af-south-1.amazonaws.com/99a_b");
 5236   4523   
        assert_eq!(
 5237   4524   
            endpoint,
 5238   4525   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5239   4526   
                .url("https://s3.af-south-1.amazonaws.com/99a_b")
 5240         -
                .property(
 5241         -
                    "authSchemes",
 5242         -
                    vec![{
 5243         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5244         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5245         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5246         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 5247         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5248         -
                        out
 5249         -
                    }
 5250         -
                    .into()]
        4527  +
                .auth_scheme(
        4528  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4529  +
                        .put("disableDoubleEncoding", true)
        4530  +
                        .put("signingName", "s3".to_string())
        4531  +
                        .put("signingRegion", "af-south-1".to_string())
 5251   4532   
                )
 5252   4533   
                .build()
 5253   4534   
        );
 5254   4535   
    }
 5255   4536   
 5256   4537   
    /// no path style + invalid DNS name@af-south-1
 5257   4538   
    #[test]
 5258   4539   
    fn test_184() {
 5259   4540   
        let params = crate::config::endpoint::Params::builder()
 5260   4541   
            .accelerate(false)
 5261   4542   
            .bucket("99a_b".to_string())
 5262   4543   
            .region("af-south-1".to_string())
 5263   4544   
            .use_dual_stack(false)
 5264   4545   
            .use_fips(false)
 5265   4546   
            .build()
 5266   4547   
            .expect("invalid params");
 5267   4548   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5268   4549   
        let endpoint = resolver.resolve_endpoint(&params);
 5269   4550   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3.af-south-1.amazonaws.com/99a_b");
 5270   4551   
        assert_eq!(
 5271   4552   
            endpoint,
 5272   4553   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5273   4554   
                .url("https://s3.af-south-1.amazonaws.com/99a_b")
 5274         -
                .property(
 5275         -
                    "authSchemes",
 5276         -
                    vec![{
 5277         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5278         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5279         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5280         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 5281         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5282         -
                        out
 5283         -
                    }
 5284         -
                    .into()]
        4555  +
                .auth_scheme(
        4556  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4557  +
                        .put("disableDoubleEncoding", true)
        4558  +
                        .put("signingName", "s3".to_string())
        4559  +
                        .put("signingRegion", "af-south-1".to_string())
 5285   4560   
                )
 5286   4561   
                .build()
 5287   4562   
        );
 5288   4563   
    }
 5289   4564   
 5290   4565   
    /// virtual addressing + private link@us-west-2
 5291   4566   
    #[test]
 5292   4567   
    fn test_185() {
 5293   4568   
        let params = crate::config::endpoint::Params::builder()
 5294   4569   
            .accelerate(false)
 5295   4570   
            .bucket("bucket-name".to_string())
 5296   4571   
            .force_path_style(false)
 5297   4572   
            .endpoint("http://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
 5298   4573   
            .region("us-west-2".to_string())
 5299   4574   
            .use_dual_stack(false)
 5300   4575   
            .use_fips(false)
 5301   4576   
            .build()
 5302   4577   
            .expect("invalid params");
 5303   4578   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5304   4579   
        let endpoint = resolver.resolve_endpoint(&params);
 5305   4580   
        let endpoint = endpoint.expect("Expected valid endpoint: http://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com");
 5306   4581   
        assert_eq!(
 5307   4582   
            endpoint,
 5308   4583   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5309   4584   
                .url("http://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com")
 5310         -
                .property(
 5311         -
                    "authSchemes",
 5312         -
                    vec![{
 5313         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5314         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5315         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5316         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 5317         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5318         -
                        out
 5319         -
                    }
 5320         -
                    .into()]
        4585  +
                .auth_scheme(
        4586  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4587  +
                        .put("disableDoubleEncoding", true)
        4588  +
                        .put("signingName", "s3".to_string())
        4589  +
                        .put("signingRegion", "us-west-2".to_string())
 5321   4590   
                )
 5322   4591   
                .build()
 5323   4592   
        );
 5324   4593   
    }
 5325   4594   
 5326   4595   
    /// path style + private link@us-west-2
 5327   4596   
    #[test]
 5328   4597   
    fn test_186() {
 5329   4598   
        let params = crate::config::endpoint::Params::builder()
 5330   4599   
            .accelerate(false)
 5331   4600   
            .bucket("bucket-name".to_string())
 5332   4601   
            .force_path_style(true)
 5333   4602   
            .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
 5334   4603   
            .region("us-west-2".to_string())
 5335   4604   
            .use_dual_stack(false)
 5336   4605   
            .use_fips(false)
 5337   4606   
            .build()
 5338   4607   
            .expect("invalid params");
 5339   4608   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5340   4609   
        let endpoint = resolver.resolve_endpoint(&params);
 5341   4610   
        let endpoint = endpoint.expect("Expected valid endpoint: https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name");
 5342   4611   
        assert_eq!(
 5343   4612   
            endpoint,
 5344   4613   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5345   4614   
                .url("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name")
 5346         -
                .property(
 5347         -
                    "authSchemes",
 5348         -
                    vec![{
 5349         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5350         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5351         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5352         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 5353         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5354         -
                        out
 5355         -
                    }
 5356         -
                    .into()]
        4615  +
                .auth_scheme(
        4616  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4617  +
                        .put("disableDoubleEncoding", true)
        4618  +
                        .put("signingName", "s3".to_string())
        4619  +
                        .put("signingRegion", "us-west-2".to_string())
 5357   4620   
                )
 5358   4621   
                .build()
 5359   4622   
        );
 5360   4623   
    }
 5361   4624   
 5362   4625   
    /// SDK::Host + FIPS@us-west-2
 5363   4626   
    #[test]
 5364   4627   
    fn test_187() {
 5365   4628   
        let params = crate::config::endpoint::Params::builder()
 5366   4629   
            .accelerate(false)
@@ -5410,4673 +5552,4797 @@
 5430   4693   
            .use_fips(false)
 5431   4694   
            .build()
 5432   4695   
            .expect("invalid params");
 5433   4696   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5434   4697   
        let endpoint = resolver.resolve_endpoint(&params);
 5435   4698   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.beta.example.com");
 5436   4699   
        assert_eq!(
 5437   4700   
            endpoint,
 5438   4701   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5439   4702   
                .url("https://myendpoint-123456789012.beta.example.com")
 5440         -
                .property(
 5441         -
                    "authSchemes",
 5442         -
                    vec![{
 5443         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5444         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5445         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5446         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 5447         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5448         -
                        out
 5449         -
                    }
 5450         -
                    .into()]
        4703  +
                .auth_scheme(
        4704  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4705  +
                        .put("disableDoubleEncoding", true)
        4706  +
                        .put("signingName", "s3".to_string())
        4707  +
                        .put("signingRegion", "us-west-2".to_string())
 5451   4708   
                )
 5452   4709   
                .build()
 5453   4710   
        );
 5454   4711   
    }
 5455   4712   
 5456   4713   
    /// virtual addressing + private link@cn-north-1
 5457   4714   
    #[test]
 5458   4715   
    fn test_191() {
 5459   4716   
        let params = crate::config::endpoint::Params::builder()
 5460   4717   
            .accelerate(false)
 5461   4718   
            .bucket("bucket-name".to_string())
 5462   4719   
            .force_path_style(false)
 5463   4720   
            .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
 5464   4721   
            .region("cn-north-1".to_string())
 5465   4722   
            .use_dual_stack(false)
 5466   4723   
            .use_fips(false)
 5467   4724   
            .build()
 5468   4725   
            .expect("invalid params");
 5469   4726   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5470   4727   
        let endpoint = resolver.resolve_endpoint(&params);
 5471   4728   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com");
 5472   4729   
        assert_eq!(
 5473   4730   
            endpoint,
 5474   4731   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5475   4732   
                .url("https://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com")
 5476         -
                .property(
 5477         -
                    "authSchemes",
 5478         -
                    vec![{
 5479         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5480         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5481         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5482         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 5483         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5484         -
                        out
 5485         -
                    }
 5486         -
                    .into()]
        4733  +
                .auth_scheme(
        4734  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4735  +
                        .put("disableDoubleEncoding", true)
        4736  +
                        .put("signingName", "s3".to_string())
        4737  +
                        .put("signingRegion", "cn-north-1".to_string())
 5487   4738   
                )
 5488   4739   
                .build()
 5489   4740   
        );
 5490   4741   
    }
 5491   4742   
 5492   4743   
    /// path style + private link@cn-north-1
 5493   4744   
    #[test]
 5494   4745   
    fn test_192() {
 5495   4746   
        let params = crate::config::endpoint::Params::builder()
 5496   4747   
            .accelerate(false)
 5497   4748   
            .bucket("bucket-name".to_string())
 5498   4749   
            .force_path_style(true)
 5499   4750   
            .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
 5500   4751   
            .region("cn-north-1".to_string())
 5501   4752   
            .use_dual_stack(false)
 5502   4753   
            .use_fips(false)
 5503   4754   
            .build()
 5504   4755   
            .expect("invalid params");
 5505   4756   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5506   4757   
        let endpoint = resolver.resolve_endpoint(&params);
 5507   4758   
        let endpoint = endpoint.expect("Expected valid endpoint: https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name");
 5508   4759   
        assert_eq!(
 5509   4760   
            endpoint,
 5510   4761   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5511   4762   
                .url("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name")
 5512         -
                .property(
 5513         -
                    "authSchemes",
 5514         -
                    vec![{
 5515         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5516         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5517         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5518         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 5519         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5520         -
                        out
 5521         -
                    }
 5522         -
                    .into()]
        4763  +
                .auth_scheme(
        4764  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4765  +
                        .put("disableDoubleEncoding", true)
        4766  +
                        .put("signingName", "s3".to_string())
        4767  +
                        .put("signingRegion", "cn-north-1".to_string())
 5523   4768   
                )
 5524   4769   
                .build()
 5525   4770   
        );
 5526   4771   
    }
 5527   4772   
 5528   4773   
    /// FIPS@cn-north-1
 5529   4774   
    #[test]
 5530   4775   
    fn test_193() {
 5531   4776   
        let params = crate::config::endpoint::Params::builder()
 5532   4777   
            .accelerate(false)
@@ -5576,4821 +5718,4945 @@
 5596   4841   
            .use_fips(false)
 5597   4842   
            .build()
 5598   4843   
            .expect("invalid params");
 5599   4844   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5600   4845   
        let endpoint = resolver.resolve_endpoint(&params);
 5601   4846   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.beta.example.com");
 5602   4847   
        assert_eq!(
 5603   4848   
            endpoint,
 5604   4849   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5605   4850   
                .url("https://myendpoint-123456789012.beta.example.com")
 5606         -
                .property(
 5607         -
                    "authSchemes",
 5608         -
                    vec![{
 5609         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5610         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5611         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5612         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 5613         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5614         -
                        out
 5615         -
                    }
 5616         -
                    .into()]
        4851  +
                .auth_scheme(
        4852  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4853  +
                        .put("disableDoubleEncoding", true)
        4854  +
                        .put("signingName", "s3".to_string())
        4855  +
                        .put("signingRegion", "cn-north-1".to_string())
 5617   4856   
                )
 5618   4857   
                .build()
 5619   4858   
        );
 5620   4859   
    }
 5621   4860   
 5622   4861   
    /// virtual addressing + private link@af-south-1
 5623   4862   
    #[test]
 5624   4863   
    fn test_197() {
 5625   4864   
        let params = crate::config::endpoint::Params::builder()
 5626   4865   
            .accelerate(false)
 5627   4866   
            .bucket("bucket-name".to_string())
 5628   4867   
            .force_path_style(false)
 5629   4868   
            .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
 5630   4869   
            .region("af-south-1".to_string())
 5631   4870   
            .use_dual_stack(false)
 5632   4871   
            .use_fips(false)
 5633   4872   
            .build()
 5634   4873   
            .expect("invalid params");
 5635   4874   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5636   4875   
        let endpoint = resolver.resolve_endpoint(&params);
 5637   4876   
        let endpoint = endpoint.expect("Expected valid endpoint: https://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com");
 5638   4877   
        assert_eq!(
 5639   4878   
            endpoint,
 5640   4879   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5641   4880   
                .url("https://bucket-name.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com")
 5642         -
                .property(
 5643         -
                    "authSchemes",
 5644         -
                    vec![{
 5645         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5646         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5647         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5648         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 5649         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5650         -
                        out
 5651         -
                    }
 5652         -
                    .into()]
        4881  +
                .auth_scheme(
        4882  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4883  +
                        .put("disableDoubleEncoding", true)
        4884  +
                        .put("signingName", "s3".to_string())
        4885  +
                        .put("signingRegion", "af-south-1".to_string())
 5653   4886   
                )
 5654   4887   
                .build()
 5655   4888   
        );
 5656   4889   
    }
 5657   4890   
 5658   4891   
    /// path style + private link@af-south-1
 5659   4892   
    #[test]
 5660   4893   
    fn test_198() {
 5661   4894   
        let params = crate::config::endpoint::Params::builder()
 5662   4895   
            .accelerate(false)
 5663   4896   
            .bucket("bucket-name".to_string())
 5664   4897   
            .force_path_style(true)
 5665   4898   
            .endpoint("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com".to_string())
 5666   4899   
            .region("af-south-1".to_string())
 5667   4900   
            .use_dual_stack(false)
 5668   4901   
            .use_fips(false)
 5669   4902   
            .build()
 5670   4903   
            .expect("invalid params");
 5671   4904   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5672   4905   
        let endpoint = resolver.resolve_endpoint(&params);
 5673   4906   
        let endpoint = endpoint.expect("Expected valid endpoint: https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name");
 5674   4907   
        assert_eq!(
 5675   4908   
            endpoint,
 5676   4909   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5677   4910   
                .url("https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com/bucket-name")
 5678         -
                .property(
 5679         -
                    "authSchemes",
 5680         -
                    vec![{
 5681         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5682         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5683         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5684         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 5685         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5686         -
                        out
 5687         -
                    }
 5688         -
                    .into()]
        4911  +
                .auth_scheme(
        4912  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        4913  +
                        .put("disableDoubleEncoding", true)
        4914  +
                        .put("signingName", "s3".to_string())
        4915  +
                        .put("signingRegion", "af-south-1".to_string())
 5689   4916   
                )
 5690   4917   
                .build()
 5691   4918   
        );
 5692   4919   
    }
 5693   4920   
 5694   4921   
    /// SDK::Host + FIPS@af-south-1
 5695   4922   
    #[test]
 5696   4923   
    fn test_199() {
 5697   4924   
        let params = crate::config::endpoint::Params::builder()
 5698   4925   
            .accelerate(false)
@@ -5743,4970 +5973,5170 @@
 5763   4990   
            .use_fips(false)
 5764   4991   
            .build()
 5765   4992   
            .expect("invalid params");
 5766   4993   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5767   4994   
        let endpoint = resolver.resolve_endpoint(&params);
 5768   4995   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.beta.example.com");
 5769   4996   
        assert_eq!(
 5770   4997   
            endpoint,
 5771   4998   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5772   4999   
                .url("https://myendpoint-123456789012.beta.example.com")
 5773         -
                .property(
 5774         -
                    "authSchemes",
 5775         -
                    vec![{
 5776         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5777         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5778         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5779         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 5780         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5781         -
                        out
 5782         -
                    }
 5783         -
                    .into()]
        5000  +
                .auth_scheme(
        5001  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5002  +
                        .put("disableDoubleEncoding", true)
        5003  +
                        .put("signingName", "s3".to_string())
        5004  +
                        .put("signingRegion", "af-south-1".to_string())
 5784   5005   
                )
 5785   5006   
                .build()
 5786   5007   
        );
 5787   5008   
    }
 5788   5009   
 5789   5010   
    /// vanilla access point arn@us-west-2
 5790   5011   
    #[test]
 5791   5012   
    fn test_203() {
 5792   5013   
        let params = crate::config::endpoint::Params::builder()
 5793   5014   
            .accelerate(false)
 5794   5015   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
 5795   5016   
            .force_path_style(false)
 5796   5017   
            .region("us-west-2".to_string())
 5797   5018   
            .use_dual_stack(false)
 5798   5019   
            .use_fips(false)
 5799   5020   
            .build()
 5800   5021   
            .expect("invalid params");
 5801   5022   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5802   5023   
        let endpoint = resolver.resolve_endpoint(&params);
 5803   5024   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com");
 5804   5025   
        assert_eq!(
 5805   5026   
            endpoint,
 5806   5027   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5807   5028   
                .url("https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com")
 5808         -
                .property(
 5809         -
                    "authSchemes",
 5810         -
                    vec![{
 5811         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5812         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5813         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5814         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 5815         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5816         -
                        out
 5817         -
                    }
 5818         -
                    .into()]
        5029  +
                .auth_scheme(
        5030  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5031  +
                        .put("disableDoubleEncoding", true)
        5032  +
                        .put("signingName", "s3".to_string())
        5033  +
                        .put("signingRegion", "us-west-2".to_string())
 5819   5034   
                )
 5820   5035   
                .build()
 5821   5036   
        );
 5822   5037   
    }
 5823   5038   
 5824   5039   
    /// access point arn + FIPS@us-west-2
 5825   5040   
    #[test]
 5826   5041   
    fn test_204() {
 5827   5042   
        let params = crate::config::endpoint::Params::builder()
 5828   5043   
            .accelerate(false)
 5829   5044   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
 5830   5045   
            .force_path_style(false)
 5831   5046   
            .region("us-west-2".to_string())
 5832   5047   
            .use_dual_stack(false)
 5833   5048   
            .use_fips(true)
 5834   5049   
            .build()
 5835   5050   
            .expect("invalid params");
 5836   5051   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5837   5052   
        let endpoint = resolver.resolve_endpoint(&params);
 5838   5053   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint-fips.us-west-2.amazonaws.com");
 5839   5054   
        assert_eq!(
 5840   5055   
            endpoint,
 5841   5056   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5842   5057   
                .url("https://myendpoint-123456789012.s3-accesspoint-fips.us-west-2.amazonaws.com")
 5843         -
                .property(
 5844         -
                    "authSchemes",
 5845         -
                    vec![{
 5846         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5847         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5848         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5849         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 5850         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5851         -
                        out
 5852         -
                    }
 5853         -
                    .into()]
        5058  +
                .auth_scheme(
        5059  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5060  +
                        .put("disableDoubleEncoding", true)
        5061  +
                        .put("signingName", "s3".to_string())
        5062  +
                        .put("signingRegion", "us-west-2".to_string())
 5854   5063   
                )
 5855   5064   
                .build()
 5856   5065   
        );
 5857   5066   
    }
 5858   5067   
 5859   5068   
    /// access point arn + accelerate = error@us-west-2
 5860   5069   
    #[test]
 5861   5070   
    fn test_205() {
 5862   5071   
        let params = crate::config::endpoint::Params::builder()
 5863   5072   
            .accelerate(true)
 5864   5073   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
 5865   5074   
            .force_path_style(false)
 5866   5075   
            .region("us-west-2".to_string())
 5867   5076   
            .use_dual_stack(false)
 5868   5077   
            .use_fips(false)
 5869   5078   
            .build()
 5870   5079   
            .expect("invalid params");
 5871   5080   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5872   5081   
        let endpoint = resolver.resolve_endpoint(&params);
 5873   5082   
        let error =
 5874   5083   
            endpoint.expect_err("expected error: Access Points do not support S3 Accelerate [access point arn + accelerate = error@us-west-2]");
 5875   5084   
        assert_eq!(format!("{}", error), "Access Points do not support S3 Accelerate")
 5876   5085   
    }
 5877   5086   
 5878   5087   
    /// access point arn + FIPS + DualStack@us-west-2
 5879   5088   
    #[test]
 5880   5089   
    fn test_206() {
 5881   5090   
        let params = crate::config::endpoint::Params::builder()
 5882   5091   
            .accelerate(false)
 5883   5092   
            .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint".to_string())
 5884   5093   
            .force_path_style(false)
 5885   5094   
            .region("us-west-2".to_string())
 5886   5095   
            .use_dual_stack(true)
 5887   5096   
            .use_fips(true)
 5888   5097   
            .build()
 5889   5098   
            .expect("invalid params");
 5890   5099   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5891   5100   
        let endpoint = resolver.resolve_endpoint(&params);
 5892   5101   
        let endpoint =
 5893   5102   
            endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com");
 5894   5103   
        assert_eq!(
 5895   5104   
            endpoint,
 5896   5105   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5897   5106   
                .url("https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com")
 5898         -
                .property(
 5899         -
                    "authSchemes",
 5900         -
                    vec![{
 5901         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5902         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5903         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5904         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 5905         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5906         -
                        out
 5907         -
                    }
 5908         -
                    .into()]
        5107  +
                .auth_scheme(
        5108  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5109  +
                        .put("disableDoubleEncoding", true)
        5110  +
                        .put("signingName", "s3".to_string())
        5111  +
                        .put("signingRegion", "us-west-2".to_string())
 5909   5112   
                )
 5910   5113   
                .build()
 5911   5114   
        );
 5912   5115   
    }
 5913   5116   
 5914   5117   
    /// vanilla access point arn@cn-north-1
 5915   5118   
    #[test]
 5916   5119   
    fn test_207() {
 5917   5120   
        let params = crate::config::endpoint::Params::builder()
 5918   5121   
            .accelerate(false)
 5919   5122   
            .bucket("arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint".to_string())
 5920   5123   
            .force_path_style(false)
 5921   5124   
            .region("cn-north-1".to_string())
 5922   5125   
            .use_dual_stack(false)
 5923   5126   
            .use_fips(false)
 5924   5127   
            .build()
 5925   5128   
            .expect("invalid params");
 5926   5129   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 5927   5130   
        let endpoint = resolver.resolve_endpoint(&params);
 5928   5131   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.cn-north-1.amazonaws.com.cn");
 5929   5132   
        assert_eq!(
 5930   5133   
            endpoint,
 5931   5134   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 5932   5135   
                .url("https://myendpoint-123456789012.s3-accesspoint.cn-north-1.amazonaws.com.cn")
 5933         -
                .property(
 5934         -
                    "authSchemes",
 5935         -
                    vec![{
 5936         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 5937         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 5938         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 5939         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 5940         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 5941         -
                        out
 5942         -
                    }
 5943         -
                    .into()]
        5136  +
                .auth_scheme(
        5137  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5138  +
                        .put("disableDoubleEncoding", true)
        5139  +
                        .put("signingName", "s3".to_string())
        5140  +
                        .put("signingRegion", "cn-north-1".to_string())
 5944   5141   
                )
 5945   5142   
                .build()
 5946   5143   
        );
 5947   5144   
    }
 5948   5145   
 5949   5146   
    /// access point arn + FIPS@cn-north-1
 5950   5147   
    #[test]
 5951   5148   
    fn test_208() {
 5952   5149   
        let params = crate::config::endpoint::Params::builder()
 5953   5150   
            .accelerate(false)
@@ -5993,5190 +6245,5402 @@
 6013   5210   
            .use_fips(false)
 6014   5211   
            .build()
 6015   5212   
            .expect("invalid params");
 6016   5213   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6017   5214   
        let endpoint = resolver.resolve_endpoint(&params);
 6018   5215   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint.af-south-1.amazonaws.com");
 6019   5216   
        assert_eq!(
 6020   5217   
            endpoint,
 6021   5218   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6022   5219   
                .url("https://myendpoint-123456789012.s3-accesspoint.af-south-1.amazonaws.com")
 6023         -
                .property(
 6024         -
                    "authSchemes",
 6025         -
                    vec![{
 6026         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6027         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6028         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 6029         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 6030         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6031         -
                        out
 6032         -
                    }
 6033         -
                    .into()]
        5220  +
                .auth_scheme(
        5221  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5222  +
                        .put("disableDoubleEncoding", true)
        5223  +
                        .put("signingName", "s3".to_string())
        5224  +
                        .put("signingRegion", "af-south-1".to_string())
 6034   5225   
                )
 6035   5226   
                .build()
 6036   5227   
        );
 6037   5228   
    }
 6038   5229   
 6039   5230   
    /// access point arn + FIPS@af-south-1
 6040   5231   
    #[test]
 6041   5232   
    fn test_212() {
 6042   5233   
        let params = crate::config::endpoint::Params::builder()
 6043   5234   
            .accelerate(false)
 6044   5235   
            .bucket("arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint".to_string())
 6045   5236   
            .force_path_style(false)
 6046   5237   
            .region("af-south-1".to_string())
 6047   5238   
            .use_dual_stack(false)
 6048   5239   
            .use_fips(true)
 6049   5240   
            .build()
 6050   5241   
            .expect("invalid params");
 6051   5242   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6052   5243   
        let endpoint = resolver.resolve_endpoint(&params);
 6053   5244   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint-fips.af-south-1.amazonaws.com");
 6054   5245   
        assert_eq!(
 6055   5246   
            endpoint,
 6056   5247   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6057   5248   
                .url("https://myendpoint-123456789012.s3-accesspoint-fips.af-south-1.amazonaws.com")
 6058         -
                .property(
 6059         -
                    "authSchemes",
 6060         -
                    vec![{
 6061         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6062         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6063         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 6064         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 6065         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6066         -
                        out
 6067         -
                    }
 6068         -
                    .into()]
        5249  +
                .auth_scheme(
        5250  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5251  +
                        .put("disableDoubleEncoding", true)
        5252  +
                        .put("signingName", "s3".to_string())
        5253  +
                        .put("signingRegion", "af-south-1".to_string())
 6069   5254   
                )
 6070   5255   
                .build()
 6071   5256   
        );
 6072   5257   
    }
 6073   5258   
 6074   5259   
    /// access point arn + accelerate = error@af-south-1
 6075   5260   
    #[test]
 6076   5261   
    fn test_213() {
 6077   5262   
        let params = crate::config::endpoint::Params::builder()
 6078   5263   
            .accelerate(true)
 6079   5264   
            .bucket("arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint".to_string())
 6080   5265   
            .force_path_style(false)
 6081   5266   
            .region("af-south-1".to_string())
 6082   5267   
            .use_dual_stack(false)
 6083   5268   
            .use_fips(false)
 6084   5269   
            .build()
 6085   5270   
            .expect("invalid params");
 6086   5271   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6087   5272   
        let endpoint = resolver.resolve_endpoint(&params);
 6088   5273   
        let error =
 6089   5274   
            endpoint.expect_err("expected error: Access Points do not support S3 Accelerate [access point arn + accelerate = error@af-south-1]");
 6090   5275   
        assert_eq!(format!("{}", error), "Access Points do not support S3 Accelerate")
 6091   5276   
    }
 6092   5277   
 6093   5278   
    /// access point arn + FIPS + DualStack@af-south-1
 6094   5279   
    #[test]
 6095   5280   
    fn test_214() {
 6096   5281   
        let params = crate::config::endpoint::Params::builder()
 6097   5282   
            .accelerate(false)
 6098   5283   
            .bucket("arn:aws:s3:af-south-1:123456789012:accesspoint:myendpoint".to_string())
 6099   5284   
            .force_path_style(false)
 6100   5285   
            .region("af-south-1".to_string())
 6101   5286   
            .use_dual_stack(true)
 6102   5287   
            .use_fips(true)
 6103   5288   
            .build()
 6104   5289   
            .expect("invalid params");
 6105   5290   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6106   5291   
        let endpoint = resolver.resolve_endpoint(&params);
 6107   5292   
        let endpoint =
 6108   5293   
            endpoint.expect("Expected valid endpoint: https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.af-south-1.amazonaws.com");
 6109   5294   
        assert_eq!(
 6110   5295   
            endpoint,
 6111   5296   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6112   5297   
                .url("https://myendpoint-123456789012.s3-accesspoint-fips.dualstack.af-south-1.amazonaws.com")
 6113         -
                .property(
 6114         -
                    "authSchemes",
 6115         -
                    vec![{
 6116         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6117         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6118         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 6119         -
                        out.insert("signingRegion".to_string(), "af-south-1".to_string().into());
 6120         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6121         -
                        out
 6122         -
                    }
 6123         -
                    .into()]
        5298  +
                .auth_scheme(
        5299  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5300  +
                        .put("disableDoubleEncoding", true)
        5301  +
                        .put("signingName", "s3".to_string())
        5302  +
                        .put("signingRegion", "af-south-1".to_string())
 6124   5303   
                )
 6125   5304   
                .build()
 6126   5305   
        );
 6127   5306   
    }
 6128   5307   
 6129   5308   
    /// S3 outposts vanilla test
 6130   5309   
    #[test]
 6131   5310   
    fn test_215() {
 6132   5311   
        let params = crate::config::endpoint::Params::builder()
 6133   5312   
            .region("us-west-2".to_string())
 6134   5313   
            .use_fips(false)
 6135   5314   
            .use_dual_stack(false)
 6136   5315   
            .accelerate(false)
 6137   5316   
            .bucket("arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
 6138   5317   
            .build()
 6139   5318   
            .expect("invalid params");
 6140   5319   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6141   5320   
        let endpoint = resolver.resolve_endpoint(&params);
 6142   5321   
        let endpoint =
 6143   5322   
            endpoint.expect("Expected valid endpoint: https://reports-123456789012.op-01234567890123456.s3-outposts.us-west-2.amazonaws.com");
 6144   5323   
        assert_eq!(
 6145   5324   
            endpoint,
 6146   5325   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6147   5326   
                .url("https://reports-123456789012.op-01234567890123456.s3-outposts.us-west-2.amazonaws.com")
 6148         -
                .property(
 6149         -
                    "authSchemes",
 6150         -
                    vec![
 6151         -
                        {
 6152         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6153         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 6154         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6155         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 6156         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6157         -
                            out
 6158         -
                        }
 6159         -
                        .into(),
 6160         -
                        {
 6161         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6162         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 6163         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6164         -
                            out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 6165         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6166         -
                            out
 6167         -
                        }
 6168         -
                        .into()
 6169         -
                    ]
        5327  +
                .auth_scheme(
        5328  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        5329  +
                        .put("disableDoubleEncoding", true)
        5330  +
                        .put("signingName", "s3-outposts".to_string())
        5331  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        5332  +
                )
        5333  +
                .auth_scheme(
        5334  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5335  +
                        .put("disableDoubleEncoding", true)
        5336  +
                        .put("signingName", "s3-outposts".to_string())
        5337  +
                        .put("signingRegion", "us-west-2".to_string())
 6170   5338   
                )
 6171   5339   
                .build()
 6172   5340   
        );
 6173   5341   
    }
 6174   5342   
 6175   5343   
    /// S3 outposts custom endpoint
 6176   5344   
    #[test]
 6177   5345   
    fn test_216() {
 6178   5346   
        let params = crate::config::endpoint::Params::builder()
 6179   5347   
            .region("us-west-2".to_string())
 6180   5348   
            .use_fips(false)
 6181   5349   
            .use_dual_stack(false)
 6182   5350   
            .accelerate(false)
 6183   5351   
            .bucket("arn:aws:s3-outposts:us-west-2:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
 6184   5352   
            .endpoint("https://example.amazonaws.com".to_string())
 6185   5353   
            .build()
 6186   5354   
            .expect("invalid params");
 6187   5355   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6188   5356   
        let endpoint = resolver.resolve_endpoint(&params);
 6189   5357   
        let endpoint = endpoint.expect("Expected valid endpoint: https://reports-123456789012.op-01234567890123456.example.amazonaws.com");
 6190   5358   
        assert_eq!(
 6191   5359   
            endpoint,
 6192   5360   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6193   5361   
                .url("https://reports-123456789012.op-01234567890123456.example.amazonaws.com")
 6194         -
                .property(
 6195         -
                    "authSchemes",
 6196         -
                    vec![
 6197         -
                        {
 6198         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6199         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 6200         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6201         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 6202         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6203         -
                            out
 6204         -
                        }
 6205         -
                        .into(),
 6206         -
                        {
 6207         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6208         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 6209         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6210         -
                            out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 6211         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6212         -
                            out
 6213         -
                        }
 6214         -
                        .into()
 6215         -
                    ]
        5362  +
                .auth_scheme(
        5363  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        5364  +
                        .put("disableDoubleEncoding", true)
        5365  +
                        .put("signingName", "s3-outposts".to_string())
        5366  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        5367  +
                )
        5368  +
                .auth_scheme(
        5369  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5370  +
                        .put("disableDoubleEncoding", true)
        5371  +
                        .put("signingName", "s3-outposts".to_string())
        5372  +
                        .put("signingRegion", "us-west-2".to_string())
 6216   5373   
                )
 6217   5374   
                .build()
 6218   5375   
        );
 6219   5376   
    }
 6220   5377   
 6221   5378   
    /// outposts arn with region mismatch and UseArnRegion=false
 6222   5379   
    #[test]
 6223   5380   
    fn test_217() {
 6224   5381   
        let params = crate::config::endpoint::Params::builder()
 6225   5382   
            .accelerate(false)
@@ -6257,5414 +6451,5575 @@
 6277   5434   
            .build()
 6278   5435   
            .expect("invalid params");
 6279   5436   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6280   5437   
        let endpoint = resolver.resolve_endpoint(&params);
 6281   5438   
        let endpoint =
 6282   5439   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com");
 6283   5440   
        assert_eq!(
 6284   5441   
            endpoint,
 6285   5442   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6286   5443   
                .url("https://myaccesspoint-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com")
 6287         -
                .property(
 6288         -
                    "authSchemes",
 6289         -
                    vec![
 6290         -
                        {
 6291         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6292         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 6293         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6294         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 6295         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6296         -
                            out
 6297         -
                        }
 6298         -
                        .into(),
 6299         -
                        {
 6300         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6301         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 6302         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6303         -
                            out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 6304         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6305         -
                            out
 6306         -
                        }
 6307         -
                        .into()
 6308         -
                    ]
        5444  +
                .auth_scheme(
        5445  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        5446  +
                        .put("disableDoubleEncoding", true)
        5447  +
                        .put("signingName", "s3-outposts".to_string())
        5448  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        5449  +
                )
        5450  +
                .auth_scheme(
        5451  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5452  +
                        .put("disableDoubleEncoding", true)
        5453  +
                        .put("signingName", "s3-outposts".to_string())
        5454  +
                        .put("signingRegion", "us-east-1".to_string())
 6309   5455   
                )
 6310   5456   
                .build()
 6311   5457   
        );
 6312   5458   
    }
 6313   5459   
 6314   5460   
    /// outposts arn with region mismatch and UseArnRegion unset
 6315   5461   
    #[test]
 6316   5462   
    fn test_220() {
 6317   5463   
        let params = crate::config::endpoint::Params::builder()
 6318   5464   
            .accelerate(false)
 6319   5465   
            .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint".to_string())
 6320   5466   
            .force_path_style(false)
 6321   5467   
            .region("us-west-2".to_string())
 6322   5468   
            .use_dual_stack(false)
 6323   5469   
            .use_fips(false)
 6324   5470   
            .build()
 6325   5471   
            .expect("invalid params");
 6326   5472   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6327   5473   
        let endpoint = resolver.resolve_endpoint(&params);
 6328   5474   
        let endpoint =
 6329   5475   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com");
 6330   5476   
        assert_eq!(
 6331   5477   
            endpoint,
 6332   5478   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6333   5479   
                .url("https://myaccesspoint-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com")
 6334         -
                .property(
 6335         -
                    "authSchemes",
 6336         -
                    vec![
 6337         -
                        {
 6338         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6339         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 6340         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6341         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 6342         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6343         -
                            out
 6344         -
                        }
 6345         -
                        .into(),
 6346         -
                        {
 6347         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6348         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 6349         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6350         -
                            out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 6351         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6352         -
                            out
 6353         -
                        }
 6354         -
                        .into()
 6355         -
                    ]
        5480  +
                .auth_scheme(
        5481  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        5482  +
                        .put("disableDoubleEncoding", true)
        5483  +
                        .put("signingName", "s3-outposts".to_string())
        5484  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        5485  +
                )
        5486  +
                .auth_scheme(
        5487  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5488  +
                        .put("disableDoubleEncoding", true)
        5489  +
                        .put("signingName", "s3-outposts".to_string())
        5490  +
                        .put("signingRegion", "us-east-1".to_string())
 6356   5491   
                )
 6357   5492   
                .build()
 6358   5493   
        );
 6359   5494   
    }
 6360   5495   
 6361   5496   
    /// outposts arn with partition mismatch and UseArnRegion=true
 6362   5497   
    #[test]
 6363   5498   
    fn test_221() {
 6364   5499   
        let params = crate::config::endpoint::Params::builder()
 6365   5500   
            .accelerate(false)
 6366   5501   
            .bucket("arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint".to_string())
 6367   5502   
            .force_path_style(false)
 6368   5503   
            .use_arn_region(true)
 6369   5504   
            .region("us-west-2".to_string())
 6370   5505   
            .use_dual_stack(false)
 6371   5506   
            .use_fips(false)
 6372   5507   
            .build()
 6373   5508   
            .expect("invalid params");
 6374   5509   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6375   5510   
        let endpoint = resolver.resolve_endpoint(&params);
 6376   5511   
        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]");
 6377   5512   
        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`")
 6378   5513   
    }
 6379   5514   
 6380   5515   
    /// ARN with UseGlobalEndpoint and use-east-1 region uses the regional endpoint
 6381   5516   
    #[test]
 6382   5517   
    fn test_222() {
 6383   5518   
        let params = crate::config::endpoint::Params::builder()
 6384   5519   
            .region("us-east-1".to_string())
 6385   5520   
            .use_global_endpoint(true)
 6386   5521   
            .use_fips(false)
 6387   5522   
            .use_dual_stack(false)
 6388   5523   
            .accelerate(false)
 6389   5524   
            .bucket("arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-01234567890123456/accesspoint/reports".to_string())
 6390   5525   
            .build()
 6391   5526   
            .expect("invalid params");
 6392   5527   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6393   5528   
        let endpoint = resolver.resolve_endpoint(&params);
 6394   5529   
        let endpoint =
 6395   5530   
            endpoint.expect("Expected valid endpoint: https://reports-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com");
 6396   5531   
        assert_eq!(
 6397   5532   
            endpoint,
 6398   5533   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6399   5534   
                .url("https://reports-123456789012.op-01234567890123456.s3-outposts.us-east-1.amazonaws.com")
 6400         -
                .property(
 6401         -
                    "authSchemes",
 6402         -
                    vec![
 6403         -
                        {
 6404         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6405         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 6406         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6407         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 6408         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6409         -
                            out
 6410         -
                        }
 6411         -
                        .into(),
 6412         -
                        {
 6413         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6414         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 6415         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 6416         -
                            out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 6417         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 6418         -
                            out
 6419         -
                        }
 6420         -
                        .into()
 6421         -
                    ]
        5535  +
                .auth_scheme(
        5536  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        5537  +
                        .put("disableDoubleEncoding", true)
        5538  +
                        .put("signingName", "s3-outposts".to_string())
        5539  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        5540  +
                )
        5541  +
                .auth_scheme(
        5542  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5543  +
                        .put("disableDoubleEncoding", true)
        5544  +
                        .put("signingName", "s3-outposts".to_string())
        5545  +
                        .put("signingRegion", "us-east-1".to_string())
 6422   5546   
                )
 6423   5547   
                .build()
 6424   5548   
        );
 6425   5549   
    }
 6426   5550   
 6427   5551   
    /// S3 outposts does not support dualstack
 6428   5552   
    #[test]
 6429   5553   
    fn test_223() {
 6430   5554   
        let params = crate::config::endpoint::Params::builder()
 6431   5555   
            .region("us-east-1".to_string())
@@ -6485,5609 +6751,5839 @@
 6505   5629   
            .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
 6506   5630   
            .build()
 6507   5631   
            .expect("invalid params");
 6508   5632   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6509   5633   
        let endpoint = resolver.resolve_endpoint(&params);
 6510   5634   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com");
 6511   5635   
        assert_eq!(
 6512   5636   
            endpoint,
 6513   5637   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6514   5638   
                .url("https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com")
 6515         -
                .property(
 6516         -
                    "authSchemes",
 6517         -
                    vec![{
 6518         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6519         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6520         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 6521         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 6522         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6523         -
                        out
 6524         -
                    }
 6525         -
                    .into()]
        5639  +
                .auth_scheme(
        5640  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5641  +
                        .put("disableDoubleEncoding", true)
        5642  +
                        .put("signingName", "s3-object-lambda".to_string())
        5643  +
                        .put("signingRegion", "us-east-1".to_string())
 6526   5644   
                )
 6527   5645   
                .build()
 6528   5646   
        );
 6529   5647   
    }
 6530   5648   
 6531   5649   
    /// object lambda @us-west-2
 6532   5650   
    #[test]
 6533   5651   
    fn test_228() {
 6534   5652   
        let params = crate::config::endpoint::Params::builder()
 6535   5653   
            .region("us-west-2".to_string())
 6536   5654   
            .use_fips(false)
 6537   5655   
            .use_dual_stack(false)
 6538   5656   
            .accelerate(false)
 6539   5657   
            .use_arn_region(false)
 6540   5658   
            .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint/mybanner".to_string())
 6541   5659   
            .build()
 6542   5660   
            .expect("invalid params");
 6543   5661   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6544   5662   
        let endpoint = resolver.resolve_endpoint(&params);
 6545   5663   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-west-2.amazonaws.com");
 6546   5664   
        assert_eq!(
 6547   5665   
            endpoint,
 6548   5666   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6549   5667   
                .url("https://mybanner-123456789012.s3-object-lambda.us-west-2.amazonaws.com")
 6550         -
                .property(
 6551         -
                    "authSchemes",
 6552         -
                    vec![{
 6553         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6554         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6555         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 6556         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 6557         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6558         -
                        out
 6559         -
                    }
 6560         -
                    .into()]
        5668  +
                .auth_scheme(
        5669  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5670  +
                        .put("disableDoubleEncoding", true)
        5671  +
                        .put("signingName", "s3-object-lambda".to_string())
        5672  +
                        .put("signingRegion", "us-west-2".to_string())
 6561   5673   
                )
 6562   5674   
                .build()
 6563   5675   
        );
 6564   5676   
    }
 6565   5677   
 6566   5678   
    /// object lambda, colon resource deliminator @us-west-2
 6567   5679   
    #[test]
 6568   5680   
    fn test_229() {
 6569   5681   
        let params = crate::config::endpoint::Params::builder()
 6570   5682   
            .region("us-west-2".to_string())
 6571   5683   
            .use_fips(false)
 6572   5684   
            .use_dual_stack(false)
 6573   5685   
            .accelerate(false)
 6574   5686   
            .use_arn_region(false)
 6575   5687   
            .bucket("arn:aws:s3-object-lambda:us-west-2:123456789012:accesspoint:mybanner".to_string())
 6576   5688   
            .build()
 6577   5689   
            .expect("invalid params");
 6578   5690   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6579   5691   
        let endpoint = resolver.resolve_endpoint(&params);
 6580   5692   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-west-2.amazonaws.com");
 6581   5693   
        assert_eq!(
 6582   5694   
            endpoint,
 6583   5695   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6584   5696   
                .url("https://mybanner-123456789012.s3-object-lambda.us-west-2.amazonaws.com")
 6585         -
                .property(
 6586         -
                    "authSchemes",
 6587         -
                    vec![{
 6588         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6589         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6590         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 6591         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 6592         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6593         -
                        out
 6594         -
                    }
 6595         -
                    .into()]
        5697  +
                .auth_scheme(
        5698  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5699  +
                        .put("disableDoubleEncoding", true)
        5700  +
                        .put("signingName", "s3-object-lambda".to_string())
        5701  +
                        .put("signingRegion", "us-west-2".to_string())
 6596   5702   
                )
 6597   5703   
                .build()
 6598   5704   
        );
 6599   5705   
    }
 6600   5706   
 6601   5707   
    /// object lambda @us-east-1, client region us-west-2, useArnRegion=true
 6602   5708   
    #[test]
 6603   5709   
    fn test_230() {
 6604   5710   
        let params = crate::config::endpoint::Params::builder()
 6605   5711   
            .region("us-west-2".to_string())
 6606   5712   
            .use_fips(false)
 6607   5713   
            .use_dual_stack(false)
 6608   5714   
            .accelerate(false)
 6609   5715   
            .use_arn_region(true)
 6610   5716   
            .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
 6611   5717   
            .build()
 6612   5718   
            .expect("invalid params");
 6613   5719   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6614   5720   
        let endpoint = resolver.resolve_endpoint(&params);
 6615   5721   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com");
 6616   5722   
        assert_eq!(
 6617   5723   
            endpoint,
 6618   5724   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6619   5725   
                .url("https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com")
 6620         -
                .property(
 6621         -
                    "authSchemes",
 6622         -
                    vec![{
 6623         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6624         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6625         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 6626         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 6627         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6628         -
                        out
 6629         -
                    }
 6630         -
                    .into()]
        5726  +
                .auth_scheme(
        5727  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5728  +
                        .put("disableDoubleEncoding", true)
        5729  +
                        .put("signingName", "s3-object-lambda".to_string())
        5730  +
                        .put("signingRegion", "us-east-1".to_string())
 6631   5731   
                )
 6632   5732   
                .build()
 6633   5733   
        );
 6634   5734   
    }
 6635   5735   
 6636   5736   
    /// object lambda @us-east-1, client region s3-external-1, useArnRegion=true
 6637   5737   
    #[test]
 6638   5738   
    fn test_231() {
 6639   5739   
        let params = crate::config::endpoint::Params::builder()
 6640   5740   
            .region("s3-external-1".to_string())
 6641   5741   
            .use_fips(false)
 6642   5742   
            .use_dual_stack(false)
 6643   5743   
            .accelerate(false)
 6644   5744   
            .use_arn_region(true)
 6645   5745   
            .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
 6646   5746   
            .build()
 6647   5747   
            .expect("invalid params");
 6648   5748   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6649   5749   
        let endpoint = resolver.resolve_endpoint(&params);
 6650   5750   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com");
 6651   5751   
        assert_eq!(
 6652   5752   
            endpoint,
 6653   5753   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6654   5754   
                .url("https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com")
 6655         -
                .property(
 6656         -
                    "authSchemes",
 6657         -
                    vec![{
 6658         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6659         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6660         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 6661         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 6662         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6663         -
                        out
 6664         -
                    }
 6665         -
                    .into()]
        5755  +
                .auth_scheme(
        5756  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5757  +
                        .put("disableDoubleEncoding", true)
        5758  +
                        .put("signingName", "s3-object-lambda".to_string())
        5759  +
                        .put("signingRegion", "us-east-1".to_string())
 6666   5760   
                )
 6667   5761   
                .build()
 6668   5762   
        );
 6669   5763   
    }
 6670   5764   
 6671   5765   
    /// object lambda @us-east-1, client region s3-external-1, useArnRegion=false
 6672   5766   
    #[test]
 6673   5767   
    fn test_232() {
 6674   5768   
        let params = crate::config::endpoint::Params::builder()
 6675   5769   
            .region("s3-external-1".to_string())
 6676   5770   
            .use_fips(false)
 6677   5771   
            .use_dual_stack(false)
 6678   5772   
            .accelerate(false)
 6679   5773   
            .use_arn_region(false)
 6680   5774   
            .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
 6681   5775   
            .build()
 6682   5776   
            .expect("invalid params");
 6683   5777   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6684   5778   
        let endpoint = resolver.resolve_endpoint(&params);
 6685   5779   
        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]");
 6686   5780   
        assert_eq!(
 6687   5781   
            format!("{}", error),
 6688   5782   
            "Invalid configuration: region from ARN `us-east-1` does not match client region `s3-external-1` and UseArnRegion is `false`"
 6689   5783   
        )
 6690   5784   
    }
 6691   5785   
 6692   5786   
    /// object lambda @us-east-1, client region aws-global, useArnRegion=true
 6693   5787   
    #[test]
 6694   5788   
    fn test_233() {
 6695   5789   
        let params = crate::config::endpoint::Params::builder()
 6696   5790   
            .region("aws-global".to_string())
 6697   5791   
            .use_fips(false)
 6698   5792   
            .use_dual_stack(false)
 6699   5793   
            .accelerate(false)
 6700   5794   
            .use_arn_region(true)
 6701   5795   
            .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
 6702   5796   
            .build()
 6703   5797   
            .expect("invalid params");
 6704   5798   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6705   5799   
        let endpoint = resolver.resolve_endpoint(&params);
 6706   5800   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com");
 6707   5801   
        assert_eq!(
 6708   5802   
            endpoint,
 6709   5803   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6710   5804   
                .url("https://mybanner-123456789012.s3-object-lambda.us-east-1.amazonaws.com")
 6711         -
                .property(
 6712         -
                    "authSchemes",
 6713         -
                    vec![{
 6714         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6715         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6716         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 6717         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 6718         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6719         -
                        out
 6720         -
                    }
 6721         -
                    .into()]
        5805  +
                .auth_scheme(
        5806  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5807  +
                        .put("disableDoubleEncoding", true)
        5808  +
                        .put("signingName", "s3-object-lambda".to_string())
        5809  +
                        .put("signingRegion", "us-east-1".to_string())
 6722   5810   
                )
 6723   5811   
                .build()
 6724   5812   
        );
 6725   5813   
    }
 6726   5814   
 6727   5815   
    /// object lambda @us-east-1, client region aws-global, useArnRegion=false
 6728   5816   
    #[test]
 6729   5817   
    fn test_234() {
 6730   5818   
        let params = crate::config::endpoint::Params::builder()
 6731   5819   
            .region("aws-global".to_string())
@@ -6773,5861 +6878,5954 @@
 6793   5881   
            .bucket("arn:aws-us-gov:s3-object-lambda:us-gov-east-1:123456789012:accesspoint/mybanner".to_string())
 6794   5882   
            .build()
 6795   5883   
            .expect("invalid params");
 6796   5884   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6797   5885   
        let endpoint = resolver.resolve_endpoint(&params);
 6798   5886   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda.us-gov-east-1.amazonaws.com");
 6799   5887   
        assert_eq!(
 6800   5888   
            endpoint,
 6801   5889   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6802   5890   
                .url("https://mybanner-123456789012.s3-object-lambda.us-gov-east-1.amazonaws.com")
 6803         -
                .property(
 6804         -
                    "authSchemes",
 6805         -
                    vec![{
 6806         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6807         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6808         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 6809         -
                        out.insert("signingRegion".to_string(), "us-gov-east-1".to_string().into());
 6810         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6811         -
                        out
 6812         -
                    }
 6813         -
                    .into()]
        5891  +
                .auth_scheme(
        5892  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5893  +
                        .put("disableDoubleEncoding", true)
        5894  +
                        .put("signingName", "s3-object-lambda".to_string())
        5895  +
                        .put("signingRegion", "us-gov-east-1".to_string())
 6814   5896   
                )
 6815   5897   
                .build()
 6816   5898   
        );
 6817   5899   
    }
 6818   5900   
 6819   5901   
    /// object lambda @us-gov-east-1, with fips
 6820   5902   
    #[test]
 6821   5903   
    fn test_238() {
 6822   5904   
        let params = crate::config::endpoint::Params::builder()
 6823   5905   
            .region("us-gov-east-1".to_string())
 6824   5906   
            .use_fips(true)
 6825   5907   
            .use_dual_stack(false)
 6826   5908   
            .accelerate(false)
 6827   5909   
            .use_arn_region(false)
 6828   5910   
            .bucket("arn:aws-us-gov:s3-object-lambda:us-gov-east-1:123456789012:accesspoint/mybanner".to_string())
 6829   5911   
            .build()
 6830   5912   
            .expect("invalid params");
 6831   5913   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 6832   5914   
        let endpoint = resolver.resolve_endpoint(&params);
 6833   5915   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.s3-object-lambda-fips.us-gov-east-1.amazonaws.com");
 6834   5916   
        assert_eq!(
 6835   5917   
            endpoint,
 6836   5918   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 6837   5919   
                .url("https://mybanner-123456789012.s3-object-lambda-fips.us-gov-east-1.amazonaws.com")
 6838         -
                .property(
 6839         -
                    "authSchemes",
 6840         -
                    vec![{
 6841         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 6842         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 6843         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 6844         -
                        out.insert("signingRegion".to_string(), "us-gov-east-1".to_string().into());
 6845         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 6846         -
                        out
 6847         -
                    }
 6848         -
                    .into()]
        5920  +
                .auth_scheme(
        5921  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        5922  +
                        .put("disableDoubleEncoding", true)
        5923  +
                        .put("signingName", "s3-object-lambda".to_string())
        5924  +
                        .put("signingRegion", "us-gov-east-1".to_string())
 6849   5925   
                )
 6850   5926   
                .build()
 6851   5927   
        );
 6852   5928   
    }
 6853   5929   
 6854   5930   
    /// object lambda @cn-north-1, with fips
 6855   5931   
    #[test]
 6856   5932   
    fn test_239() {
 6857   5933   
        let params = crate::config::endpoint::Params::builder()
 6858   5934   
            .region("cn-north-1".to_string())
@@ -7064,6140 +7293,6339 @@
 7084   6160   
            .endpoint("https://my-endpoint.com".to_string())
 7085   6161   
            .build()
 7086   6162   
            .expect("invalid params");
 7087   6163   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7088   6164   
        let endpoint = resolver.resolve_endpoint(&params);
 7089   6165   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybanner-123456789012.my-endpoint.com");
 7090   6166   
        assert_eq!(
 7091   6167   
            endpoint,
 7092   6168   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7093   6169   
                .url("https://mybanner-123456789012.my-endpoint.com")
 7094         -
                .property(
 7095         -
                    "authSchemes",
 7096         -
                    vec![{
 7097         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7098         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7099         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 7100         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 7101         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7102         -
                        out
 7103         -
                    }
 7104         -
                    .into()]
        6170  +
                .auth_scheme(
        6171  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6172  +
                        .put("disableDoubleEncoding", true)
        6173  +
                        .put("signingName", "s3-object-lambda".to_string())
        6174  +
                        .put("signingRegion", "us-west-2".to_string())
 7105   6175   
                )
 7106   6176   
                .build()
 7107   6177   
        );
 7108   6178   
    }
 7109   6179   
 7110   6180   
    /// object lambda arn with region mismatch and UseArnRegion=false
 7111   6181   
    #[test]
 7112   6182   
    fn test_251() {
 7113   6183   
        let params = crate::config::endpoint::Params::builder()
 7114   6184   
            .accelerate(false)
 7115   6185   
            .bucket("arn:aws:s3-object-lambda:us-east-1:123456789012:accesspoint/mybanner".to_string())
 7116   6186   
            .force_path_style(false)
 7117   6187   
            .use_arn_region(false)
 7118   6188   
            .region("us-west-2".to_string())
 7119   6189   
            .use_dual_stack(false)
 7120   6190   
            .use_fips(false)
 7121   6191   
            .build()
 7122   6192   
            .expect("invalid params");
 7123   6193   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7124   6194   
        let endpoint = resolver.resolve_endpoint(&params);
 7125   6195   
        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]");
 7126   6196   
        assert_eq!(
 7127   6197   
            format!("{}", error),
 7128   6198   
            "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"
 7129   6199   
        )
 7130   6200   
    }
 7131   6201   
 7132   6202   
    /// WriteGetObjectResponse @ us-west-2
 7133   6203   
    #[test]
 7134   6204   
    fn test_252() {
 7135   6205   
        let params = crate::config::endpoint::Params::builder()
 7136   6206   
            .accelerate(false)
 7137   6207   
            .use_object_lambda_endpoint(true)
 7138   6208   
            .region("us-west-2".to_string())
 7139   6209   
            .use_dual_stack(false)
 7140   6210   
            .use_fips(false)
 7141   6211   
            .build()
 7142   6212   
            .expect("invalid params");
 7143   6213   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7144   6214   
        let endpoint = resolver.resolve_endpoint(&params);
 7145   6215   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-object-lambda.us-west-2.amazonaws.com");
 7146   6216   
        assert_eq!(
 7147   6217   
            endpoint,
 7148   6218   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7149   6219   
                .url("https://s3-object-lambda.us-west-2.amazonaws.com")
 7150         -
                .property(
 7151         -
                    "authSchemes",
 7152         -
                    vec![{
 7153         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7154         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7155         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 7156         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 7157         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7158         -
                        out
 7159         -
                    }
 7160         -
                    .into()]
        6220  +
                .auth_scheme(
        6221  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6222  +
                        .put("disableDoubleEncoding", true)
        6223  +
                        .put("signingName", "s3-object-lambda".to_string())
        6224  +
                        .put("signingRegion", "us-west-2".to_string())
 7161   6225   
                )
 7162   6226   
                .build()
 7163   6227   
        );
 7164   6228   
    }
 7165   6229   
 7166   6230   
    /// WriteGetObjectResponse with custom endpoint
 7167   6231   
    #[test]
 7168   6232   
    fn test_253() {
 7169   6233   
        let params = crate::config::endpoint::Params::builder()
 7170   6234   
            .accelerate(false)
 7171   6235   
            .use_object_lambda_endpoint(true)
 7172   6236   
            .endpoint("https://my-endpoint.com".to_string())
 7173   6237   
            .region("us-west-2".to_string())
 7174   6238   
            .use_dual_stack(false)
 7175   6239   
            .use_fips(false)
 7176   6240   
            .build()
 7177   6241   
            .expect("invalid params");
 7178   6242   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7179   6243   
        let endpoint = resolver.resolve_endpoint(&params);
 7180   6244   
        let endpoint = endpoint.expect("Expected valid endpoint: https://my-endpoint.com");
 7181   6245   
        assert_eq!(
 7182   6246   
            endpoint,
 7183   6247   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7184   6248   
                .url("https://my-endpoint.com")
 7185         -
                .property(
 7186         -
                    "authSchemes",
 7187         -
                    vec![{
 7188         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7189         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7190         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 7191         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 7192         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7193         -
                        out
 7194         -
                    }
 7195         -
                    .into()]
        6249  +
                .auth_scheme(
        6250  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6251  +
                        .put("disableDoubleEncoding", true)
        6252  +
                        .put("signingName", "s3-object-lambda".to_string())
        6253  +
                        .put("signingRegion", "us-west-2".to_string())
 7196   6254   
                )
 7197   6255   
                .build()
 7198   6256   
        );
 7199   6257   
    }
 7200   6258   
 7201   6259   
    /// WriteGetObjectResponse @ us-east-1
 7202   6260   
    #[test]
 7203   6261   
    fn test_254() {
 7204   6262   
        let params = crate::config::endpoint::Params::builder()
 7205   6263   
            .accelerate(false)
 7206   6264   
            .use_object_lambda_endpoint(true)
 7207   6265   
            .region("us-east-1".to_string())
 7208   6266   
            .use_dual_stack(false)
 7209   6267   
            .use_fips(false)
 7210   6268   
            .build()
 7211   6269   
            .expect("invalid params");
 7212   6270   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7213   6271   
        let endpoint = resolver.resolve_endpoint(&params);
 7214   6272   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-object-lambda.us-east-1.amazonaws.com");
 7215   6273   
        assert_eq!(
 7216   6274   
            endpoint,
 7217   6275   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7218   6276   
                .url("https://s3-object-lambda.us-east-1.amazonaws.com")
 7219         -
                .property(
 7220         -
                    "authSchemes",
 7221         -
                    vec![{
 7222         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7223         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7224         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 7225         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 7226         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7227         -
                        out
 7228         -
                    }
 7229         -
                    .into()]
        6277  +
                .auth_scheme(
        6278  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6279  +
                        .put("disableDoubleEncoding", true)
        6280  +
                        .put("signingName", "s3-object-lambda".to_string())
        6281  +
                        .put("signingRegion", "us-east-1".to_string())
 7230   6282   
                )
 7231   6283   
                .build()
 7232   6284   
        );
 7233   6285   
    }
 7234   6286   
 7235   6287   
    /// WriteGetObjectResponse with fips
 7236   6288   
    #[test]
 7237   6289   
    fn test_255() {
 7238   6290   
        let params = crate::config::endpoint::Params::builder()
 7239   6291   
            .accelerate(false)
 7240   6292   
            .use_object_lambda_endpoint(true)
 7241   6293   
            .region("us-east-1".to_string())
 7242   6294   
            .use_dual_stack(false)
 7243   6295   
            .use_fips(true)
 7244   6296   
            .build()
 7245   6297   
            .expect("invalid params");
 7246   6298   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7247   6299   
        let endpoint = resolver.resolve_endpoint(&params);
 7248   6300   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-object-lambda-fips.us-east-1.amazonaws.com");
 7249   6301   
        assert_eq!(
 7250   6302   
            endpoint,
 7251   6303   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7252   6304   
                .url("https://s3-object-lambda-fips.us-east-1.amazonaws.com")
 7253         -
                .property(
 7254         -
                    "authSchemes",
 7255         -
                    vec![{
 7256         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7257         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7258         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 7259         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 7260         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7261         -
                        out
 7262         -
                    }
 7263         -
                    .into()]
        6305  +
                .auth_scheme(
        6306  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6307  +
                        .put("disableDoubleEncoding", true)
        6308  +
                        .put("signingName", "s3-object-lambda".to_string())
        6309  +
                        .put("signingRegion", "us-east-1".to_string())
 7264   6310   
                )
 7265   6311   
                .build()
 7266   6312   
        );
 7267   6313   
    }
 7268   6314   
 7269   6315   
    /// WriteGetObjectResponse with dualstack
 7270   6316   
    #[test]
 7271   6317   
    fn test_256() {
 7272   6318   
        let params = crate::config::endpoint::Params::builder()
 7273   6319   
            .accelerate(false)
@@ -7326,6372 +7647,6631 @@
 7346   6392   
            .use_fips(false)
 7347   6393   
            .build()
 7348   6394   
            .expect("invalid params");
 7349   6395   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7350   6396   
        let endpoint = resolver.resolve_endpoint(&params);
 7351   6397   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3-object-lambda.us-east.special.amazonaws.com");
 7352   6398   
        assert_eq!(
 7353   6399   
            endpoint,
 7354   6400   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7355   6401   
                .url("https://s3-object-lambda.us-east.special.amazonaws.com")
 7356         -
                .property(
 7357         -
                    "authSchemes",
 7358         -
                    vec![{
 7359         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7360         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7361         -
                        out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
 7362         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7363         -
                        out.insert("signingRegion".to_string(), "us-east.special".to_string().into());
 7364         -
                        out
 7365         -
                    }
 7366         -
                    .into()]
        6402  +
                .auth_scheme(
        6403  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6404  +
                        .put("disableDoubleEncoding", true)
        6405  +
                        .put("signingName", "s3-object-lambda".to_string())
        6406  +
                        .put("signingRegion", "us-east.special".to_string())
 7367   6407   
                )
 7368   6408   
                .build()
 7369   6409   
        );
 7370   6410   
    }
 7371   6411   
 7372   6412   
    /// S3 Outposts bucketAlias Real Outpost Prod us-west-1
 7373   6413   
    #[test]
 7374   6414   
    fn test_261() {
 7375   6415   
        let params = crate::config::endpoint::Params::builder()
 7376   6416   
            .region("us-west-1".to_string())
 7377   6417   
            .bucket("test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3".to_string())
 7378   6418   
            .use_fips(false)
 7379   6419   
            .use_dual_stack(false)
 7380   6420   
            .accelerate(false)
 7381   6421   
            .build()
 7382   6422   
            .expect("invalid params");
 7383   6423   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7384   6424   
        let endpoint = resolver.resolve_endpoint(&params);
 7385   6425   
        let endpoint = endpoint.expect("Expected valid endpoint: https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.op-0b1d075431d83bebd.s3-outposts.us-west-1.amazonaws.com");
 7386   6426   
        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")
 7387         -
    .property("authSchemes", vec![ {
 7388         -
        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7389         -
        out.insert("name".to_string(), "sigv4a".to_string().into());
 7390         -
        out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7391         -
        out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 7392         -
        out.insert("disableDoubleEncoding".to_string(), true.into());
 7393         -
        out
 7394         -
    }.into()
 7395         -
    , {
 7396         -
        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7397         -
        out.insert("name".to_string(), "sigv4".to_string().into());
 7398         -
        out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7399         -
        out.insert("signingRegion".to_string(), "us-west-1".to_string().into());
 7400         -
        out.insert("disableDoubleEncoding".to_string(), true.into());
 7401         -
        out
 7402         -
    }.into()])
        6427  +
    .auth_scheme(::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        6428  +
    .put("disableDoubleEncoding", true)
        6429  +
    .put("signingName", "s3-outposts".to_string())
        6430  +
    .put("signingRegionSet", vec!["*".to_string().into()])
        6431  +
    )
        6432  +
    .auth_scheme(::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6433  +
    .put("disableDoubleEncoding", true)
        6434  +
    .put("signingName", "s3-outposts".to_string())
        6435  +
    .put("signingRegion", "us-west-1".to_string())
        6436  +
    )
 7403   6437   
    .build());
 7404   6438   
    }
 7405   6439   
 7406   6440   
    /// S3 Outposts bucketAlias Real Outpost Prod ap-east-1
 7407   6441   
    #[test]
 7408   6442   
    fn test_262() {
 7409   6443   
        let params = crate::config::endpoint::Params::builder()
 7410   6444   
            .region("ap-east-1".to_string())
 7411   6445   
            .bucket("test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3".to_string())
 7412   6446   
            .use_fips(false)
 7413   6447   
            .use_dual_stack(false)
 7414   6448   
            .accelerate(false)
 7415   6449   
            .build()
 7416   6450   
            .expect("invalid params");
 7417   6451   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7418   6452   
        let endpoint = resolver.resolve_endpoint(&params);
 7419   6453   
        let endpoint = endpoint.expect("Expected valid endpoint: https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.op-0b1d075431d83bebd.s3-outposts.ap-east-1.amazonaws.com");
 7420   6454   
        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")
 7421         -
    .property("authSchemes", vec![ {
 7422         -
        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7423         -
        out.insert("name".to_string(), "sigv4a".to_string().into());
 7424         -
        out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7425         -
        out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 7426         -
        out.insert("disableDoubleEncoding".to_string(), true.into());
 7427         -
        out
 7428         -
    }.into()
 7429         -
    , {
 7430         -
        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7431         -
        out.insert("name".to_string(), "sigv4".to_string().into());
 7432         -
        out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7433         -
        out.insert("signingRegion".to_string(), "ap-east-1".to_string().into());
 7434         -
        out.insert("disableDoubleEncoding".to_string(), true.into());
 7435         -
        out
 7436         -
    }.into()])
        6455  +
    .auth_scheme(::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        6456  +
    .put("disableDoubleEncoding", true)
        6457  +
    .put("signingName", "s3-outposts".to_string())
        6458  +
    .put("signingRegionSet", vec!["*".to_string().into()])
        6459  +
    )
        6460  +
    .auth_scheme(::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6461  +
    .put("disableDoubleEncoding", true)
        6462  +
    .put("signingName", "s3-outposts".to_string())
        6463  +
    .put("signingRegion", "ap-east-1".to_string())
        6464  +
    )
 7437   6465   
    .build());
 7438   6466   
    }
 7439   6467   
 7440   6468   
    /// S3 Outposts bucketAlias Ec2 Outpost Prod us-east-1
 7441   6469   
    #[test]
 7442   6470   
    fn test_263() {
 7443   6471   
        let params = crate::config::endpoint::Params::builder()
 7444   6472   
            .region("us-east-1".to_string())
 7445   6473   
            .bucket("test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3".to_string())
 7446   6474   
            .use_fips(false)
 7447   6475   
            .use_dual_stack(false)
 7448   6476   
            .accelerate(false)
 7449   6477   
            .build()
 7450   6478   
            .expect("invalid params");
 7451   6479   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7452   6480   
        let endpoint = resolver.resolve_endpoint(&params);
 7453   6481   
        let endpoint = endpoint.expect("Expected valid endpoint: https://test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.ec2.s3-outposts.us-east-1.amazonaws.com");
 7454   6482   
        assert_eq!(
 7455   6483   
            endpoint,
 7456   6484   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7457   6485   
                .url("https://test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.ec2.s3-outposts.us-east-1.amazonaws.com")
 7458         -
                .property(
 7459         -
                    "authSchemes",
 7460         -
                    vec![
 7461         -
                        {
 7462         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7463         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 7464         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7465         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 7466         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 7467         -
                            out
 7468         -
                        }
 7469         -
                        .into(),
 7470         -
                        {
 7471         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7472         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 7473         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7474         -
                            out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 7475         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 7476         -
                            out
 7477         -
                        }
 7478         -
                        .into()
 7479         -
                    ]
        6486  +
                .auth_scheme(
        6487  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        6488  +
                        .put("disableDoubleEncoding", true)
        6489  +
                        .put("signingName", "s3-outposts".to_string())
        6490  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        6491  +
                )
        6492  +
                .auth_scheme(
        6493  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6494  +
                        .put("disableDoubleEncoding", true)
        6495  +
                        .put("signingName", "s3-outposts".to_string())
        6496  +
                        .put("signingRegion", "us-east-1".to_string())
 7480   6497   
                )
 7481   6498   
                .build()
 7482   6499   
        );
 7483   6500   
    }
 7484   6501   
 7485   6502   
    /// S3 Outposts bucketAlias Ec2 Outpost Prod me-south-1
 7486   6503   
    #[test]
 7487   6504   
    fn test_264() {
 7488   6505   
        let params = crate::config::endpoint::Params::builder()
 7489   6506   
            .region("me-south-1".to_string())
 7490   6507   
            .bucket("test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3".to_string())
 7491   6508   
            .use_fips(false)
 7492   6509   
            .use_dual_stack(false)
 7493   6510   
            .accelerate(false)
 7494   6511   
            .build()
 7495   6512   
            .expect("invalid params");
 7496   6513   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7497   6514   
        let endpoint = resolver.resolve_endpoint(&params);
 7498   6515   
        let endpoint = endpoint.expect("Expected valid endpoint: https://test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.ec2.s3-outposts.me-south-1.amazonaws.com");
 7499   6516   
        assert_eq!(
 7500   6517   
            endpoint,
 7501   6518   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7502   6519   
                .url("https://test-accessp-e0000075431d83bebde8xz5w8ijx1qzlbp3i3kuse10--op-s3.ec2.s3-outposts.me-south-1.amazonaws.com")
 7503         -
                .property(
 7504         -
                    "authSchemes",
 7505         -
                    vec![
 7506         -
                        {
 7507         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7508         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 7509         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7510         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 7511         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 7512         -
                            out
 7513         -
                        }
 7514         -
                        .into(),
 7515         -
                        {
 7516         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7517         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 7518         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7519         -
                            out.insert("signingRegion".to_string(), "me-south-1".to_string().into());
 7520         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 7521         -
                            out
 7522         -
                        }
 7523         -
                        .into()
 7524         -
                    ]
        6520  +
                .auth_scheme(
        6521  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        6522  +
                        .put("disableDoubleEncoding", true)
        6523  +
                        .put("signingName", "s3-outposts".to_string())
        6524  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        6525  +
                )
        6526  +
                .auth_scheme(
        6527  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6528  +
                        .put("disableDoubleEncoding", true)
        6529  +
                        .put("signingName", "s3-outposts".to_string())
        6530  +
                        .put("signingRegion", "me-south-1".to_string())
 7525   6531   
                )
 7526   6532   
                .build()
 7527   6533   
        );
 7528   6534   
    }
 7529   6535   
 7530   6536   
    /// S3 Outposts bucketAlias Real Outpost Beta
 7531   6537   
    #[test]
 7532   6538   
    fn test_265() {
 7533   6539   
        let params = crate::config::endpoint::Params::builder()
 7534   6540   
            .region("us-east-1".to_string())
 7535   6541   
            .bucket("test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3".to_string())
 7536   6542   
            .endpoint("https://example.amazonaws.com".to_string())
 7537   6543   
            .use_fips(false)
 7538   6544   
            .use_dual_stack(false)
 7539   6545   
            .accelerate(false)
 7540   6546   
            .build()
 7541   6547   
            .expect("invalid params");
 7542   6548   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7543   6549   
        let endpoint = resolver.resolve_endpoint(&params);
 7544   6550   
        let endpoint = endpoint.expect("Expected valid endpoint: https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3.op-0b1d075431d83bebd.example.amazonaws.com");
 7545   6551   
        assert_eq!(
 7546   6552   
            endpoint,
 7547   6553   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7548   6554   
                .url("https://test-accessp-o0b1d075431d83bebde8xz5w8ijx1qzlbp3i3kbeta0--op-s3.op-0b1d075431d83bebd.example.amazonaws.com")
 7549         -
                .property(
 7550         -
                    "authSchemes",
 7551         -
                    vec![
 7552         -
                        {
 7553         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7554         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 7555         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7556         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 7557         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 7558         -
                            out
 7559         -
                        }
 7560         -
                        .into(),
 7561         -
                        {
 7562         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7563         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 7564         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7565         -
                            out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 7566         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 7567         -
                            out
 7568         -
                        }
 7569         -
                        .into()
 7570         -
                    ]
        6555  +
                .auth_scheme(
        6556  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        6557  +
                        .put("disableDoubleEncoding", true)
        6558  +
                        .put("signingName", "s3-outposts".to_string())
        6559  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        6560  +
                )
        6561  +
                .auth_scheme(
        6562  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6563  +
                        .put("disableDoubleEncoding", true)
        6564  +
                        .put("signingName", "s3-outposts".to_string())
        6565  +
                        .put("signingRegion", "us-east-1".to_string())
 7571   6566   
                )
 7572   6567   
                .build()
 7573   6568   
        );
 7574   6569   
    }
 7575   6570   
 7576   6571   
    /// S3 Outposts bucketAlias Ec2 Outpost Beta
 7577   6572   
    #[test]
 7578   6573   
    fn test_266() {
 7579   6574   
        let params = crate::config::endpoint::Params::builder()
 7580   6575   
            .region("us-east-1".to_string())
 7581   6576   
            .bucket("161743052723-e00000136899934034jeahy1t8gpzpbwjj8kb7beta0--op-s3".to_string())
 7582   6577   
            .endpoint("https://example.amazonaws.com".to_string())
 7583   6578   
            .use_fips(false)
 7584   6579   
            .use_dual_stack(false)
 7585   6580   
            .accelerate(false)
 7586   6581   
            .build()
 7587   6582   
            .expect("invalid params");
 7588   6583   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7589   6584   
        let endpoint = resolver.resolve_endpoint(&params);
 7590   6585   
        let endpoint = endpoint
 7591   6586   
            .expect("Expected valid endpoint: https://161743052723-e00000136899934034jeahy1t8gpzpbwjj8kb7beta0--op-s3.ec2.example.amazonaws.com");
 7592   6587   
        assert_eq!(
 7593   6588   
            endpoint,
 7594   6589   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7595   6590   
                .url("https://161743052723-e00000136899934034jeahy1t8gpzpbwjj8kb7beta0--op-s3.ec2.example.amazonaws.com")
 7596         -
                .property(
 7597         -
                    "authSchemes",
 7598         -
                    vec![
 7599         -
                        {
 7600         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7601         -
                            out.insert("name".to_string(), "sigv4a".to_string().into());
 7602         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7603         -
                            out.insert("signingRegionSet".to_string(), vec!["*".to_string().into()].into());
 7604         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 7605         -
                            out
 7606         -
                        }
 7607         -
                        .into(),
 7608         -
                        {
 7609         -
                            let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7610         -
                            out.insert("name".to_string(), "sigv4".to_string().into());
 7611         -
                            out.insert("signingName".to_string(), "s3-outposts".to_string().into());
 7612         -
                            out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 7613         -
                            out.insert("disableDoubleEncoding".to_string(), true.into());
 7614         -
                            out
 7615         -
                        }
 7616         -
                        .into()
 7617         -
                    ]
        6591  +
                .auth_scheme(
        6592  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a", 3)
        6593  +
                        .put("disableDoubleEncoding", true)
        6594  +
                        .put("signingName", "s3-outposts".to_string())
        6595  +
                        .put("signingRegionSet", vec!["*".to_string().into()])
        6596  +
                )
        6597  +
                .auth_scheme(
        6598  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6599  +
                        .put("disableDoubleEncoding", true)
        6600  +
                        .put("signingName", "s3-outposts".to_string())
        6601  +
                        .put("signingRegion", "us-east-1".to_string())
 7618   6602   
                )
 7619   6603   
                .build()
 7620   6604   
        );
 7621   6605   
    }
 7622   6606   
 7623   6607   
    /// S3 Outposts bucketAlias - No endpoint set for beta
 7624   6608   
    #[test]
 7625   6609   
    fn test_267() {
 7626   6610   
        let params = crate::config::endpoint::Params::builder()
 7627   6611   
            .region("us-east-1".to_string())
@@ -7692,6676 +9997,8621 @@
 7712   6696   
            .accelerate(false)
 7713   6697   
            .build()
 7714   6698   
            .expect("invalid params");
 7715   6699   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7716   6700   
        let endpoint = resolver.resolve_endpoint(&params);
 7717   6701   
        let endpoint = endpoint.expect("Expected valid endpoint: http://10.0.1.12:433/bucketName");
 7718   6702   
        assert_eq!(
 7719   6703   
            endpoint,
 7720   6704   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7721   6705   
                .url("http://10.0.1.12:433/bucketName")
 7722         -
                .property(
 7723         -
                    "authSchemes",
 7724         -
                    vec![{
 7725         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7726         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7727         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 7728         -
                        out.insert("signingRegion".to_string(), "snow".to_string().into());
 7729         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7730         -
                        out
 7731         -
                    }
 7732         -
                    .into()]
        6706  +
                .auth_scheme(
        6707  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6708  +
                        .put("disableDoubleEncoding", true)
        6709  +
                        .put("signingName", "s3".to_string())
        6710  +
                        .put("signingRegion", "snow".to_string())
 7733   6711   
                )
 7734   6712   
                .build()
 7735   6713   
        );
 7736   6714   
    }
 7737   6715   
 7738   6716   
    /// S3 Snow without bucket
 7739   6717   
    #[test]
 7740   6718   
    fn test_272() {
 7741   6719   
        let params = crate::config::endpoint::Params::builder()
 7742   6720   
            .region("snow".to_string())
 7743   6721   
            .endpoint("https://10.0.1.12:433".to_string())
 7744   6722   
            .use_fips(false)
 7745   6723   
            .use_dual_stack(false)
 7746   6724   
            .accelerate(false)
 7747   6725   
            .build()
 7748   6726   
            .expect("invalid params");
 7749   6727   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7750   6728   
        let endpoint = resolver.resolve_endpoint(&params);
 7751   6729   
        let endpoint = endpoint.expect("Expected valid endpoint: https://10.0.1.12:433");
 7752   6730   
        assert_eq!(
 7753   6731   
            endpoint,
 7754   6732   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7755   6733   
                .url("https://10.0.1.12:433")
 7756         -
                .property(
 7757         -
                    "authSchemes",
 7758         -
                    vec![{
 7759         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7760         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7761         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 7762         -
                        out.insert("signingRegion".to_string(), "snow".to_string().into());
 7763         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7764         -
                        out
 7765         -
                    }
 7766         -
                    .into()]
        6734  +
                .auth_scheme(
        6735  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6736  +
                        .put("disableDoubleEncoding", true)
        6737  +
                        .put("signingName", "s3".to_string())
        6738  +
                        .put("signingRegion", "snow".to_string())
 7767   6739   
                )
 7768   6740   
                .build()
 7769   6741   
        );
 7770   6742   
    }
 7771   6743   
 7772   6744   
    /// S3 Snow no port
 7773   6745   
    #[test]
 7774   6746   
    fn test_273() {
 7775   6747   
        let params = crate::config::endpoint::Params::builder()
 7776   6748   
            .region("snow".to_string())
 7777   6749   
            .bucket("bucketName".to_string())
 7778   6750   
            .endpoint("http://10.0.1.12".to_string())
 7779   6751   
            .use_fips(false)
 7780   6752   
            .use_dual_stack(false)
 7781   6753   
            .accelerate(false)
 7782   6754   
            .build()
 7783   6755   
            .expect("invalid params");
 7784   6756   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7785   6757   
        let endpoint = resolver.resolve_endpoint(&params);
 7786   6758   
        let endpoint = endpoint.expect("Expected valid endpoint: http://10.0.1.12/bucketName");
 7787   6759   
        assert_eq!(
 7788   6760   
            endpoint,
 7789   6761   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7790   6762   
                .url("http://10.0.1.12/bucketName")
 7791         -
                .property(
 7792         -
                    "authSchemes",
 7793         -
                    vec![{
 7794         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7795         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7796         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 7797         -
                        out.insert("signingRegion".to_string(), "snow".to_string().into());
 7798         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7799         -
                        out
 7800         -
                    }
 7801         -
                    .into()]
        6763  +
                .auth_scheme(
        6764  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6765  +
                        .put("disableDoubleEncoding", true)
        6766  +
                        .put("signingName", "s3".to_string())
        6767  +
                        .put("signingRegion", "snow".to_string())
 7802   6768   
                )
 7803   6769   
                .build()
 7804   6770   
        );
 7805   6771   
    }
 7806   6772   
 7807   6773   
    /// S3 Snow dns endpoint
 7808   6774   
    #[test]
 7809   6775   
    fn test_274() {
 7810   6776   
        let params = crate::config::endpoint::Params::builder()
 7811   6777   
            .region("snow".to_string())
 7812   6778   
            .bucket("bucketName".to_string())
 7813   6779   
            .endpoint("https://amazonaws.com".to_string())
 7814   6780   
            .use_fips(false)
 7815   6781   
            .use_dual_stack(false)
 7816   6782   
            .accelerate(false)
 7817   6783   
            .build()
 7818   6784   
            .expect("invalid params");
 7819   6785   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7820   6786   
        let endpoint = resolver.resolve_endpoint(&params);
 7821   6787   
        let endpoint = endpoint.expect("Expected valid endpoint: https://amazonaws.com/bucketName");
 7822   6788   
        assert_eq!(
 7823   6789   
            endpoint,
 7824   6790   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7825   6791   
                .url("https://amazonaws.com/bucketName")
 7826         -
                .property(
 7827         -
                    "authSchemes",
 7828         -
                    vec![{
 7829         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7830         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 7831         -
                        out.insert("signingName".to_string(), "s3".to_string().into());
 7832         -
                        out.insert("signingRegion".to_string(), "snow".to_string().into());
 7833         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7834         -
                        out
 7835         -
                    }
 7836         -
                    .into()]
        6792  +
                .auth_scheme(
        6793  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        6794  +
                        .put("disableDoubleEncoding", true)
        6795  +
                        .put("signingName", "s3".to_string())
        6796  +
                        .put("signingRegion", "snow".to_string())
 7837   6797   
                )
 7838   6798   
                .build()
 7839   6799   
        );
 7840   6800   
    }
 7841   6801   
 7842   6802   
    /// Data Plane with short zone name
 7843   6803   
    #[test]
 7844   6804   
    fn test_275() {
 7845   6805   
        let params = crate::config::endpoint::Params::builder()
 7846   6806   
            .region("us-east-1".to_string())
 7847   6807   
            .bucket("mybucket--abcd-ab1--x-s3".to_string())
 7848   6808   
            .use_fips(false)
 7849   6809   
            .use_dual_stack(false)
 7850   6810   
            .accelerate(false)
 7851   6811   
            .use_s3_express_control_endpoint(false)
 7852   6812   
            .build()
 7853   6813   
            .expect("invalid params");
 7854   6814   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7855   6815   
        let endpoint = resolver.resolve_endpoint(&params);
 7856   6816   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--abcd-ab1--x-s3.s3express-abcd-ab1.us-east-1.amazonaws.com");
 7857   6817   
        assert_eq!(
 7858   6818   
            endpoint,
 7859   6819   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7860   6820   
                .url("https://mybucket--abcd-ab1--x-s3.s3express-abcd-ab1.us-east-1.amazonaws.com")
 7861         -
                .property(
 7862         -
                    "authSchemes",
 7863         -
                    vec![{
 7864         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7865         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 7866         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 7867         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 7868         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7869         -
                        out
 7870         -
                    }
 7871         -
                    .into()]
        6821  +
                .auth_scheme(
        6822  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        6823  +
                        .put("disableDoubleEncoding", true)
        6824  +
                        .put("signingName", "s3express".to_string())
        6825  +
                        .put("signingRegion", "us-east-1".to_string())
 7872   6826   
                )
 7873   6827   
                .property("backend", "S3Express".to_string())
 7874   6828   
                .build()
 7875   6829   
        );
 7876   6830   
    }
 7877   6831   
 7878   6832   
    /// Data Plane with short zone name china region
 7879   6833   
    #[test]
 7880   6834   
    fn test_276() {
 7881   6835   
        let params = crate::config::endpoint::Params::builder()
 7882   6836   
            .region("cn-north-1".to_string())
 7883   6837   
            .bucket("mybucket--abcd-ab1--x-s3".to_string())
 7884   6838   
            .use_fips(false)
 7885   6839   
            .use_dual_stack(false)
 7886   6840   
            .accelerate(false)
 7887   6841   
            .use_s3_express_control_endpoint(false)
 7888   6842   
            .build()
 7889   6843   
            .expect("invalid params");
 7890   6844   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7891   6845   
        let endpoint = resolver.resolve_endpoint(&params);
 7892   6846   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--abcd-ab1--x-s3.s3express-abcd-ab1.cn-north-1.amazonaws.com.cn");
 7893   6847   
        assert_eq!(
 7894   6848   
            endpoint,
 7895   6849   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7896   6850   
                .url("https://mybucket--abcd-ab1--x-s3.s3express-abcd-ab1.cn-north-1.amazonaws.com.cn")
 7897         -
                .property(
 7898         -
                    "authSchemes",
 7899         -
                    vec![{
 7900         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7901         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 7902         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 7903         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 7904         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7905         -
                        out
 7906         -
                    }
 7907         -
                    .into()]
        6851  +
                .auth_scheme(
        6852  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        6853  +
                        .put("disableDoubleEncoding", true)
        6854  +
                        .put("signingName", "s3express".to_string())
        6855  +
                        .put("signingRegion", "cn-north-1".to_string())
 7908   6856   
                )
 7909   6857   
                .property("backend", "S3Express".to_string())
 7910   6858   
                .build()
 7911   6859   
        );
 7912   6860   
    }
 7913   6861   
 7914   6862   
    /// Data Plane with short zone name with AP
 7915   6863   
    #[test]
 7916   6864   
    fn test_277() {
 7917   6865   
        let params = crate::config::endpoint::Params::builder()
 7918   6866   
            .region("us-east-1".to_string())
 7919   6867   
            .bucket("myaccesspoint--abcd-ab1--xa-s3".to_string())
 7920   6868   
            .use_fips(false)
 7921   6869   
            .use_dual_stack(false)
 7922   6870   
            .accelerate(false)
 7923   6871   
            .use_s3_express_control_endpoint(false)
 7924   6872   
            .build()
 7925   6873   
            .expect("invalid params");
 7926   6874   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7927   6875   
        let endpoint = resolver.resolve_endpoint(&params);
 7928   6876   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myaccesspoint--abcd-ab1--xa-s3.s3express-abcd-ab1.us-east-1.amazonaws.com");
 7929   6877   
        assert_eq!(
 7930   6878   
            endpoint,
 7931   6879   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7932   6880   
                .url("https://myaccesspoint--abcd-ab1--xa-s3.s3express-abcd-ab1.us-east-1.amazonaws.com")
 7933         -
                .property(
 7934         -
                    "authSchemes",
 7935         -
                    vec![{
 7936         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7937         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 7938         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 7939         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 7940         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7941         -
                        out
 7942         -
                    }
 7943         -
                    .into()]
        6881  +
                .auth_scheme(
        6882  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        6883  +
                        .put("disableDoubleEncoding", true)
        6884  +
                        .put("signingName", "s3express".to_string())
        6885  +
                        .put("signingRegion", "us-east-1".to_string())
 7944   6886   
                )
 7945   6887   
                .property("backend", "S3Express".to_string())
 7946   6888   
                .build()
 7947   6889   
        );
 7948   6890   
    }
 7949   6891   
 7950   6892   
    /// Data Plane with short zone name with AP china region
 7951   6893   
    #[test]
 7952   6894   
    fn test_278() {
 7953   6895   
        let params = crate::config::endpoint::Params::builder()
 7954   6896   
            .region("cn-north-1".to_string())
 7955   6897   
            .bucket("myaccesspoint--abcd-ab1--xa-s3".to_string())
 7956   6898   
            .use_fips(false)
 7957   6899   
            .use_dual_stack(false)
 7958   6900   
            .accelerate(false)
 7959   6901   
            .use_s3_express_control_endpoint(false)
 7960   6902   
            .build()
 7961   6903   
            .expect("invalid params");
 7962   6904   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 7963   6905   
        let endpoint = resolver.resolve_endpoint(&params);
 7964   6906   
        let endpoint =
 7965   6907   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--abcd-ab1--xa-s3.s3express-abcd-ab1.cn-north-1.amazonaws.com.cn");
 7966   6908   
        assert_eq!(
 7967   6909   
            endpoint,
 7968   6910   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 7969   6911   
                .url("https://myaccesspoint--abcd-ab1--xa-s3.s3express-abcd-ab1.cn-north-1.amazonaws.com.cn")
 7970         -
                .property(
 7971         -
                    "authSchemes",
 7972         -
                    vec![{
 7973         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 7974         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 7975         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 7976         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 7977         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 7978         -
                        out
 7979         -
                    }
 7980         -
                    .into()]
        6912  +
                .auth_scheme(
        6913  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        6914  +
                        .put("disableDoubleEncoding", true)
        6915  +
                        .put("signingName", "s3express".to_string())
        6916  +
                        .put("signingRegion", "cn-north-1".to_string())
 7981   6917   
                )
 7982   6918   
                .property("backend", "S3Express".to_string())
 7983   6919   
                .build()
 7984   6920   
        );
 7985   6921   
    }
 7986   6922   
 7987   6923   
    /// Data Plane with short zone names (13 chars)
 7988   6924   
    #[test]
 7989   6925   
    fn test_279() {
 7990   6926   
        let params = crate::config::endpoint::Params::builder()
 7991   6927   
            .region("us-west-2".to_string())
 7992   6928   
            .bucket("mybucket--test-zone-ab1--x-s3".to_string())
 7993   6929   
            .use_fips(false)
 7994   6930   
            .use_dual_stack(false)
 7995   6931   
            .accelerate(false)
 7996   6932   
            .use_s3_express_control_endpoint(false)
 7997   6933   
            .build()
 7998   6934   
            .expect("invalid params");
 7999   6935   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8000   6936   
        let endpoint = resolver.resolve_endpoint(&params);
 8001   6937   
        let endpoint =
 8002   6938   
            endpoint.expect("Expected valid endpoint: https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com");
 8003   6939   
        assert_eq!(
 8004   6940   
            endpoint,
 8005   6941   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8006   6942   
                .url("https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com")
 8007         -
                .property(
 8008         -
                    "authSchemes",
 8009         -
                    vec![{
 8010         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8011         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8012         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8013         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8014         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8015         -
                        out
 8016         -
                    }
 8017         -
                    .into()]
        6943  +
                .auth_scheme(
        6944  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        6945  +
                        .put("disableDoubleEncoding", true)
        6946  +
                        .put("signingName", "s3express".to_string())
        6947  +
                        .put("signingRegion", "us-west-2".to_string())
 8018   6948   
                )
 8019   6949   
                .property("backend", "S3Express".to_string())
 8020   6950   
                .build()
 8021   6951   
        );
 8022   6952   
    }
 8023   6953   
 8024   6954   
    /// Data Plane with short zone names (13 chars) with AP
 8025   6955   
    #[test]
 8026   6956   
    fn test_280() {
 8027   6957   
        let params = crate::config::endpoint::Params::builder()
 8028   6958   
            .region("us-west-2".to_string())
 8029   6959   
            .bucket("myaccesspoint--test-zone-ab1--xa-s3".to_string())
 8030   6960   
            .use_fips(false)
 8031   6961   
            .use_dual_stack(false)
 8032   6962   
            .accelerate(false)
 8033   6963   
            .use_s3_express_control_endpoint(false)
 8034   6964   
            .build()
 8035   6965   
            .expect("invalid params");
 8036   6966   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8037   6967   
        let endpoint = resolver.resolve_endpoint(&params);
 8038   6968   
        let endpoint =
 8039   6969   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--test-zone-ab1--xa-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com");
 8040   6970   
        assert_eq!(
 8041   6971   
            endpoint,
 8042   6972   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8043   6973   
                .url("https://myaccesspoint--test-zone-ab1--xa-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com")
 8044         -
                .property(
 8045         -
                    "authSchemes",
 8046         -
                    vec![{
 8047         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8048         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8049         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8050         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8051         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8052         -
                        out
 8053         -
                    }
 8054         -
                    .into()]
        6974  +
                .auth_scheme(
        6975  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        6976  +
                        .put("disableDoubleEncoding", true)
        6977  +
                        .put("signingName", "s3express".to_string())
        6978  +
                        .put("signingRegion", "us-west-2".to_string())
 8055   6979   
                )
 8056   6980   
                .property("backend", "S3Express".to_string())
 8057   6981   
                .build()
 8058   6982   
        );
 8059   6983   
    }
 8060   6984   
 8061   6985   
    /// Data Plane with medium zone names (14 chars)
 8062   6986   
    #[test]
 8063   6987   
    fn test_281() {
 8064   6988   
        let params = crate::config::endpoint::Params::builder()
 8065   6989   
            .region("us-west-2".to_string())
 8066   6990   
            .bucket("mybucket--test1-zone-ab1--x-s3".to_string())
 8067   6991   
            .use_fips(false)
 8068   6992   
            .use_dual_stack(false)
 8069   6993   
            .accelerate(false)
 8070   6994   
            .use_s3_express_control_endpoint(false)
 8071   6995   
            .build()
 8072   6996   
            .expect("invalid params");
 8073   6997   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8074   6998   
        let endpoint = resolver.resolve_endpoint(&params);
 8075   6999   
        let endpoint =
 8076   7000   
            endpoint.expect("Expected valid endpoint: https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com");
 8077   7001   
        assert_eq!(
 8078   7002   
            endpoint,
 8079   7003   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8080   7004   
                .url("https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com")
 8081         -
                .property(
 8082         -
                    "authSchemes",
 8083         -
                    vec![{
 8084         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8085         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8086         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8087         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8088         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8089         -
                        out
 8090         -
                    }
 8091         -
                    .into()]
        7005  +
                .auth_scheme(
        7006  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7007  +
                        .put("disableDoubleEncoding", true)
        7008  +
                        .put("signingName", "s3express".to_string())
        7009  +
                        .put("signingRegion", "us-west-2".to_string())
 8092   7010   
                )
 8093   7011   
                .property("backend", "S3Express".to_string())
 8094   7012   
                .build()
 8095   7013   
        );
 8096   7014   
    }
 8097   7015   
 8098   7016   
    /// Data Plane with medium zone names (14 chars) with AP
 8099   7017   
    #[test]
 8100   7018   
    fn test_282() {
 8101   7019   
        let params = crate::config::endpoint::Params::builder()
 8102   7020   
            .region("us-west-2".to_string())
 8103   7021   
            .bucket("myaccesspoint--test1-zone-ab1--xa-s3".to_string())
 8104   7022   
            .use_fips(false)
 8105   7023   
            .use_dual_stack(false)
 8106   7024   
            .accelerate(false)
 8107   7025   
            .use_s3_express_control_endpoint(false)
 8108   7026   
            .build()
 8109   7027   
            .expect("invalid params");
 8110   7028   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8111   7029   
        let endpoint = resolver.resolve_endpoint(&params);
 8112   7030   
        let endpoint =
 8113   7031   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com");
 8114   7032   
        assert_eq!(
 8115   7033   
            endpoint,
 8116   7034   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8117   7035   
                .url("https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com")
 8118         -
                .property(
 8119         -
                    "authSchemes",
 8120         -
                    vec![{
 8121         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8122         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8123         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8124         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8125         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8126         -
                        out
 8127         -
                    }
 8128         -
                    .into()]
        7036  +
                .auth_scheme(
        7037  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7038  +
                        .put("disableDoubleEncoding", true)
        7039  +
                        .put("signingName", "s3express".to_string())
        7040  +
                        .put("signingRegion", "us-west-2".to_string())
 8129   7041   
                )
 8130   7042   
                .property("backend", "S3Express".to_string())
 8131   7043   
                .build()
 8132   7044   
        );
 8133   7045   
    }
 8134   7046   
 8135   7047   
    /// Data Plane with long zone names (20 chars)
 8136   7048   
    #[test]
 8137   7049   
    fn test_283() {
 8138   7050   
        let params = crate::config::endpoint::Params::builder()
 8139   7051   
            .region("us-west-2".to_string())
 8140   7052   
            .bucket("mybucket--test1-long1-zone-ab1--x-s3".to_string())
 8141   7053   
            .use_fips(false)
 8142   7054   
            .use_dual_stack(false)
 8143   7055   
            .accelerate(false)
 8144   7056   
            .use_s3_express_control_endpoint(false)
 8145   7057   
            .build()
 8146   7058   
            .expect("invalid params");
 8147   7059   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8148   7060   
        let endpoint = resolver.resolve_endpoint(&params);
 8149   7061   
        let endpoint = endpoint
 8150   7062   
            .expect("Expected valid endpoint: https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com");
 8151   7063   
        assert_eq!(
 8152   7064   
            endpoint,
 8153   7065   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8154   7066   
                .url("https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com")
 8155         -
                .property(
 8156         -
                    "authSchemes",
 8157         -
                    vec![{
 8158         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8159         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8160         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8161         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8162         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8163         -
                        out
 8164         -
                    }
 8165         -
                    .into()]
        7067  +
                .auth_scheme(
        7068  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7069  +
                        .put("disableDoubleEncoding", true)
        7070  +
                        .put("signingName", "s3express".to_string())
        7071  +
                        .put("signingRegion", "us-west-2".to_string())
 8166   7072   
                )
 8167   7073   
                .property("backend", "S3Express".to_string())
 8168   7074   
                .build()
 8169   7075   
        );
 8170   7076   
    }
 8171   7077   
 8172   7078   
    /// Data Plane with long zone names (20 chars)
 8173   7079   
    #[test]
 8174   7080   
    fn test_284() {
 8175   7081   
        let params = crate::config::endpoint::Params::builder()
 8176   7082   
            .region("us-west-2".to_string())
 8177   7083   
            .bucket("myaccesspoint--test1-long1-zone-ab1--xa-s3".to_string())
 8178   7084   
            .use_fips(false)
 8179   7085   
            .use_dual_stack(false)
 8180   7086   
            .accelerate(false)
 8181   7087   
            .use_s3_express_control_endpoint(false)
 8182   7088   
            .build()
 8183   7089   
            .expect("invalid params");
 8184   7090   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8185   7091   
        let endpoint = resolver.resolve_endpoint(&params);
 8186   7092   
        let endpoint = endpoint.expect(
 8187   7093   
            "Expected valid endpoint: https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com",
 8188   7094   
        );
 8189   7095   
        assert_eq!(
 8190   7096   
            endpoint,
 8191   7097   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8192   7098   
                .url("https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com")
 8193         -
                .property(
 8194         -
                    "authSchemes",
 8195         -
                    vec![{
 8196         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8197         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8198         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8199         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8200         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8201         -
                        out
 8202         -
                    }
 8203         -
                    .into()]
        7099  +
                .auth_scheme(
        7100  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7101  +
                        .put("disableDoubleEncoding", true)
        7102  +
                        .put("signingName", "s3express".to_string())
        7103  +
                        .put("signingRegion", "us-west-2".to_string())
 8204   7104   
                )
 8205   7105   
                .property("backend", "S3Express".to_string())
 8206   7106   
                .build()
 8207   7107   
        );
 8208   7108   
    }
 8209   7109   
 8210   7110   
    /// Data Plane with short zone fips
 8211   7111   
    #[test]
 8212   7112   
    fn test_285() {
 8213   7113   
        let params = crate::config::endpoint::Params::builder()
 8214   7114   
            .region("us-east-1".to_string())
 8215   7115   
            .bucket("mybucket--test-ab1--x-s3".to_string())
 8216   7116   
            .use_fips(true)
 8217   7117   
            .use_dual_stack(false)
 8218   7118   
            .accelerate(false)
 8219   7119   
            .use_s3_express_control_endpoint(false)
 8220   7120   
            .build()
 8221   7121   
            .expect("invalid params");
 8222   7122   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8223   7123   
        let endpoint = resolver.resolve_endpoint(&params);
 8224   7124   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--test-ab1--x-s3.s3express-fips-test-ab1.us-east-1.amazonaws.com");
 8225   7125   
        assert_eq!(
 8226   7126   
            endpoint,
 8227   7127   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8228   7128   
                .url("https://mybucket--test-ab1--x-s3.s3express-fips-test-ab1.us-east-1.amazonaws.com")
 8229         -
                .property(
 8230         -
                    "authSchemes",
 8231         -
                    vec![{
 8232         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8233         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8234         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8235         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 8236         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8237         -
                        out
 8238         -
                    }
 8239         -
                    .into()]
        7129  +
                .auth_scheme(
        7130  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7131  +
                        .put("disableDoubleEncoding", true)
        7132  +
                        .put("signingName", "s3express".to_string())
        7133  +
                        .put("signingRegion", "us-east-1".to_string())
 8240   7134   
                )
 8241   7135   
                .property("backend", "S3Express".to_string())
 8242   7136   
                .build()
 8243   7137   
        );
 8244   7138   
    }
 8245   7139   
 8246   7140   
    /// Data Plane with short zone fips china region
 8247   7141   
    #[test]
 8248   7142   
    fn test_286() {
 8249   7143   
        let params = crate::config::endpoint::Params::builder()
 8250   7144   
            .region("cn-north-1".to_string())
 8251   7145   
            .bucket("mybucket--test-ab1--x-s3".to_string())
 8252   7146   
            .use_fips(true)
 8253   7147   
            .use_dual_stack(false)
 8254   7148   
            .accelerate(false)
 8255   7149   
            .use_s3_express_control_endpoint(false)
 8256   7150   
            .build()
 8257   7151   
            .expect("invalid params");
 8258   7152   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8259   7153   
        let endpoint = resolver.resolve_endpoint(&params);
 8260   7154   
        let error = endpoint.expect_err("expected error: Partition does not support FIPS [Data Plane with short zone fips china region]");
 8261   7155   
        assert_eq!(format!("{}", error), "Partition does not support FIPS")
 8262   7156   
    }
 8263   7157   
 8264   7158   
    /// Data Plane with short zone fips with AP
 8265   7159   
    #[test]
 8266   7160   
    fn test_287() {
 8267   7161   
        let params = crate::config::endpoint::Params::builder()
 8268   7162   
            .region("us-east-1".to_string())
 8269   7163   
            .bucket("myaccesspoint--test-ab1--xa-s3".to_string())
 8270   7164   
            .use_fips(true)
 8271   7165   
            .use_dual_stack(false)
 8272   7166   
            .accelerate(false)
 8273   7167   
            .use_s3_express_control_endpoint(false)
 8274   7168   
            .build()
 8275   7169   
            .expect("invalid params");
 8276   7170   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8277   7171   
        let endpoint = resolver.resolve_endpoint(&params);
 8278   7172   
        let endpoint =
 8279   7173   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--test-ab1--xa-s3.s3express-fips-test-ab1.us-east-1.amazonaws.com");
 8280   7174   
        assert_eq!(
 8281   7175   
            endpoint,
 8282   7176   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8283   7177   
                .url("https://myaccesspoint--test-ab1--xa-s3.s3express-fips-test-ab1.us-east-1.amazonaws.com")
 8284         -
                .property(
 8285         -
                    "authSchemes",
 8286         -
                    vec![{
 8287         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8288         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8289         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8290         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 8291         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8292         -
                        out
 8293         -
                    }
 8294         -
                    .into()]
        7178  +
                .auth_scheme(
        7179  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7180  +
                        .put("disableDoubleEncoding", true)
        7181  +
                        .put("signingName", "s3express".to_string())
        7182  +
                        .put("signingRegion", "us-east-1".to_string())
 8295   7183   
                )
 8296   7184   
                .property("backend", "S3Express".to_string())
 8297   7185   
                .build()
 8298   7186   
        );
 8299   7187   
    }
 8300   7188   
 8301   7189   
    /// Data Plane with short zone fips with AP china region
 8302   7190   
    #[test]
 8303   7191   
    fn test_288() {
 8304   7192   
        let params = crate::config::endpoint::Params::builder()
 8305   7193   
            .region("cn-north-1".to_string())
 8306   7194   
            .bucket("myaccesspoint--test-ab1--xa-s3".to_string())
 8307   7195   
            .use_fips(true)
 8308   7196   
            .use_dual_stack(false)
 8309   7197   
            .accelerate(false)
 8310   7198   
            .use_s3_express_control_endpoint(false)
 8311   7199   
            .build()
 8312   7200   
            .expect("invalid params");
 8313   7201   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8314   7202   
        let endpoint = resolver.resolve_endpoint(&params);
 8315   7203   
        let error = endpoint.expect_err("expected error: Partition does not support FIPS [Data Plane with short zone fips with AP china region]");
 8316   7204   
        assert_eq!(format!("{}", error), "Partition does not support FIPS")
 8317   7205   
    }
 8318   7206   
 8319   7207   
    /// Data Plane with short zone (13 chars) fips
 8320   7208   
    #[test]
 8321   7209   
    fn test_289() {
 8322   7210   
        let params = crate::config::endpoint::Params::builder()
 8323   7211   
            .region("us-west-2".to_string())
 8324   7212   
            .bucket("mybucket--test-zone-ab1--x-s3".to_string())
 8325   7213   
            .use_fips(true)
 8326   7214   
            .use_dual_stack(false)
 8327   7215   
            .accelerate(false)
 8328   7216   
            .use_s3_express_control_endpoint(false)
 8329   7217   
            .build()
 8330   7218   
            .expect("invalid params");
 8331   7219   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8332   7220   
        let endpoint = resolver.resolve_endpoint(&params);
 8333   7221   
        let endpoint =
 8334   7222   
            endpoint.expect("Expected valid endpoint: https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com");
 8335   7223   
        assert_eq!(
 8336   7224   
            endpoint,
 8337   7225   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8338   7226   
                .url("https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com")
 8339         -
                .property(
 8340         -
                    "authSchemes",
 8341         -
                    vec![{
 8342         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8343         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8344         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8345         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8346         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8347         -
                        out
 8348         -
                    }
 8349         -
                    .into()]
        7227  +
                .auth_scheme(
        7228  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7229  +
                        .put("disableDoubleEncoding", true)
        7230  +
                        .put("signingName", "s3express".to_string())
        7231  +
                        .put("signingRegion", "us-west-2".to_string())
 8350   7232   
                )
 8351   7233   
                .property("backend", "S3Express".to_string())
 8352   7234   
                .build()
 8353   7235   
        );
 8354   7236   
    }
 8355   7237   
 8356   7238   
    /// Data Plane with short zone (13 chars) fips with AP
 8357   7239   
    #[test]
 8358   7240   
    fn test_290() {
 8359   7241   
        let params = crate::config::endpoint::Params::builder()
 8360   7242   
            .region("us-west-2".to_string())
 8361   7243   
            .bucket("myaccesspoint--test-zone-ab1--xa-s3".to_string())
 8362   7244   
            .use_fips(true)
 8363   7245   
            .use_dual_stack(false)
 8364   7246   
            .accelerate(false)
 8365   7247   
            .use_s3_express_control_endpoint(false)
 8366   7248   
            .build()
 8367   7249   
            .expect("invalid params");
 8368   7250   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8369   7251   
        let endpoint = resolver.resolve_endpoint(&params);
 8370   7252   
        let endpoint = endpoint
 8371   7253   
            .expect("Expected valid endpoint: https://myaccesspoint--test-zone-ab1--xa-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com");
 8372   7254   
        assert_eq!(
 8373   7255   
            endpoint,
 8374   7256   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8375   7257   
                .url("https://myaccesspoint--test-zone-ab1--xa-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com")
 8376         -
                .property(
 8377         -
                    "authSchemes",
 8378         -
                    vec![{
 8379         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8380         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8381         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8382         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8383         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8384         -
                        out
 8385         -
                    }
 8386         -
                    .into()]
        7258  +
                .auth_scheme(
        7259  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7260  +
                        .put("disableDoubleEncoding", true)
        7261  +
                        .put("signingName", "s3express".to_string())
        7262  +
                        .put("signingRegion", "us-west-2".to_string())
 8387   7263   
                )
 8388   7264   
                .property("backend", "S3Express".to_string())
 8389   7265   
                .build()
 8390   7266   
        );
 8391   7267   
    }
 8392   7268   
 8393   7269   
    /// Data Plane with medium zone (14 chars) fips
 8394   7270   
    #[test]
 8395   7271   
    fn test_291() {
 8396   7272   
        let params = crate::config::endpoint::Params::builder()
 8397   7273   
            .region("us-west-2".to_string())
 8398   7274   
            .bucket("mybucket--test1-zone-ab1--x-s3".to_string())
 8399   7275   
            .use_fips(true)
 8400   7276   
            .use_dual_stack(false)
 8401   7277   
            .accelerate(false)
 8402   7278   
            .use_s3_express_control_endpoint(false)
 8403   7279   
            .build()
 8404   7280   
            .expect("invalid params");
 8405   7281   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8406   7282   
        let endpoint = resolver.resolve_endpoint(&params);
 8407   7283   
        let endpoint =
 8408   7284   
            endpoint.expect("Expected valid endpoint: https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com");
 8409   7285   
        assert_eq!(
 8410   7286   
            endpoint,
 8411   7287   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8412   7288   
                .url("https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com")
 8413         -
                .property(
 8414         -
                    "authSchemes",
 8415         -
                    vec![{
 8416         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8417         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8418         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8419         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8420         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8421         -
                        out
 8422         -
                    }
 8423         -
                    .into()]
        7289  +
                .auth_scheme(
        7290  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7291  +
                        .put("disableDoubleEncoding", true)
        7292  +
                        .put("signingName", "s3express".to_string())
        7293  +
                        .put("signingRegion", "us-west-2".to_string())
 8424   7294   
                )
 8425   7295   
                .property("backend", "S3Express".to_string())
 8426   7296   
                .build()
 8427   7297   
        );
 8428   7298   
    }
 8429   7299   
 8430   7300   
    /// Data Plane with medium zone (14 chars) fips with AP
 8431   7301   
    #[test]
 8432   7302   
    fn test_292() {
 8433   7303   
        let params = crate::config::endpoint::Params::builder()
 8434   7304   
            .region("us-west-2".to_string())
 8435   7305   
            .bucket("myaccesspoint--test1-zone-ab1--xa-s3".to_string())
 8436   7306   
            .use_fips(true)
 8437   7307   
            .use_dual_stack(false)
 8438   7308   
            .accelerate(false)
 8439   7309   
            .use_s3_express_control_endpoint(false)
 8440   7310   
            .build()
 8441   7311   
            .expect("invalid params");
 8442   7312   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8443   7313   
        let endpoint = resolver.resolve_endpoint(&params);
 8444   7314   
        let endpoint = endpoint
 8445   7315   
            .expect("Expected valid endpoint: https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com");
 8446   7316   
        assert_eq!(
 8447   7317   
            endpoint,
 8448   7318   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8449   7319   
                .url("https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com")
 8450         -
                .property(
 8451         -
                    "authSchemes",
 8452         -
                    vec![{
 8453         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8454         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8455         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8456         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8457         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8458         -
                        out
 8459         -
                    }
 8460         -
                    .into()]
        7320  +
                .auth_scheme(
        7321  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7322  +
                        .put("disableDoubleEncoding", true)
        7323  +
                        .put("signingName", "s3express".to_string())
        7324  +
                        .put("signingRegion", "us-west-2".to_string())
 8461   7325   
                )
 8462   7326   
                .property("backend", "S3Express".to_string())
 8463   7327   
                .build()
 8464   7328   
        );
 8465   7329   
    }
 8466   7330   
 8467   7331   
    /// Data Plane with long zone (20 chars) fips
 8468   7332   
    #[test]
 8469   7333   
    fn test_293() {
 8470   7334   
        let params = crate::config::endpoint::Params::builder()
 8471   7335   
            .region("us-west-2".to_string())
 8472   7336   
            .bucket("mybucket--test1-long1-zone-ab1--x-s3".to_string())
 8473   7337   
            .use_fips(true)
 8474   7338   
            .use_dual_stack(false)
 8475   7339   
            .accelerate(false)
 8476   7340   
            .use_s3_express_control_endpoint(false)
 8477   7341   
            .build()
 8478   7342   
            .expect("invalid params");
 8479   7343   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8480   7344   
        let endpoint = resolver.resolve_endpoint(&params);
 8481   7345   
        let endpoint = endpoint.expect(
 8482   7346   
            "Expected valid endpoint: https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com",
 8483   7347   
        );
 8484   7348   
        assert_eq!(
 8485   7349   
            endpoint,
 8486   7350   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8487   7351   
                .url("https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com")
 8488         -
                .property(
 8489         -
                    "authSchemes",
 8490         -
                    vec![{
 8491         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8492         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8493         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8494         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8495         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8496         -
                        out
 8497         -
                    }
 8498         -
                    .into()]
        7352  +
                .auth_scheme(
        7353  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7354  +
                        .put("disableDoubleEncoding", true)
        7355  +
                        .put("signingName", "s3express".to_string())
        7356  +
                        .put("signingRegion", "us-west-2".to_string())
 8499   7357   
                )
 8500   7358   
                .property("backend", "S3Express".to_string())
 8501   7359   
                .build()
 8502   7360   
        );
 8503   7361   
    }
 8504   7362   
 8505   7363   
    /// Data Plane with long zone (20 chars) fips with AP
 8506   7364   
    #[test]
 8507   7365   
    fn test_294() {
 8508   7366   
        let params = crate::config::endpoint::Params::builder()
 8509   7367   
            .region("us-west-2".to_string())
 8510   7368   
            .bucket("myaccesspoint--test1-long1-zone-ab1--xa-s3".to_string())
 8511   7369   
            .use_fips(true)
 8512   7370   
            .use_dual_stack(false)
 8513   7371   
            .accelerate(false)
 8514   7372   
            .use_s3_express_control_endpoint(false)
 8515   7373   
            .build()
 8516   7374   
            .expect("invalid params");
 8517   7375   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8518   7376   
        let endpoint = resolver.resolve_endpoint(&params);
 8519   7377   
        let endpoint = endpoint.expect(
 8520   7378   
            "Expected valid endpoint: https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com",
 8521   7379   
        );
 8522   7380   
        assert_eq!(
 8523   7381   
            endpoint,
 8524   7382   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8525   7383   
                .url("https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com")
 8526         -
                .property(
 8527         -
                    "authSchemes",
 8528         -
                    vec![{
 8529         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8530         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8531         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8532         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8533         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8534         -
                        out
 8535         -
                    }
 8536         -
                    .into()]
        7384  +
                .auth_scheme(
        7385  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7386  +
                        .put("disableDoubleEncoding", true)
        7387  +
                        .put("signingName", "s3express".to_string())
        7388  +
                        .put("signingRegion", "us-west-2".to_string())
 8537   7389   
                )
 8538   7390   
                .property("backend", "S3Express".to_string())
 8539   7391   
                .build()
 8540   7392   
        );
 8541   7393   
    }
 8542   7394   
 8543   7395   
    /// Data Plane with long AZ
 8544   7396   
    #[test]
 8545   7397   
    fn test_295() {
 8546   7398   
        let params = crate::config::endpoint::Params::builder()
 8547   7399   
            .region("us-west-2".to_string())
 8548   7400   
            .bucket("mybucket--test1-az1--x-s3".to_string())
 8549   7401   
            .use_fips(false)
 8550   7402   
            .use_dual_stack(false)
 8551   7403   
            .accelerate(false)
 8552   7404   
            .use_s3_express_control_endpoint(false)
 8553   7405   
            .build()
 8554   7406   
            .expect("invalid params");
 8555   7407   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8556   7408   
        let endpoint = resolver.resolve_endpoint(&params);
 8557   7409   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--test1-az1--x-s3.s3express-test1-az1.us-west-2.amazonaws.com");
 8558   7410   
        assert_eq!(
 8559   7411   
            endpoint,
 8560   7412   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8561   7413   
                .url("https://mybucket--test1-az1--x-s3.s3express-test1-az1.us-west-2.amazonaws.com")
 8562         -
                .property(
 8563         -
                    "authSchemes",
 8564         -
                    vec![{
 8565         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8566         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8567         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8568         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8569         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8570         -
                        out
 8571         -
                    }
 8572         -
                    .into()]
        7414  +
                .auth_scheme(
        7415  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7416  +
                        .put("disableDoubleEncoding", true)
        7417  +
                        .put("signingName", "s3express".to_string())
        7418  +
                        .put("signingRegion", "us-west-2".to_string())
 8573   7419   
                )
 8574   7420   
                .property("backend", "S3Express".to_string())
 8575   7421   
                .build()
 8576   7422   
        );
 8577   7423   
    }
 8578   7424   
 8579   7425   
    /// Data Plane with long AZ with AP
 8580   7426   
    #[test]
 8581   7427   
    fn test_296() {
 8582   7428   
        let params = crate::config::endpoint::Params::builder()
 8583   7429   
            .region("us-west-2".to_string())
 8584   7430   
            .bucket("myaccesspoint--test1-az1--xa-s3".to_string())
 8585   7431   
            .use_fips(false)
 8586   7432   
            .use_dual_stack(false)
 8587   7433   
            .accelerate(false)
 8588   7434   
            .use_s3_express_control_endpoint(false)
 8589   7435   
            .build()
 8590   7436   
            .expect("invalid params");
 8591   7437   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8592   7438   
        let endpoint = resolver.resolve_endpoint(&params);
 8593   7439   
        let endpoint =
 8594   7440   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--test1-az1--xa-s3.s3express-test1-az1.us-west-2.amazonaws.com");
 8595   7441   
        assert_eq!(
 8596   7442   
            endpoint,
 8597   7443   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8598   7444   
                .url("https://myaccesspoint--test1-az1--xa-s3.s3express-test1-az1.us-west-2.amazonaws.com")
 8599         -
                .property(
 8600         -
                    "authSchemes",
 8601         -
                    vec![{
 8602         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8603         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8604         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8605         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8606         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8607         -
                        out
 8608         -
                    }
 8609         -
                    .into()]
        7445  +
                .auth_scheme(
        7446  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7447  +
                        .put("disableDoubleEncoding", true)
        7448  +
                        .put("signingName", "s3express".to_string())
        7449  +
                        .put("signingRegion", "us-west-2".to_string())
 8610   7450   
                )
 8611   7451   
                .property("backend", "S3Express".to_string())
 8612   7452   
                .build()
 8613   7453   
        );
 8614   7454   
    }
 8615   7455   
 8616   7456   
    /// Data Plane with long AZ fips
 8617   7457   
    #[test]
 8618   7458   
    fn test_297() {
 8619   7459   
        let params = crate::config::endpoint::Params::builder()
 8620   7460   
            .region("us-west-2".to_string())
 8621   7461   
            .bucket("mybucket--test1-az1--x-s3".to_string())
 8622   7462   
            .use_fips(true)
 8623   7463   
            .use_dual_stack(false)
 8624   7464   
            .accelerate(false)
 8625   7465   
            .use_s3_express_control_endpoint(false)
 8626   7466   
            .build()
 8627   7467   
            .expect("invalid params");
 8628   7468   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8629   7469   
        let endpoint = resolver.resolve_endpoint(&params);
 8630   7470   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--test1-az1--x-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com");
 8631   7471   
        assert_eq!(
 8632   7472   
            endpoint,
 8633   7473   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8634   7474   
                .url("https://mybucket--test1-az1--x-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com")
 8635         -
                .property(
 8636         -
                    "authSchemes",
 8637         -
                    vec![{
 8638         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8639         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8640         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8641         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8642         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8643         -
                        out
 8644         -
                    }
 8645         -
                    .into()]
        7475  +
                .auth_scheme(
        7476  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7477  +
                        .put("disableDoubleEncoding", true)
        7478  +
                        .put("signingName", "s3express".to_string())
        7479  +
                        .put("signingRegion", "us-west-2".to_string())
 8646   7480   
                )
 8647   7481   
                .property("backend", "S3Express".to_string())
 8648   7482   
                .build()
 8649   7483   
        );
 8650   7484   
    }
 8651   7485   
 8652   7486   
    /// Data Plane with long AZ fips with AP
 8653   7487   
    #[test]
 8654   7488   
    fn test_298() {
 8655   7489   
        let params = crate::config::endpoint::Params::builder()
 8656   7490   
            .region("us-west-2".to_string())
 8657   7491   
            .bucket("myaccesspoint--test1-az1--xa-s3".to_string())
 8658   7492   
            .use_fips(true)
 8659   7493   
            .use_dual_stack(false)
 8660   7494   
            .accelerate(false)
 8661   7495   
            .use_s3_express_control_endpoint(false)
 8662   7496   
            .build()
 8663   7497   
            .expect("invalid params");
 8664   7498   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8665   7499   
        let endpoint = resolver.resolve_endpoint(&params);
 8666   7500   
        let endpoint =
 8667   7501   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--test1-az1--xa-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com");
 8668   7502   
        assert_eq!(
 8669   7503   
            endpoint,
 8670   7504   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8671   7505   
                .url("https://myaccesspoint--test1-az1--xa-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com")
 8672         -
                .property(
 8673         -
                    "authSchemes",
 8674         -
                    vec![{
 8675         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8676         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 8677         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8678         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8679         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8680         -
                        out
 8681         -
                    }
 8682         -
                    .into()]
        7506  +
                .auth_scheme(
        7507  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        7508  +
                        .put("disableDoubleEncoding", true)
        7509  +
                        .put("signingName", "s3express".to_string())
        7510  +
                        .put("signingRegion", "us-west-2".to_string())
 8683   7511   
                )
 8684   7512   
                .property("backend", "S3Express".to_string())
 8685   7513   
                .build()
 8686   7514   
        );
 8687   7515   
    }
 8688   7516   
 8689   7517   
    /// Control plane with short AZ bucket
 8690   7518   
    #[test]
 8691   7519   
    fn test_299() {
 8692   7520   
        let params = crate::config::endpoint::Params::builder()
 8693   7521   
            .region("us-east-1".to_string())
 8694   7522   
            .bucket("mybucket--test-ab1--x-s3".to_string())
 8695   7523   
            .use_fips(false)
 8696   7524   
            .use_dual_stack(false)
 8697   7525   
            .accelerate(false)
 8698   7526   
            .use_s3_express_control_endpoint(true)
 8699   7527   
            .disable_s3_express_session_auth(false)
 8700   7528   
            .build()
 8701   7529   
            .expect("invalid params");
 8702   7530   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8703   7531   
        let endpoint = resolver.resolve_endpoint(&params);
 8704   7532   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3");
 8705   7533   
        assert_eq!(
 8706   7534   
            endpoint,
 8707   7535   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8708   7536   
                .url("https://s3express-control.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3")
 8709         -
                .property(
 8710         -
                    "authSchemes",
 8711         -
                    vec![{
 8712         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8713         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 8714         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8715         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 8716         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8717         -
                        out
 8718         -
                    }
 8719         -
                    .into()]
        7537  +
                .auth_scheme(
        7538  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7539  +
                        .put("disableDoubleEncoding", true)
        7540  +
                        .put("signingName", "s3express".to_string())
        7541  +
                        .put("signingRegion", "us-east-1".to_string())
 8720   7542   
                )
 8721   7543   
                .property("backend", "S3Express".to_string())
 8722   7544   
                .build()
 8723   7545   
        );
 8724   7546   
    }
 8725   7547   
 8726   7548   
    /// Control plane with short AZ bucket china region
 8727   7549   
    #[test]
 8728   7550   
    fn test_300() {
 8729   7551   
        let params = crate::config::endpoint::Params::builder()
 8730   7552   
            .region("cn-north-1".to_string())
 8731   7553   
            .bucket("mybucket--test-ab1--x-s3".to_string())
 8732   7554   
            .use_fips(false)
 8733   7555   
            .use_dual_stack(false)
 8734   7556   
            .accelerate(false)
 8735   7557   
            .use_s3_express_control_endpoint(true)
 8736   7558   
            .disable_s3_express_session_auth(false)
 8737   7559   
            .build()
 8738   7560   
            .expect("invalid params");
 8739   7561   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8740   7562   
        let endpoint = resolver.resolve_endpoint(&params);
 8741   7563   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control.cn-north-1.amazonaws.com.cn/mybucket--test-ab1--x-s3");
 8742   7564   
        assert_eq!(
 8743   7565   
            endpoint,
 8744   7566   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8745   7567   
                .url("https://s3express-control.cn-north-1.amazonaws.com.cn/mybucket--test-ab1--x-s3")
 8746         -
                .property(
 8747         -
                    "authSchemes",
 8748         -
                    vec![{
 8749         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8750         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 8751         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8752         -
                        out.insert("signingRegion".to_string(), "cn-north-1".to_string().into());
 8753         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8754         -
                        out
 8755         -
                    }
 8756         -
                    .into()]
        7568  +
                .auth_scheme(
        7569  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7570  +
                        .put("disableDoubleEncoding", true)
        7571  +
                        .put("signingName", "s3express".to_string())
        7572  +
                        .put("signingRegion", "cn-north-1".to_string())
 8757   7573   
                )
 8758   7574   
                .property("backend", "S3Express".to_string())
 8759   7575   
                .build()
 8760   7576   
        );
 8761   7577   
    }
 8762   7578   
 8763   7579   
    /// Control plane with short AZ bucket and fips
 8764   7580   
    #[test]
 8765   7581   
    fn test_301() {
 8766   7582   
        let params = crate::config::endpoint::Params::builder()
 8767   7583   
            .region("us-east-1".to_string())
 8768   7584   
            .bucket("mybucket--test-ab1--x-s3".to_string())
 8769   7585   
            .use_fips(true)
 8770   7586   
            .use_dual_stack(false)
 8771   7587   
            .accelerate(false)
 8772   7588   
            .use_s3_express_control_endpoint(true)
 8773   7589   
            .disable_s3_express_session_auth(false)
 8774   7590   
            .build()
 8775   7591   
            .expect("invalid params");
 8776   7592   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8777   7593   
        let endpoint = resolver.resolve_endpoint(&params);
 8778   7594   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control-fips.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3");
 8779   7595   
        assert_eq!(
 8780   7596   
            endpoint,
 8781   7597   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8782   7598   
                .url("https://s3express-control-fips.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3")
 8783         -
                .property(
 8784         -
                    "authSchemes",
 8785         -
                    vec![{
 8786         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8787         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 8788         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8789         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 8790         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8791         -
                        out
 8792         -
                    }
 8793         -
                    .into()]
        7599  +
                .auth_scheme(
        7600  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7601  +
                        .put("disableDoubleEncoding", true)
        7602  +
                        .put("signingName", "s3express".to_string())
        7603  +
                        .put("signingRegion", "us-east-1".to_string())
 8794   7604   
                )
 8795   7605   
                .property("backend", "S3Express".to_string())
 8796   7606   
                .build()
 8797   7607   
        );
 8798   7608   
    }
 8799   7609   
 8800   7610   
    /// Control plane with short AZ bucket and fips china region
 8801   7611   
    #[test]
 8802   7612   
    fn test_302() {
 8803   7613   
        let params = crate::config::endpoint::Params::builder()
 8804   7614   
            .region("cn-north-1".to_string())
 8805   7615   
            .bucket("mybucket--test-ab1--x-s3".to_string())
 8806   7616   
            .use_fips(true)
 8807   7617   
            .use_dual_stack(false)
 8808   7618   
            .accelerate(false)
 8809   7619   
            .use_s3_express_control_endpoint(true)
 8810   7620   
            .disable_s3_express_session_auth(false)
 8811   7621   
            .build()
 8812   7622   
            .expect("invalid params");
 8813   7623   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8814   7624   
        let endpoint = resolver.resolve_endpoint(&params);
 8815   7625   
        let error = endpoint.expect_err("expected error: Partition does not support FIPS [Control plane with short AZ bucket and fips china region]");
 8816   7626   
        assert_eq!(format!("{}", error), "Partition does not support FIPS")
 8817   7627   
    }
 8818   7628   
 8819   7629   
    /// Control plane without bucket
 8820   7630   
    #[test]
 8821   7631   
    fn test_303() {
 8822   7632   
        let params = crate::config::endpoint::Params::builder()
 8823   7633   
            .region("us-east-1".to_string())
 8824   7634   
            .use_fips(false)
 8825   7635   
            .use_dual_stack(false)
 8826   7636   
            .accelerate(false)
 8827   7637   
            .use_s3_express_control_endpoint(true)
 8828   7638   
            .disable_s3_express_session_auth(false)
 8829   7639   
            .build()
 8830   7640   
            .expect("invalid params");
 8831   7641   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8832   7642   
        let endpoint = resolver.resolve_endpoint(&params);
 8833   7643   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control.us-east-1.amazonaws.com");
 8834   7644   
        assert_eq!(
 8835   7645   
            endpoint,
 8836   7646   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8837   7647   
                .url("https://s3express-control.us-east-1.amazonaws.com")
 8838         -
                .property(
 8839         -
                    "authSchemes",
 8840         -
                    vec![{
 8841         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8842         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 8843         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8844         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 8845         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8846         -
                        out
 8847         -
                    }
 8848         -
                    .into()]
        7648  +
                .auth_scheme(
        7649  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7650  +
                        .put("disableDoubleEncoding", true)
        7651  +
                        .put("signingName", "s3express".to_string())
        7652  +
                        .put("signingRegion", "us-east-1".to_string())
 8849   7653   
                )
 8850   7654   
                .property("backend", "S3Express".to_string())
 8851   7655   
                .build()
 8852   7656   
        );
 8853   7657   
    }
 8854   7658   
 8855   7659   
    /// Control plane without bucket and fips
 8856   7660   
    #[test]
 8857   7661   
    fn test_304() {
 8858   7662   
        let params = crate::config::endpoint::Params::builder()
 8859   7663   
            .region("us-east-1".to_string())
 8860   7664   
            .use_fips(true)
 8861   7665   
            .use_dual_stack(false)
 8862   7666   
            .accelerate(false)
 8863   7667   
            .use_s3_express_control_endpoint(true)
 8864   7668   
            .disable_s3_express_session_auth(false)
 8865   7669   
            .build()
 8866   7670   
            .expect("invalid params");
 8867   7671   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8868   7672   
        let endpoint = resolver.resolve_endpoint(&params);
 8869   7673   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control-fips.us-east-1.amazonaws.com");
 8870   7674   
        assert_eq!(
 8871   7675   
            endpoint,
 8872   7676   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8873   7677   
                .url("https://s3express-control-fips.us-east-1.amazonaws.com")
 8874         -
                .property(
 8875         -
                    "authSchemes",
 8876         -
                    vec![{
 8877         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8878         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 8879         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8880         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
 8881         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8882         -
                        out
 8883         -
                    }
 8884         -
                    .into()]
        7678  +
                .auth_scheme(
        7679  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7680  +
                        .put("disableDoubleEncoding", true)
        7681  +
                        .put("signingName", "s3express".to_string())
        7682  +
                        .put("signingRegion", "us-east-1".to_string())
 8885   7683   
                )
 8886   7684   
                .property("backend", "S3Express".to_string())
 8887   7685   
                .build()
 8888   7686   
        );
 8889   7687   
    }
 8890   7688   
 8891   7689   
    /// Data Plane sigv4 auth with short AZ
 8892   7690   
    #[test]
 8893   7691   
    fn test_305() {
 8894   7692   
        let params = crate::config::endpoint::Params::builder()
 8895   7693   
            .region("us-west-2".to_string())
 8896   7694   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
 8897   7695   
            .use_fips(false)
 8898   7696   
            .use_dual_stack(false)
 8899   7697   
            .accelerate(false)
 8900   7698   
            .disable_s3_express_session_auth(true)
 8901   7699   
            .build()
 8902   7700   
            .expect("invalid params");
 8903   7701   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8904   7702   
        let endpoint = resolver.resolve_endpoint(&params);
 8905   7703   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.s3express-usw2-az1.us-west-2.amazonaws.com");
 8906   7704   
        assert_eq!(
 8907   7705   
            endpoint,
 8908   7706   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8909   7707   
                .url("https://mybucket--usw2-az1--x-s3.s3express-usw2-az1.us-west-2.amazonaws.com")
 8910         -
                .property(
 8911         -
                    "authSchemes",
 8912         -
                    vec![{
 8913         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8914         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 8915         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8916         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8917         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8918         -
                        out
 8919         -
                    }
 8920         -
                    .into()]
        7708  +
                .auth_scheme(
        7709  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7710  +
                        .put("disableDoubleEncoding", true)
        7711  +
                        .put("signingName", "s3express".to_string())
        7712  +
                        .put("signingRegion", "us-west-2".to_string())
 8921   7713   
                )
 8922   7714   
                .property("backend", "S3Express".to_string())
 8923   7715   
                .build()
 8924   7716   
        );
 8925   7717   
    }
 8926   7718   
 8927   7719   
    /// Data Plane sigv4 auth with short AZ with AP
 8928   7720   
    #[test]
 8929   7721   
    fn test_306() {
 8930   7722   
        let params = crate::config::endpoint::Params::builder()
 8931   7723   
            .region("us-west-2".to_string())
 8932   7724   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
 8933   7725   
            .use_fips(false)
 8934   7726   
            .use_dual_stack(false)
 8935   7727   
            .accelerate(false)
 8936   7728   
            .disable_s3_express_session_auth(true)
 8937   7729   
            .build()
 8938   7730   
            .expect("invalid params");
 8939   7731   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8940   7732   
        let endpoint = resolver.resolve_endpoint(&params);
 8941   7733   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myaccesspoint--usw2-az1--xa-s3.s3express-usw2-az1.us-west-2.amazonaws.com");
 8942   7734   
        assert_eq!(
 8943   7735   
            endpoint,
 8944   7736   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8945   7737   
                .url("https://myaccesspoint--usw2-az1--xa-s3.s3express-usw2-az1.us-west-2.amazonaws.com")
 8946         -
                .property(
 8947         -
                    "authSchemes",
 8948         -
                    vec![{
 8949         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8950         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 8951         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8952         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8953         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8954         -
                        out
 8955         -
                    }
 8956         -
                    .into()]
        7738  +
                .auth_scheme(
        7739  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7740  +
                        .put("disableDoubleEncoding", true)
        7741  +
                        .put("signingName", "s3express".to_string())
        7742  +
                        .put("signingRegion", "us-west-2".to_string())
 8957   7743   
                )
 8958   7744   
                .property("backend", "S3Express".to_string())
 8959   7745   
                .build()
 8960   7746   
        );
 8961   7747   
    }
 8962   7748   
 8963   7749   
    /// Data Plane sigv4 auth with short zone (13 chars)
 8964   7750   
    #[test]
 8965   7751   
    fn test_307() {
 8966   7752   
        let params = crate::config::endpoint::Params::builder()
 8967   7753   
            .region("us-west-2".to_string())
 8968   7754   
            .bucket("mybucket--test-zone-ab1--x-s3".to_string())
 8969   7755   
            .use_fips(false)
 8970   7756   
            .use_dual_stack(false)
 8971   7757   
            .accelerate(false)
 8972   7758   
            .disable_s3_express_session_auth(true)
 8973   7759   
            .build()
 8974   7760   
            .expect("invalid params");
 8975   7761   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 8976   7762   
        let endpoint = resolver.resolve_endpoint(&params);
 8977   7763   
        let endpoint =
 8978   7764   
            endpoint.expect("Expected valid endpoint: https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com");
 8979   7765   
        assert_eq!(
 8980   7766   
            endpoint,
 8981   7767   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 8982   7768   
                .url("https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com")
 8983         -
                .property(
 8984         -
                    "authSchemes",
 8985         -
                    vec![{
 8986         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 8987         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 8988         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 8989         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 8990         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 8991         -
                        out
 8992         -
                    }
 8993         -
                    .into()]
        7769  +
                .auth_scheme(
        7770  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7771  +
                        .put("disableDoubleEncoding", true)
        7772  +
                        .put("signingName", "s3express".to_string())
        7773  +
                        .put("signingRegion", "us-west-2".to_string())
 8994   7774   
                )
 8995   7775   
                .property("backend", "S3Express".to_string())
 8996   7776   
                .build()
 8997   7777   
        );
 8998   7778   
    }
 8999   7779   
 9000   7780   
    /// Data Plane sigv4 auth with short zone (13 chars) with AP
 9001   7781   
    #[test]
 9002   7782   
    fn test_308() {
 9003   7783   
        let params = crate::config::endpoint::Params::builder()
 9004   7784   
            .region("us-west-2".to_string())
 9005   7785   
            .bucket("myaccesspoint--test-zone-ab1--xa-s3".to_string())
 9006   7786   
            .use_fips(false)
 9007   7787   
            .use_dual_stack(false)
 9008   7788   
            .accelerate(false)
 9009   7789   
            .disable_s3_express_session_auth(true)
 9010   7790   
            .build()
 9011   7791   
            .expect("invalid params");
 9012   7792   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9013   7793   
        let endpoint = resolver.resolve_endpoint(&params);
 9014   7794   
        let endpoint =
 9015   7795   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--test-zone-ab1--xa-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com");
 9016   7796   
        assert_eq!(
 9017   7797   
            endpoint,
 9018   7798   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9019   7799   
                .url("https://myaccesspoint--test-zone-ab1--xa-s3.s3express-test-zone-ab1.us-west-2.amazonaws.com")
 9020         -
                .property(
 9021         -
                    "authSchemes",
 9022         -
                    vec![{
 9023         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9024         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9025         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9026         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9027         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9028         -
                        out
 9029         -
                    }
 9030         -
                    .into()]
        7800  +
                .auth_scheme(
        7801  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7802  +
                        .put("disableDoubleEncoding", true)
        7803  +
                        .put("signingName", "s3express".to_string())
        7804  +
                        .put("signingRegion", "us-west-2".to_string())
 9031   7805   
                )
 9032   7806   
                .property("backend", "S3Express".to_string())
 9033   7807   
                .build()
 9034   7808   
        );
 9035   7809   
    }
 9036   7810   
 9037   7811   
    /// Data Plane sigv4 auth with short AZ fips
 9038   7812   
    #[test]
 9039   7813   
    fn test_309() {
 9040   7814   
        let params = crate::config::endpoint::Params::builder()
 9041   7815   
            .region("us-west-2".to_string())
 9042   7816   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
 9043   7817   
            .use_fips(true)
 9044   7818   
            .use_dual_stack(false)
 9045   7819   
            .accelerate(false)
 9046   7820   
            .disable_s3_express_session_auth(true)
 9047   7821   
            .build()
 9048   7822   
            .expect("invalid params");
 9049   7823   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9050   7824   
        let endpoint = resolver.resolve_endpoint(&params);
 9051   7825   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.s3express-fips-usw2-az1.us-west-2.amazonaws.com");
 9052   7826   
        assert_eq!(
 9053   7827   
            endpoint,
 9054   7828   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9055   7829   
                .url("https://mybucket--usw2-az1--x-s3.s3express-fips-usw2-az1.us-west-2.amazonaws.com")
 9056         -
                .property(
 9057         -
                    "authSchemes",
 9058         -
                    vec![{
 9059         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9060         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9061         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9062         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9063         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9064         -
                        out
 9065         -
                    }
 9066         -
                    .into()]
        7830  +
                .auth_scheme(
        7831  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7832  +
                        .put("disableDoubleEncoding", true)
        7833  +
                        .put("signingName", "s3express".to_string())
        7834  +
                        .put("signingRegion", "us-west-2".to_string())
 9067   7835   
                )
 9068   7836   
                .property("backend", "S3Express".to_string())
 9069   7837   
                .build()
 9070   7838   
        );
 9071   7839   
    }
 9072   7840   
 9073   7841   
    /// Data Plane sigv4 auth with short AZ fips with AP
 9074   7842   
    #[test]
 9075   7843   
    fn test_310() {
 9076   7844   
        let params = crate::config::endpoint::Params::builder()
 9077   7845   
            .region("us-west-2".to_string())
 9078   7846   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
 9079   7847   
            .use_fips(true)
 9080   7848   
            .use_dual_stack(false)
 9081   7849   
            .accelerate(false)
 9082   7850   
            .disable_s3_express_session_auth(true)
 9083   7851   
            .build()
 9084   7852   
            .expect("invalid params");
 9085   7853   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9086   7854   
        let endpoint = resolver.resolve_endpoint(&params);
 9087   7855   
        let endpoint =
 9088   7856   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--usw2-az1--xa-s3.s3express-fips-usw2-az1.us-west-2.amazonaws.com");
 9089   7857   
        assert_eq!(
 9090   7858   
            endpoint,
 9091   7859   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9092   7860   
                .url("https://myaccesspoint--usw2-az1--xa-s3.s3express-fips-usw2-az1.us-west-2.amazonaws.com")
 9093         -
                .property(
 9094         -
                    "authSchemes",
 9095         -
                    vec![{
 9096         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9097         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9098         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9099         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9100         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9101         -
                        out
 9102         -
                    }
 9103         -
                    .into()]
        7861  +
                .auth_scheme(
        7862  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7863  +
                        .put("disableDoubleEncoding", true)
        7864  +
                        .put("signingName", "s3express".to_string())
        7865  +
                        .put("signingRegion", "us-west-2".to_string())
 9104   7866   
                )
 9105   7867   
                .property("backend", "S3Express".to_string())
 9106   7868   
                .build()
 9107   7869   
        );
 9108   7870   
    }
 9109   7871   
 9110   7872   
    /// Data Plane sigv4 auth with short zone (13 chars) fips
 9111   7873   
    #[test]
 9112   7874   
    fn test_311() {
 9113   7875   
        let params = crate::config::endpoint::Params::builder()
 9114   7876   
            .region("us-west-2".to_string())
 9115   7877   
            .bucket("mybucket--test-zone-ab1--x-s3".to_string())
 9116   7878   
            .use_fips(true)
 9117   7879   
            .use_dual_stack(false)
 9118   7880   
            .accelerate(false)
 9119   7881   
            .disable_s3_express_session_auth(true)
 9120   7882   
            .build()
 9121   7883   
            .expect("invalid params");
 9122   7884   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9123   7885   
        let endpoint = resolver.resolve_endpoint(&params);
 9124   7886   
        let endpoint =
 9125   7887   
            endpoint.expect("Expected valid endpoint: https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com");
 9126   7888   
        assert_eq!(
 9127   7889   
            endpoint,
 9128   7890   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9129   7891   
                .url("https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com")
 9130         -
                .property(
 9131         -
                    "authSchemes",
 9132         -
                    vec![{
 9133         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9134         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9135         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9136         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9137         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9138         -
                        out
 9139         -
                    }
 9140         -
                    .into()]
        7892  +
                .auth_scheme(
        7893  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7894  +
                        .put("disableDoubleEncoding", true)
        7895  +
                        .put("signingName", "s3express".to_string())
        7896  +
                        .put("signingRegion", "us-west-2".to_string())
 9141   7897   
                )
 9142   7898   
                .property("backend", "S3Express".to_string())
 9143   7899   
                .build()
 9144   7900   
        );
 9145   7901   
    }
 9146   7902   
 9147   7903   
    /// Data Plane sigv4 auth with short zone (13 chars) fips with AP
 9148   7904   
    #[test]
 9149   7905   
    fn test_312() {
 9150   7906   
        let params = crate::config::endpoint::Params::builder()
 9151   7907   
            .region("us-west-2".to_string())
 9152   7908   
            .bucket("myaccesspoint--test-zone-ab1--xa-s3".to_string())
 9153   7909   
            .use_fips(true)
 9154   7910   
            .use_dual_stack(false)
 9155   7911   
            .accelerate(false)
 9156   7912   
            .disable_s3_express_session_auth(true)
 9157   7913   
            .build()
 9158   7914   
            .expect("invalid params");
 9159   7915   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9160   7916   
        let endpoint = resolver.resolve_endpoint(&params);
 9161   7917   
        let endpoint = endpoint
 9162   7918   
            .expect("Expected valid endpoint: https://myaccesspoint--test-zone-ab1--xa-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com");
 9163   7919   
        assert_eq!(
 9164   7920   
            endpoint,
 9165   7921   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9166   7922   
                .url("https://myaccesspoint--test-zone-ab1--xa-s3.s3express-fips-test-zone-ab1.us-west-2.amazonaws.com")
 9167         -
                .property(
 9168         -
                    "authSchemes",
 9169         -
                    vec![{
 9170         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9171         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9172         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9173         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9174         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9175         -
                        out
 9176         -
                    }
 9177         -
                    .into()]
        7923  +
                .auth_scheme(
        7924  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7925  +
                        .put("disableDoubleEncoding", true)
        7926  +
                        .put("signingName", "s3express".to_string())
        7927  +
                        .put("signingRegion", "us-west-2".to_string())
 9178   7928   
                )
 9179   7929   
                .property("backend", "S3Express".to_string())
 9180   7930   
                .build()
 9181   7931   
        );
 9182   7932   
    }
 9183   7933   
 9184   7934   
    /// Data Plane sigv4 auth with long AZ
 9185   7935   
    #[test]
 9186   7936   
    fn test_313() {
 9187   7937   
        let params = crate::config::endpoint::Params::builder()
 9188   7938   
            .region("us-west-2".to_string())
 9189   7939   
            .bucket("mybucket--test1-az1--x-s3".to_string())
 9190   7940   
            .use_fips(false)
 9191   7941   
            .use_dual_stack(false)
 9192   7942   
            .accelerate(false)
 9193   7943   
            .use_s3_express_control_endpoint(false)
 9194   7944   
            .disable_s3_express_session_auth(true)
 9195   7945   
            .build()
 9196   7946   
            .expect("invalid params");
 9197   7947   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9198   7948   
        let endpoint = resolver.resolve_endpoint(&params);
 9199   7949   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--test1-az1--x-s3.s3express-test1-az1.us-west-2.amazonaws.com");
 9200   7950   
        assert_eq!(
 9201   7951   
            endpoint,
 9202   7952   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9203   7953   
                .url("https://mybucket--test1-az1--x-s3.s3express-test1-az1.us-west-2.amazonaws.com")
 9204         -
                .property(
 9205         -
                    "authSchemes",
 9206         -
                    vec![{
 9207         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9208         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9209         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9210         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9211         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9212         -
                        out
 9213         -
                    }
 9214         -
                    .into()]
        7954  +
                .auth_scheme(
        7955  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7956  +
                        .put("disableDoubleEncoding", true)
        7957  +
                        .put("signingName", "s3express".to_string())
        7958  +
                        .put("signingRegion", "us-west-2".to_string())
 9215   7959   
                )
 9216   7960   
                .property("backend", "S3Express".to_string())
 9217   7961   
                .build()
 9218   7962   
        );
 9219   7963   
    }
 9220   7964   
 9221   7965   
    /// Data Plane sigv4 auth with long AZ with AP
 9222   7966   
    #[test]
 9223   7967   
    fn test_314() {
 9224   7968   
        let params = crate::config::endpoint::Params::builder()
 9225   7969   
            .region("us-west-2".to_string())
 9226   7970   
            .bucket("myaccesspoint--test1-az1--xa-s3".to_string())
 9227   7971   
            .use_fips(false)
 9228   7972   
            .use_dual_stack(false)
 9229   7973   
            .accelerate(false)
 9230   7974   
            .use_s3_express_control_endpoint(false)
 9231   7975   
            .disable_s3_express_session_auth(true)
 9232   7976   
            .build()
 9233   7977   
            .expect("invalid params");
 9234   7978   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9235   7979   
        let endpoint = resolver.resolve_endpoint(&params);
 9236   7980   
        let endpoint =
 9237   7981   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--test1-az1--xa-s3.s3express-test1-az1.us-west-2.amazonaws.com");
 9238   7982   
        assert_eq!(
 9239   7983   
            endpoint,
 9240   7984   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9241   7985   
                .url("https://myaccesspoint--test1-az1--xa-s3.s3express-test1-az1.us-west-2.amazonaws.com")
 9242         -
                .property(
 9243         -
                    "authSchemes",
 9244         -
                    vec![{
 9245         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9246         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9247         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9248         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9249         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9250         -
                        out
 9251         -
                    }
 9252         -
                    .into()]
        7986  +
                .auth_scheme(
        7987  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        7988  +
                        .put("disableDoubleEncoding", true)
        7989  +
                        .put("signingName", "s3express".to_string())
        7990  +
                        .put("signingRegion", "us-west-2".to_string())
 9253   7991   
                )
 9254   7992   
                .property("backend", "S3Express".to_string())
 9255   7993   
                .build()
 9256   7994   
        );
 9257   7995   
    }
 9258   7996   
 9259   7997   
    /// Data Plane sigv4 auth with medium zone(14 chars)
 9260   7998   
    #[test]
 9261   7999   
    fn test_315() {
 9262   8000   
        let params = crate::config::endpoint::Params::builder()
 9263   8001   
            .region("us-west-2".to_string())
 9264   8002   
            .bucket("mybucket--test1-zone-ab1--x-s3".to_string())
 9265   8003   
            .use_fips(false)
 9266   8004   
            .use_dual_stack(false)
 9267   8005   
            .accelerate(false)
 9268   8006   
            .use_s3_express_control_endpoint(false)
 9269   8007   
            .disable_s3_express_session_auth(true)
 9270   8008   
            .build()
 9271   8009   
            .expect("invalid params");
 9272   8010   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9273   8011   
        let endpoint = resolver.resolve_endpoint(&params);
 9274   8012   
        let endpoint =
 9275   8013   
            endpoint.expect("Expected valid endpoint: https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com");
 9276   8014   
        assert_eq!(
 9277   8015   
            endpoint,
 9278   8016   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9279   8017   
                .url("https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com")
 9280         -
                .property(
 9281         -
                    "authSchemes",
 9282         -
                    vec![{
 9283         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9284         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9285         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9286         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9287         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9288         -
                        out
 9289         -
                    }
 9290         -
                    .into()]
        8018  +
                .auth_scheme(
        8019  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8020  +
                        .put("disableDoubleEncoding", true)
        8021  +
                        .put("signingName", "s3express".to_string())
        8022  +
                        .put("signingRegion", "us-west-2".to_string())
 9291   8023   
                )
 9292   8024   
                .property("backend", "S3Express".to_string())
 9293   8025   
                .build()
 9294   8026   
        );
 9295   8027   
    }
 9296   8028   
 9297   8029   
    /// Data Plane sigv4 auth with medium zone(14 chars) with AP
 9298   8030   
    #[test]
 9299   8031   
    fn test_316() {
 9300   8032   
        let params = crate::config::endpoint::Params::builder()
 9301   8033   
            .region("us-west-2".to_string())
 9302   8034   
            .bucket("myaccesspoint--test1-zone-ab1--xa-s3".to_string())
 9303   8035   
            .use_fips(false)
 9304   8036   
            .use_dual_stack(false)
 9305   8037   
            .accelerate(false)
 9306   8038   
            .use_s3_express_control_endpoint(false)
 9307   8039   
            .disable_s3_express_session_auth(true)
 9308   8040   
            .build()
 9309   8041   
            .expect("invalid params");
 9310   8042   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9311   8043   
        let endpoint = resolver.resolve_endpoint(&params);
 9312   8044   
        let endpoint =
 9313   8045   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com");
 9314   8046   
        assert_eq!(
 9315   8047   
            endpoint,
 9316   8048   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9317   8049   
                .url("https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-test1-zone-ab1.us-west-2.amazonaws.com")
 9318         -
                .property(
 9319         -
                    "authSchemes",
 9320         -
                    vec![{
 9321         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9322         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9323         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9324         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9325         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9326         -
                        out
 9327         -
                    }
 9328         -
                    .into()]
        8050  +
                .auth_scheme(
        8051  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8052  +
                        .put("disableDoubleEncoding", true)
        8053  +
                        .put("signingName", "s3express".to_string())
        8054  +
                        .put("signingRegion", "us-west-2".to_string())
 9329   8055   
                )
 9330   8056   
                .property("backend", "S3Express".to_string())
 9331   8057   
                .build()
 9332   8058   
        );
 9333   8059   
    }
 9334   8060   
 9335   8061   
    /// Data Plane sigv4 auth with long zone(20 chars)
 9336   8062   
    #[test]
 9337   8063   
    fn test_317() {
 9338   8064   
        let params = crate::config::endpoint::Params::builder()
 9339   8065   
            .region("us-west-2".to_string())
 9340   8066   
            .bucket("mybucket--test1-long1-zone-ab1--x-s3".to_string())
 9341   8067   
            .use_fips(false)
 9342   8068   
            .use_dual_stack(false)
 9343   8069   
            .accelerate(false)
 9344   8070   
            .use_s3_express_control_endpoint(false)
 9345   8071   
            .disable_s3_express_session_auth(true)
 9346   8072   
            .build()
 9347   8073   
            .expect("invalid params");
 9348   8074   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9349   8075   
        let endpoint = resolver.resolve_endpoint(&params);
 9350   8076   
        let endpoint = endpoint
 9351   8077   
            .expect("Expected valid endpoint: https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com");
 9352   8078   
        assert_eq!(
 9353   8079   
            endpoint,
 9354   8080   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9355   8081   
                .url("https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com")
 9356         -
                .property(
 9357         -
                    "authSchemes",
 9358         -
                    vec![{
 9359         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9360         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9361         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9362         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9363         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9364         -
                        out
 9365         -
                    }
 9366         -
                    .into()]
        8082  +
                .auth_scheme(
        8083  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8084  +
                        .put("disableDoubleEncoding", true)
        8085  +
                        .put("signingName", "s3express".to_string())
        8086  +
                        .put("signingRegion", "us-west-2".to_string())
 9367   8087   
                )
 9368   8088   
                .property("backend", "S3Express".to_string())
 9369   8089   
                .build()
 9370   8090   
        );
 9371   8091   
    }
 9372   8092   
 9373   8093   
    /// Data Plane sigv4 auth with long zone(20 chars) with AP
 9374   8094   
    #[test]
 9375   8095   
    fn test_318() {
 9376   8096   
        let params = crate::config::endpoint::Params::builder()
 9377   8097   
            .region("us-west-2".to_string())
 9378   8098   
            .bucket("myaccesspoint--test1-long1-zone-ab1--xa-s3".to_string())
 9379   8099   
            .use_fips(false)
 9380   8100   
            .use_dual_stack(false)
 9381   8101   
            .accelerate(false)
 9382   8102   
            .use_s3_express_control_endpoint(false)
 9383   8103   
            .disable_s3_express_session_auth(true)
 9384   8104   
            .build()
 9385   8105   
            .expect("invalid params");
 9386   8106   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9387   8107   
        let endpoint = resolver.resolve_endpoint(&params);
 9388   8108   
        let endpoint = endpoint.expect(
 9389   8109   
            "Expected valid endpoint: https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com",
 9390   8110   
        );
 9391   8111   
        assert_eq!(
 9392   8112   
            endpoint,
 9393   8113   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9394   8114   
                .url("https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-test1-long1-zone-ab1.us-west-2.amazonaws.com")
 9395         -
                .property(
 9396         -
                    "authSchemes",
 9397         -
                    vec![{
 9398         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9399         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9400         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9401         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9402         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9403         -
                        out
 9404         -
                    }
 9405         -
                    .into()]
        8115  +
                .auth_scheme(
        8116  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8117  +
                        .put("disableDoubleEncoding", true)
        8118  +
                        .put("signingName", "s3express".to_string())
        8119  +
                        .put("signingRegion", "us-west-2".to_string())
 9406   8120   
                )
 9407   8121   
                .property("backend", "S3Express".to_string())
 9408   8122   
                .build()
 9409   8123   
        );
 9410   8124   
    }
 9411   8125   
 9412   8126   
    /// Data Plane sigv4 auth with long AZ fips
 9413   8127   
    #[test]
 9414   8128   
    fn test_319() {
 9415   8129   
        let params = crate::config::endpoint::Params::builder()
 9416   8130   
            .region("us-west-2".to_string())
 9417   8131   
            .bucket("mybucket--test1-az1--x-s3".to_string())
 9418   8132   
            .use_fips(true)
 9419   8133   
            .use_dual_stack(false)
 9420   8134   
            .accelerate(false)
 9421   8135   
            .use_s3_express_control_endpoint(false)
 9422   8136   
            .disable_s3_express_session_auth(true)
 9423   8137   
            .build()
 9424   8138   
            .expect("invalid params");
 9425   8139   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9426   8140   
        let endpoint = resolver.resolve_endpoint(&params);
 9427   8141   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--test1-az1--x-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com");
 9428   8142   
        assert_eq!(
 9429   8143   
            endpoint,
 9430   8144   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9431   8145   
                .url("https://mybucket--test1-az1--x-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com")
 9432         -
                .property(
 9433         -
                    "authSchemes",
 9434         -
                    vec![{
 9435         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9436         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9437         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9438         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9439         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9440         -
                        out
 9441         -
                    }
 9442         -
                    .into()]
        8146  +
                .auth_scheme(
        8147  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8148  +
                        .put("disableDoubleEncoding", true)
        8149  +
                        .put("signingName", "s3express".to_string())
        8150  +
                        .put("signingRegion", "us-west-2".to_string())
 9443   8151   
                )
 9444   8152   
                .property("backend", "S3Express".to_string())
 9445   8153   
                .build()
 9446   8154   
        );
 9447   8155   
    }
 9448   8156   
 9449   8157   
    /// Data Plane sigv4 auth with long AZ fips with AP
 9450   8158   
    #[test]
 9451   8159   
    fn test_320() {
 9452   8160   
        let params = crate::config::endpoint::Params::builder()
 9453   8161   
            .region("us-west-2".to_string())
 9454   8162   
            .bucket("myaccesspoint--test1-az1--xa-s3".to_string())
 9455   8163   
            .use_fips(true)
 9456   8164   
            .use_dual_stack(false)
 9457   8165   
            .accelerate(false)
 9458   8166   
            .use_s3_express_control_endpoint(false)
 9459   8167   
            .disable_s3_express_session_auth(true)
 9460   8168   
            .build()
 9461   8169   
            .expect("invalid params");
 9462   8170   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9463   8171   
        let endpoint = resolver.resolve_endpoint(&params);
 9464   8172   
        let endpoint =
 9465   8173   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--test1-az1--xa-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com");
 9466   8174   
        assert_eq!(
 9467   8175   
            endpoint,
 9468   8176   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9469   8177   
                .url("https://myaccesspoint--test1-az1--xa-s3.s3express-fips-test1-az1.us-west-2.amazonaws.com")
 9470         -
                .property(
 9471         -
                    "authSchemes",
 9472         -
                    vec![{
 9473         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9474         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9475         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9476         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9477         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9478         -
                        out
 9479         -
                    }
 9480         -
                    .into()]
        8178  +
                .auth_scheme(
        8179  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8180  +
                        .put("disableDoubleEncoding", true)
        8181  +
                        .put("signingName", "s3express".to_string())
        8182  +
                        .put("signingRegion", "us-west-2".to_string())
 9481   8183   
                )
 9482   8184   
                .property("backend", "S3Express".to_string())
 9483   8185   
                .build()
 9484   8186   
        );
 9485   8187   
    }
 9486   8188   
 9487   8189   
    /// Data Plane sigv4 auth with medium zone (14 chars) fips
 9488   8190   
    #[test]
 9489   8191   
    fn test_321() {
 9490   8192   
        let params = crate::config::endpoint::Params::builder()
 9491   8193   
            .region("us-west-2".to_string())
 9492   8194   
            .bucket("mybucket--test1-zone-ab1--x-s3".to_string())
 9493   8195   
            .use_fips(true)
 9494   8196   
            .use_dual_stack(false)
 9495   8197   
            .accelerate(false)
 9496   8198   
            .use_s3_express_control_endpoint(false)
 9497   8199   
            .disable_s3_express_session_auth(true)
 9498   8200   
            .build()
 9499   8201   
            .expect("invalid params");
 9500   8202   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9501   8203   
        let endpoint = resolver.resolve_endpoint(&params);
 9502   8204   
        let endpoint =
 9503   8205   
            endpoint.expect("Expected valid endpoint: https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com");
 9504   8206   
        assert_eq!(
 9505   8207   
            endpoint,
 9506   8208   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9507   8209   
                .url("https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com")
 9508         -
                .property(
 9509         -
                    "authSchemes",
 9510         -
                    vec![{
 9511         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9512         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9513         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9514         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9515         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9516         -
                        out
 9517         -
                    }
 9518         -
                    .into()]
        8210  +
                .auth_scheme(
        8211  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8212  +
                        .put("disableDoubleEncoding", true)
        8213  +
                        .put("signingName", "s3express".to_string())
        8214  +
                        .put("signingRegion", "us-west-2".to_string())
 9519   8215   
                )
 9520   8216   
                .property("backend", "S3Express".to_string())
 9521   8217   
                .build()
 9522   8218   
        );
 9523   8219   
    }
 9524   8220   
 9525   8221   
    /// Data Plane sigv4 auth with medium zone (14 chars) fips with AP
 9526   8222   
    #[test]
 9527   8223   
    fn test_322() {
 9528   8224   
        let params = crate::config::endpoint::Params::builder()
 9529   8225   
            .region("us-west-2".to_string())
 9530   8226   
            .bucket("myaccesspoint--test1-zone-ab1--xa-s3".to_string())
 9531   8227   
            .use_fips(true)
 9532   8228   
            .use_dual_stack(false)
 9533   8229   
            .accelerate(false)
 9534   8230   
            .use_s3_express_control_endpoint(false)
 9535   8231   
            .disable_s3_express_session_auth(true)
 9536   8232   
            .build()
 9537   8233   
            .expect("invalid params");
 9538   8234   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9539   8235   
        let endpoint = resolver.resolve_endpoint(&params);
 9540   8236   
        let endpoint = endpoint
 9541   8237   
            .expect("Expected valid endpoint: https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com");
 9542   8238   
        assert_eq!(
 9543   8239   
            endpoint,
 9544   8240   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9545   8241   
                .url("https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-fips-test1-zone-ab1.us-west-2.amazonaws.com")
 9546         -
                .property(
 9547         -
                    "authSchemes",
 9548         -
                    vec![{
 9549         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9550         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9551         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9552         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9553         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9554         -
                        out
 9555         -
                    }
 9556         -
                    .into()]
        8242  +
                .auth_scheme(
        8243  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8244  +
                        .put("disableDoubleEncoding", true)
        8245  +
                        .put("signingName", "s3express".to_string())
        8246  +
                        .put("signingRegion", "us-west-2".to_string())
 9557   8247   
                )
 9558   8248   
                .property("backend", "S3Express".to_string())
 9559   8249   
                .build()
 9560   8250   
        );
 9561   8251   
    }
 9562   8252   
 9563   8253   
    /// Data Plane sigv4 auth with long zone (20 chars) fips
 9564   8254   
    #[test]
 9565   8255   
    fn test_323() {
 9566   8256   
        let params = crate::config::endpoint::Params::builder()
 9567   8257   
            .region("us-west-2".to_string())
 9568   8258   
            .bucket("mybucket--test1-long1-zone-ab1--x-s3".to_string())
 9569   8259   
            .use_fips(true)
 9570   8260   
            .use_dual_stack(false)
 9571   8261   
            .accelerate(false)
 9572   8262   
            .use_s3_express_control_endpoint(false)
 9573   8263   
            .disable_s3_express_session_auth(true)
 9574   8264   
            .build()
 9575   8265   
            .expect("invalid params");
 9576   8266   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9577   8267   
        let endpoint = resolver.resolve_endpoint(&params);
 9578   8268   
        let endpoint = endpoint.expect(
 9579   8269   
            "Expected valid endpoint: https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com",
 9580   8270   
        );
 9581   8271   
        assert_eq!(
 9582   8272   
            endpoint,
 9583   8273   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9584   8274   
                .url("https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com")
 9585         -
                .property(
 9586         -
                    "authSchemes",
 9587         -
                    vec![{
 9588         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9589         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9590         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9591         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9592         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9593         -
                        out
 9594         -
                    }
 9595         -
                    .into()]
        8275  +
                .auth_scheme(
        8276  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8277  +
                        .put("disableDoubleEncoding", true)
        8278  +
                        .put("signingName", "s3express".to_string())
        8279  +
                        .put("signingRegion", "us-west-2".to_string())
 9596   8280   
                )
 9597   8281   
                .property("backend", "S3Express".to_string())
 9598   8282   
                .build()
 9599   8283   
        );
 9600   8284   
    }
 9601   8285   
 9602   8286   
    /// Data Plane sigv4 auth with long zone (20 chars) fips with AP
 9603   8287   
    #[test]
 9604   8288   
    fn test_324() {
 9605   8289   
        let params = crate::config::endpoint::Params::builder()
 9606   8290   
            .region("us-west-2".to_string())
 9607   8291   
            .bucket("myaccesspoint--test1-long1-zone-ab1--xa-s3".to_string())
 9608   8292   
            .use_fips(true)
 9609   8293   
            .use_dual_stack(false)
 9610   8294   
            .accelerate(false)
 9611   8295   
            .use_s3_express_control_endpoint(false)
 9612   8296   
            .disable_s3_express_session_auth(true)
 9613   8297   
            .build()
 9614   8298   
            .expect("invalid params");
 9615   8299   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9616   8300   
        let endpoint = resolver.resolve_endpoint(&params);
 9617   8301   
        let endpoint = endpoint.expect(
 9618   8302   
            "Expected valid endpoint: https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com",
 9619   8303   
        );
 9620   8304   
        assert_eq!(
 9621   8305   
            endpoint,
 9622   8306   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9623   8307   
                .url("https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-fips-test1-long1-zone-ab1.us-west-2.amazonaws.com")
 9624         -
                .property(
 9625         -
                    "authSchemes",
 9626         -
                    vec![{
 9627         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9628         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9629         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9630         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9631         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9632         -
                        out
 9633         -
                    }
 9634         -
                    .into()]
        8308  +
                .auth_scheme(
        8309  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8310  +
                        .put("disableDoubleEncoding", true)
        8311  +
                        .put("signingName", "s3express".to_string())
        8312  +
                        .put("signingRegion", "us-west-2".to_string())
 9635   8313   
                )
 9636   8314   
                .property("backend", "S3Express".to_string())
 9637   8315   
                .build()
 9638   8316   
        );
 9639   8317   
    }
 9640   8318   
 9641   8319   
    /// Control Plane host override
 9642   8320   
    #[test]
 9643   8321   
    fn test_325() {
 9644   8322   
        let params = crate::config::endpoint::Params::builder()
 9645   8323   
            .region("us-west-2".to_string())
 9646   8324   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
 9647   8325   
            .use_fips(false)
 9648   8326   
            .use_dual_stack(false)
 9649   8327   
            .accelerate(false)
 9650   8328   
            .use_s3_express_control_endpoint(true)
 9651   8329   
            .disable_s3_express_session_auth(true)
 9652   8330   
            .endpoint("https://custom.com".to_string())
 9653   8331   
            .build()
 9654   8332   
            .expect("invalid params");
 9655   8333   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9656   8334   
        let endpoint = resolver.resolve_endpoint(&params);
 9657   8335   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.custom.com");
 9658   8336   
        assert_eq!(
 9659   8337   
            endpoint,
 9660   8338   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9661   8339   
                .url("https://mybucket--usw2-az1--x-s3.custom.com")
 9662         -
                .property(
 9663         -
                    "authSchemes",
 9664         -
                    vec![{
 9665         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9666         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9667         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9668         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9669         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9670         -
                        out
 9671         -
                    }
 9672         -
                    .into()]
        8340  +
                .auth_scheme(
        8341  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8342  +
                        .put("disableDoubleEncoding", true)
        8343  +
                        .put("signingName", "s3express".to_string())
        8344  +
                        .put("signingRegion", "us-west-2".to_string())
 9673   8345   
                )
 9674   8346   
                .property("backend", "S3Express".to_string())
 9675   8347   
                .build()
 9676   8348   
        );
 9677   8349   
    }
 9678   8350   
 9679   8351   
    /// Control Plane host override with AP
 9680   8352   
    #[test]
 9681   8353   
    fn test_326() {
 9682   8354   
        let params = crate::config::endpoint::Params::builder()
 9683   8355   
            .region("us-west-2".to_string())
 9684   8356   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
 9685   8357   
            .use_fips(false)
 9686   8358   
            .use_dual_stack(false)
 9687   8359   
            .accelerate(false)
 9688   8360   
            .use_s3_express_control_endpoint(true)
 9689   8361   
            .disable_s3_express_session_auth(true)
 9690   8362   
            .endpoint("https://custom.com".to_string())
 9691   8363   
            .build()
 9692   8364   
            .expect("invalid params");
 9693   8365   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9694   8366   
        let endpoint = resolver.resolve_endpoint(&params);
 9695   8367   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myaccesspoint--usw2-az1--xa-s3.custom.com");
 9696   8368   
        assert_eq!(
 9697   8369   
            endpoint,
 9698   8370   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9699   8371   
                .url("https://myaccesspoint--usw2-az1--xa-s3.custom.com")
 9700         -
                .property(
 9701         -
                    "authSchemes",
 9702         -
                    vec![{
 9703         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9704         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9705         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9706         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9707         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9708         -
                        out
 9709         -
                    }
 9710         -
                    .into()]
        8372  +
                .auth_scheme(
        8373  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8374  +
                        .put("disableDoubleEncoding", true)
        8375  +
                        .put("signingName", "s3express".to_string())
        8376  +
                        .put("signingRegion", "us-west-2".to_string())
 9711   8377   
                )
 9712   8378   
                .property("backend", "S3Express".to_string())
 9713   8379   
                .build()
 9714   8380   
        );
 9715   8381   
    }
 9716   8382   
 9717   8383   
    /// Control Plane host override no bucket
 9718   8384   
    #[test]
 9719   8385   
    fn test_327() {
 9720   8386   
        let params = crate::config::endpoint::Params::builder()
 9721   8387   
            .region("us-west-2".to_string())
 9722   8388   
            .use_fips(false)
 9723   8389   
            .use_dual_stack(false)
 9724   8390   
            .accelerate(false)
 9725   8391   
            .use_s3_express_control_endpoint(true)
 9726   8392   
            .disable_s3_express_session_auth(true)
 9727   8393   
            .endpoint("https://custom.com".to_string())
 9728   8394   
            .build()
 9729   8395   
            .expect("invalid params");
 9730   8396   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9731   8397   
        let endpoint = resolver.resolve_endpoint(&params);
 9732   8398   
        let endpoint = endpoint.expect("Expected valid endpoint: https://custom.com");
 9733   8399   
        assert_eq!(
 9734   8400   
            endpoint,
 9735   8401   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9736   8402   
                .url("https://custom.com")
 9737         -
                .property(
 9738         -
                    "authSchemes",
 9739         -
                    vec![{
 9740         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9741         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9742         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9743         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9744         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9745         -
                        out
 9746         -
                    }
 9747         -
                    .into()]
        8403  +
                .auth_scheme(
        8404  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8405  +
                        .put("disableDoubleEncoding", true)
        8406  +
                        .put("signingName", "s3express".to_string())
        8407  +
                        .put("signingRegion", "us-west-2".to_string())
 9748   8408   
                )
 9749   8409   
                .property("backend", "S3Express".to_string())
 9750   8410   
                .build()
 9751   8411   
        );
 9752   8412   
    }
 9753   8413   
 9754   8414   
    /// Data plane host override non virtual session auth
 9755   8415   
    #[test]
 9756   8416   
    fn test_328() {
 9757   8417   
        let params = crate::config::endpoint::Params::builder()
 9758   8418   
            .region("us-west-2".to_string())
 9759   8419   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
 9760   8420   
            .use_fips(false)
 9761   8421   
            .use_dual_stack(false)
 9762   8422   
            .accelerate(false)
 9763   8423   
            .endpoint("https://10.0.0.1".to_string())
 9764   8424   
            .build()
 9765   8425   
            .expect("invalid params");
 9766   8426   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9767   8427   
        let endpoint = resolver.resolve_endpoint(&params);
 9768   8428   
        let endpoint = endpoint.expect("Expected valid endpoint: https://10.0.0.1/mybucket--usw2-az1--x-s3");
 9769   8429   
        assert_eq!(
 9770   8430   
            endpoint,
 9771   8431   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9772   8432   
                .url("https://10.0.0.1/mybucket--usw2-az1--x-s3")
 9773         -
                .property(
 9774         -
                    "authSchemes",
 9775         -
                    vec![{
 9776         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9777         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 9778         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9779         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9780         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9781         -
                        out
 9782         -
                    }
 9783         -
                    .into()]
        8433  +
                .auth_scheme(
        8434  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        8435  +
                        .put("disableDoubleEncoding", true)
        8436  +
                        .put("signingName", "s3express".to_string())
        8437  +
                        .put("signingRegion", "us-west-2".to_string())
 9784   8438   
                )
 9785   8439   
                .property("backend", "S3Express".to_string())
 9786   8440   
                .build()
 9787   8441   
        );
 9788   8442   
    }
 9789   8443   
 9790   8444   
    /// Data plane host override non virtual session auth with AP
 9791   8445   
    #[test]
 9792   8446   
    fn test_329() {
 9793   8447   
        let params = crate::config::endpoint::Params::builder()
 9794   8448   
            .region("us-west-2".to_string())
 9795   8449   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
 9796   8450   
            .use_fips(false)
 9797   8451   
            .use_dual_stack(false)
 9798   8452   
            .accelerate(false)
 9799   8453   
            .endpoint("https://10.0.0.1".to_string())
 9800   8454   
            .build()
 9801   8455   
            .expect("invalid params");
 9802   8456   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9803   8457   
        let endpoint = resolver.resolve_endpoint(&params);
 9804   8458   
        let endpoint = endpoint.expect("Expected valid endpoint: https://10.0.0.1/myaccesspoint--usw2-az1--xa-s3");
 9805   8459   
        assert_eq!(
 9806   8460   
            endpoint,
 9807   8461   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9808   8462   
                .url("https://10.0.0.1/myaccesspoint--usw2-az1--xa-s3")
 9809         -
                .property(
 9810         -
                    "authSchemes",
 9811         -
                    vec![{
 9812         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9813         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 9814         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9815         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9816         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9817         -
                        out
 9818         -
                    }
 9819         -
                    .into()]
        8463  +
                .auth_scheme(
        8464  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        8465  +
                        .put("disableDoubleEncoding", true)
        8466  +
                        .put("signingName", "s3express".to_string())
        8467  +
                        .put("signingRegion", "us-west-2".to_string())
 9820   8468   
                )
 9821   8469   
                .property("backend", "S3Express".to_string())
 9822   8470   
                .build()
 9823   8471   
        );
 9824   8472   
    }
 9825   8473   
 9826   8474   
    /// Control Plane host override ip
 9827   8475   
    #[test]
 9828   8476   
    fn test_330() {
 9829   8477   
        let params = crate::config::endpoint::Params::builder()
 9830   8478   
            .region("us-west-2".to_string())
 9831   8479   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
 9832   8480   
            .use_fips(false)
 9833   8481   
            .use_dual_stack(false)
 9834   8482   
            .accelerate(false)
 9835   8483   
            .use_s3_express_control_endpoint(true)
 9836   8484   
            .disable_s3_express_session_auth(true)
 9837   8485   
            .endpoint("https://10.0.0.1".to_string())
 9838   8486   
            .build()
 9839   8487   
            .expect("invalid params");
 9840   8488   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9841   8489   
        let endpoint = resolver.resolve_endpoint(&params);
 9842   8490   
        let endpoint = endpoint.expect("Expected valid endpoint: https://10.0.0.1/mybucket--usw2-az1--x-s3");
 9843   8491   
        assert_eq!(
 9844   8492   
            endpoint,
 9845   8493   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9846   8494   
                .url("https://10.0.0.1/mybucket--usw2-az1--x-s3")
 9847         -
                .property(
 9848         -
                    "authSchemes",
 9849         -
                    vec![{
 9850         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9851         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9852         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9853         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9854         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9855         -
                        out
 9856         -
                    }
 9857         -
                    .into()]
        8495  +
                .auth_scheme(
        8496  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8497  +
                        .put("disableDoubleEncoding", true)
        8498  +
                        .put("signingName", "s3express".to_string())
        8499  +
                        .put("signingRegion", "us-west-2".to_string())
 9858   8500   
                )
 9859   8501   
                .property("backend", "S3Express".to_string())
 9860   8502   
                .build()
 9861   8503   
        );
 9862   8504   
    }
 9863   8505   
 9864   8506   
    /// Control Plane host override ip with AP
 9865   8507   
    #[test]
 9866   8508   
    fn test_331() {
 9867   8509   
        let params = crate::config::endpoint::Params::builder()
 9868   8510   
            .region("us-west-2".to_string())
 9869   8511   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
 9870   8512   
            .use_fips(false)
 9871   8513   
            .use_dual_stack(false)
 9872   8514   
            .accelerate(false)
 9873   8515   
            .use_s3_express_control_endpoint(true)
 9874   8516   
            .disable_s3_express_session_auth(true)
 9875   8517   
            .endpoint("https://10.0.0.1".to_string())
 9876   8518   
            .build()
 9877   8519   
            .expect("invalid params");
 9878   8520   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9879   8521   
        let endpoint = resolver.resolve_endpoint(&params);
 9880   8522   
        let endpoint = endpoint.expect("Expected valid endpoint: https://10.0.0.1/myaccesspoint--usw2-az1--xa-s3");
 9881   8523   
        assert_eq!(
 9882   8524   
            endpoint,
 9883   8525   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9884   8526   
                .url("https://10.0.0.1/myaccesspoint--usw2-az1--xa-s3")
 9885         -
                .property(
 9886         -
                    "authSchemes",
 9887         -
                    vec![{
 9888         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9889         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
 9890         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9891         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9892         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9893         -
                        out
 9894         -
                    }
 9895         -
                    .into()]
        8527  +
                .auth_scheme(
        8528  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8529  +
                        .put("disableDoubleEncoding", true)
        8530  +
                        .put("signingName", "s3express".to_string())
        8531  +
                        .put("signingRegion", "us-west-2".to_string())
 9896   8532   
                )
 9897   8533   
                .property("backend", "S3Express".to_string())
 9898   8534   
                .build()
 9899   8535   
        );
 9900   8536   
    }
 9901   8537   
 9902   8538   
    /// Data plane host override
 9903   8539   
    #[test]
 9904   8540   
    fn test_332() {
 9905   8541   
        let params = crate::config::endpoint::Params::builder()
 9906   8542   
            .region("us-west-2".to_string())
 9907   8543   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
 9908   8544   
            .use_fips(false)
 9909   8545   
            .use_dual_stack(false)
 9910   8546   
            .accelerate(false)
 9911   8547   
            .endpoint("https://custom.com".to_string())
 9912   8548   
            .build()
 9913   8549   
            .expect("invalid params");
 9914   8550   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9915   8551   
        let endpoint = resolver.resolve_endpoint(&params);
 9916   8552   
        let endpoint = endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.custom.com");
 9917   8553   
        assert_eq!(
 9918   8554   
            endpoint,
 9919   8555   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9920   8556   
                .url("https://mybucket--usw2-az1--x-s3.custom.com")
 9921         -
                .property(
 9922         -
                    "authSchemes",
 9923         -
                    vec![{
 9924         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9925         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 9926         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9927         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9928         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9929         -
                        out
 9930         -
                    }
 9931         -
                    .into()]
        8557  +
                .auth_scheme(
        8558  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        8559  +
                        .put("disableDoubleEncoding", true)
        8560  +
                        .put("signingName", "s3express".to_string())
        8561  +
                        .put("signingRegion", "us-west-2".to_string())
 9932   8562   
                )
 9933   8563   
                .property("backend", "S3Express".to_string())
 9934   8564   
                .build()
 9935   8565   
        );
 9936   8566   
    }
 9937   8567   
 9938   8568   
    /// Data plane host override with AP
 9939   8569   
    #[test]
 9940   8570   
    fn test_333() {
 9941   8571   
        let params = crate::config::endpoint::Params::builder()
 9942   8572   
            .region("us-west-2".to_string())
 9943   8573   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
 9944   8574   
            .use_fips(false)
 9945   8575   
            .use_dual_stack(false)
 9946   8576   
            .accelerate(false)
 9947   8577   
            .endpoint("https://custom.com".to_string())
 9948   8578   
            .build()
 9949   8579   
            .expect("invalid params");
 9950   8580   
        let resolver = crate::config::endpoint::DefaultResolver::new();
 9951   8581   
        let endpoint = resolver.resolve_endpoint(&params);
 9952   8582   
        let endpoint = endpoint.expect("Expected valid endpoint: https://myaccesspoint--usw2-az1--xa-s3.custom.com");
 9953   8583   
        assert_eq!(
 9954   8584   
            endpoint,
 9955   8585   
            ::aws_smithy_types::endpoint::Endpoint::builder()
 9956   8586   
                .url("https://myaccesspoint--usw2-az1--xa-s3.custom.com")
 9957         -
                .property(
 9958         -
                    "authSchemes",
 9959         -
                    vec![{
 9960         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
 9961         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
 9962         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
 9963         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
 9964         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
 9965         -
                        out
 9966         -
                    }
 9967         -
                    .into()]
        8587  +
                .auth_scheme(
        8588  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        8589  +
                        .put("disableDoubleEncoding", true)
        8590  +
                        .put("signingName", "s3express".to_string())
        8591  +
                        .put("signingRegion", "us-west-2".to_string())
 9968   8592   
                )
 9969   8593   
                .property("backend", "S3Express".to_string())
 9970   8594   
                .build()
 9971   8595   
        );
 9972   8596   
    }
 9973   8597   
 9974   8598   
    /// bad format error
 9975   8599   
    #[test]
 9976   8600   
    fn test_334() {
 9977   8601   
        let params = crate::config::endpoint::Params::builder()
@@ -10190,8814 +15377,14191 @@
10210   8834   
            .disable_s3_express_session_auth(false)
10211   8835   
            .build()
10212   8836   
            .expect("invalid params");
10213   8837   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10214   8838   
        let endpoint = resolver.resolve_endpoint(&params);
10215   8839   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control.dualstack.us-east-1.amazonaws.com");
10216   8840   
        assert_eq!(
10217   8841   
            endpoint,
10218   8842   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10219   8843   
                .url("https://s3express-control.dualstack.us-east-1.amazonaws.com")
10220         -
                .property(
10221         -
                    "authSchemes",
10222         -
                    vec![{
10223         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10224         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10225         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10226         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
10227         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10228         -
                        out
10229         -
                    }
10230         -
                    .into()]
        8844  +
                .auth_scheme(
        8845  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8846  +
                        .put("disableDoubleEncoding", true)
        8847  +
                        .put("signingName", "s3express".to_string())
        8848  +
                        .put("signingRegion", "us-east-1".to_string())
10231   8849   
                )
10232   8850   
                .property("backend", "S3Express".to_string())
10233   8851   
                .build()
10234   8852   
        );
10235   8853   
    }
10236   8854   
10237   8855   
    /// Control plane without bucket, fips and dualstack
10238   8856   
    #[test]
10239   8857   
    fn test_347() {
10240   8858   
        let params = crate::config::endpoint::Params::builder()
10241   8859   
            .region("us-east-1".to_string())
10242   8860   
            .use_fips(true)
10243   8861   
            .use_dual_stack(true)
10244   8862   
            .accelerate(false)
10245   8863   
            .use_s3_express_control_endpoint(true)
10246   8864   
            .disable_s3_express_session_auth(false)
10247   8865   
            .build()
10248   8866   
            .expect("invalid params");
10249   8867   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10250   8868   
        let endpoint = resolver.resolve_endpoint(&params);
10251   8869   
        let endpoint = endpoint.expect("Expected valid endpoint: https://s3express-control-fips.dualstack.us-east-1.amazonaws.com");
10252   8870   
        assert_eq!(
10253   8871   
            endpoint,
10254   8872   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10255   8873   
                .url("https://s3express-control-fips.dualstack.us-east-1.amazonaws.com")
10256         -
                .property(
10257         -
                    "authSchemes",
10258         -
                    vec![{
10259         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10260         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10261         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10262         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
10263         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10264         -
                        out
10265         -
                    }
10266         -
                    .into()]
        8874  +
                .auth_scheme(
        8875  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8876  +
                        .put("disableDoubleEncoding", true)
        8877  +
                        .put("signingName", "s3express".to_string())
        8878  +
                        .put("signingRegion", "us-east-1".to_string())
10267   8879   
                )
10268   8880   
                .property("backend", "S3Express".to_string())
10269   8881   
                .build()
10270   8882   
        );
10271   8883   
    }
10272   8884   
10273   8885   
    /// Data Plane with short AZ and dualstack
10274   8886   
    #[test]
10275   8887   
    fn test_348() {
10276   8888   
        let params = crate::config::endpoint::Params::builder()
10277   8889   
            .region("us-west-2".to_string())
10278   8890   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
10279   8891   
            .use_fips(false)
10280   8892   
            .use_dual_stack(true)
10281   8893   
            .accelerate(false)
10282   8894   
            .use_s3_express_control_endpoint(false)
10283   8895   
            .build()
10284   8896   
            .expect("invalid params");
10285   8897   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10286   8898   
        let endpoint = resolver.resolve_endpoint(&params);
10287   8899   
        let endpoint =
10288   8900   
            endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.s3express-usw2-az1.dualstack.us-west-2.amazonaws.com");
10289   8901   
        assert_eq!(
10290   8902   
            endpoint,
10291   8903   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10292   8904   
                .url("https://mybucket--usw2-az1--x-s3.s3express-usw2-az1.dualstack.us-west-2.amazonaws.com")
10293         -
                .property(
10294         -
                    "authSchemes",
10295         -
                    vec![{
10296         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10297         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10298         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10299         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10300         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10301         -
                        out
10302         -
                    }
10303         -
                    .into()]
        8905  +
                .auth_scheme(
        8906  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        8907  +
                        .put("disableDoubleEncoding", true)
        8908  +
                        .put("signingName", "s3express".to_string())
        8909  +
                        .put("signingRegion", "us-west-2".to_string())
10304   8910   
                )
10305   8911   
                .property("backend", "S3Express".to_string())
10306   8912   
                .build()
10307   8913   
        );
10308   8914   
    }
10309   8915   
10310   8916   
    /// Data Plane with short AZ and FIPS with dualstack
10311   8917   
    #[test]
10312   8918   
    fn test_349() {
10313   8919   
        let params = crate::config::endpoint::Params::builder()
10314   8920   
            .region("us-west-2".to_string())
10315   8921   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
10316   8922   
            .use_fips(true)
10317   8923   
            .use_dual_stack(true)
10318   8924   
            .accelerate(false)
10319   8925   
            .use_s3_express_control_endpoint(false)
10320   8926   
            .build()
10321   8927   
            .expect("invalid params");
10322   8928   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10323   8929   
        let endpoint = resolver.resolve_endpoint(&params);
10324   8930   
        let endpoint =
10325   8931   
            endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.s3express-fips-usw2-az1.dualstack.us-west-2.amazonaws.com");
10326   8932   
        assert_eq!(
10327   8933   
            endpoint,
10328   8934   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10329   8935   
                .url("https://mybucket--usw2-az1--x-s3.s3express-fips-usw2-az1.dualstack.us-west-2.amazonaws.com")
10330         -
                .property(
10331         -
                    "authSchemes",
10332         -
                    vec![{
10333         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10334         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10335         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10336         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10337         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10338         -
                        out
10339         -
                    }
10340         -
                    .into()]
        8936  +
                .auth_scheme(
        8937  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        8938  +
                        .put("disableDoubleEncoding", true)
        8939  +
                        .put("signingName", "s3express".to_string())
        8940  +
                        .put("signingRegion", "us-west-2".to_string())
10341   8941   
                )
10342   8942   
                .property("backend", "S3Express".to_string())
10343   8943   
                .build()
10344   8944   
        );
10345   8945   
    }
10346   8946   
10347   8947   
    /// Data Plane sigv4 auth with short AZ and dualstack
10348   8948   
    #[test]
10349   8949   
    fn test_350() {
10350   8950   
        let params = crate::config::endpoint::Params::builder()
10351   8951   
            .region("us-west-2".to_string())
10352   8952   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
10353   8953   
            .use_fips(false)
10354   8954   
            .use_dual_stack(true)
10355   8955   
            .accelerate(false)
10356   8956   
            .disable_s3_express_session_auth(true)
10357   8957   
            .build()
10358   8958   
            .expect("invalid params");
10359   8959   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10360   8960   
        let endpoint = resolver.resolve_endpoint(&params);
10361   8961   
        let endpoint =
10362   8962   
            endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.s3express-usw2-az1.dualstack.us-west-2.amazonaws.com");
10363   8963   
        assert_eq!(
10364   8964   
            endpoint,
10365   8965   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10366   8966   
                .url("https://mybucket--usw2-az1--x-s3.s3express-usw2-az1.dualstack.us-west-2.amazonaws.com")
10367         -
                .property(
10368         -
                    "authSchemes",
10369         -
                    vec![{
10370         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10371         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10372         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10373         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10374         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10375         -
                        out
10376         -
                    }
10377         -
                    .into()]
        8967  +
                .auth_scheme(
        8968  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        8969  +
                        .put("disableDoubleEncoding", true)
        8970  +
                        .put("signingName", "s3express".to_string())
        8971  +
                        .put("signingRegion", "us-west-2".to_string())
10378   8972   
                )
10379   8973   
                .property("backend", "S3Express".to_string())
10380   8974   
                .build()
10381   8975   
        );
10382   8976   
    }
10383   8977   
10384   8978   
    /// Data Plane sigv4 auth with short AZ and FIPS with dualstack
10385   8979   
    #[test]
10386   8980   
    fn test_351() {
10387   8981   
        let params = crate::config::endpoint::Params::builder()
10388   8982   
            .region("us-west-2".to_string())
10389   8983   
            .bucket("mybucket--usw2-az1--x-s3".to_string())
10390   8984   
            .use_fips(true)
10391   8985   
            .use_dual_stack(true)
10392   8986   
            .accelerate(false)
10393   8987   
            .disable_s3_express_session_auth(true)
10394   8988   
            .build()
10395   8989   
            .expect("invalid params");
10396   8990   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10397   8991   
        let endpoint = resolver.resolve_endpoint(&params);
10398   8992   
        let endpoint =
10399   8993   
            endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az1--x-s3.s3express-fips-usw2-az1.dualstack.us-west-2.amazonaws.com");
10400   8994   
        assert_eq!(
10401   8995   
            endpoint,
10402   8996   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10403   8997   
                .url("https://mybucket--usw2-az1--x-s3.s3express-fips-usw2-az1.dualstack.us-west-2.amazonaws.com")
10404         -
                .property(
10405         -
                    "authSchemes",
10406         -
                    vec![{
10407         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10408         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10409         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10410         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10411         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10412         -
                        out
10413         -
                    }
10414         -
                    .into()]
        8998  +
                .auth_scheme(
        8999  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9000  +
                        .put("disableDoubleEncoding", true)
        9001  +
                        .put("signingName", "s3express".to_string())
        9002  +
                        .put("signingRegion", "us-west-2".to_string())
10415   9003   
                )
10416   9004   
                .property("backend", "S3Express".to_string())
10417   9005   
                .build()
10418   9006   
        );
10419   9007   
    }
10420   9008   
10421   9009   
    /// Data Plane with zone and dualstack
10422   9010   
    #[test]
10423   9011   
    fn test_352() {
10424   9012   
        let params = crate::config::endpoint::Params::builder()
10425   9013   
            .region("us-west-2".to_string())
10426   9014   
            .bucket("mybucket--usw2-az12--x-s3".to_string())
10427   9015   
            .use_fips(false)
10428   9016   
            .use_dual_stack(true)
10429   9017   
            .accelerate(false)
10430   9018   
            .use_s3_express_control_endpoint(false)
10431   9019   
            .build()
10432   9020   
            .expect("invalid params");
10433   9021   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10434   9022   
        let endpoint = resolver.resolve_endpoint(&params);
10435   9023   
        let endpoint =
10436   9024   
            endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az12--x-s3.s3express-usw2-az12.dualstack.us-west-2.amazonaws.com");
10437   9025   
        assert_eq!(
10438   9026   
            endpoint,
10439   9027   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10440   9028   
                .url("https://mybucket--usw2-az12--x-s3.s3express-usw2-az12.dualstack.us-west-2.amazonaws.com")
10441         -
                .property(
10442         -
                    "authSchemes",
10443         -
                    vec![{
10444         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10445         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10446         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10447         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10448         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10449         -
                        out
10450         -
                    }
10451         -
                    .into()]
        9029  +
                .auth_scheme(
        9030  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9031  +
                        .put("disableDoubleEncoding", true)
        9032  +
                        .put("signingName", "s3express".to_string())
        9033  +
                        .put("signingRegion", "us-west-2".to_string())
10452   9034   
                )
10453   9035   
                .property("backend", "S3Express".to_string())
10454   9036   
                .build()
10455   9037   
        );
10456   9038   
    }
10457   9039   
10458   9040   
    /// Data Plane with zone and FIPS with dualstack
10459   9041   
    #[test]
10460   9042   
    fn test_353() {
10461   9043   
        let params = crate::config::endpoint::Params::builder()
10462   9044   
            .region("us-west-2".to_string())
10463   9045   
            .bucket("mybucket--usw2-az12--x-s3".to_string())
10464   9046   
            .use_fips(true)
10465   9047   
            .use_dual_stack(true)
10466   9048   
            .accelerate(false)
10467   9049   
            .use_s3_express_control_endpoint(false)
10468   9050   
            .build()
10469   9051   
            .expect("invalid params");
10470   9052   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10471   9053   
        let endpoint = resolver.resolve_endpoint(&params);
10472   9054   
        let endpoint =
10473   9055   
            endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az12--x-s3.s3express-fips-usw2-az12.dualstack.us-west-2.amazonaws.com");
10474   9056   
        assert_eq!(
10475   9057   
            endpoint,
10476   9058   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10477   9059   
                .url("https://mybucket--usw2-az12--x-s3.s3express-fips-usw2-az12.dualstack.us-west-2.amazonaws.com")
10478         -
                .property(
10479         -
                    "authSchemes",
10480         -
                    vec![{
10481         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10482         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10483         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10484         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10485         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10486         -
                        out
10487         -
                    }
10488         -
                    .into()]
        9060  +
                .auth_scheme(
        9061  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9062  +
                        .put("disableDoubleEncoding", true)
        9063  +
                        .put("signingName", "s3express".to_string())
        9064  +
                        .put("signingRegion", "us-west-2".to_string())
10489   9065   
                )
10490   9066   
                .property("backend", "S3Express".to_string())
10491   9067   
                .build()
10492   9068   
        );
10493   9069   
    }
10494   9070   
10495   9071   
    /// Data Plane sigv4 auth with zone and dualstack
10496   9072   
    #[test]
10497   9073   
    fn test_354() {
10498   9074   
        let params = crate::config::endpoint::Params::builder()
10499   9075   
            .region("us-west-2".to_string())
10500   9076   
            .bucket("mybucket--usw2-az12--x-s3".to_string())
10501   9077   
            .use_fips(false)
10502   9078   
            .use_dual_stack(true)
10503   9079   
            .accelerate(false)
10504   9080   
            .disable_s3_express_session_auth(true)
10505   9081   
            .build()
10506   9082   
            .expect("invalid params");
10507   9083   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10508   9084   
        let endpoint = resolver.resolve_endpoint(&params);
10509   9085   
        let endpoint =
10510   9086   
            endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az12--x-s3.s3express-usw2-az12.dualstack.us-west-2.amazonaws.com");
10511   9087   
        assert_eq!(
10512   9088   
            endpoint,
10513   9089   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10514   9090   
                .url("https://mybucket--usw2-az12--x-s3.s3express-usw2-az12.dualstack.us-west-2.amazonaws.com")
10515         -
                .property(
10516         -
                    "authSchemes",
10517         -
                    vec![{
10518         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10519         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10520         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10521         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10522         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10523         -
                        out
10524         -
                    }
10525         -
                    .into()]
        9091  +
                .auth_scheme(
        9092  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9093  +
                        .put("disableDoubleEncoding", true)
        9094  +
                        .put("signingName", "s3express".to_string())
        9095  +
                        .put("signingRegion", "us-west-2".to_string())
10526   9096   
                )
10527   9097   
                .property("backend", "S3Express".to_string())
10528   9098   
                .build()
10529   9099   
        );
10530   9100   
    }
10531   9101   
10532   9102   
    /// Data Plane sigv4 auth with 9-char zone and FIPS with dualstack
10533   9103   
    #[test]
10534   9104   
    fn test_355() {
10535   9105   
        let params = crate::config::endpoint::Params::builder()
10536   9106   
            .region("us-west-2".to_string())
10537   9107   
            .bucket("mybucket--usw2-az12--x-s3".to_string())
10538   9108   
            .use_fips(true)
10539   9109   
            .use_dual_stack(true)
10540   9110   
            .accelerate(false)
10541   9111   
            .disable_s3_express_session_auth(true)
10542   9112   
            .build()
10543   9113   
            .expect("invalid params");
10544   9114   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10545   9115   
        let endpoint = resolver.resolve_endpoint(&params);
10546   9116   
        let endpoint =
10547   9117   
            endpoint.expect("Expected valid endpoint: https://mybucket--usw2-az12--x-s3.s3express-fips-usw2-az12.dualstack.us-west-2.amazonaws.com");
10548   9118   
        assert_eq!(
10549   9119   
            endpoint,
10550   9120   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10551   9121   
                .url("https://mybucket--usw2-az12--x-s3.s3express-fips-usw2-az12.dualstack.us-west-2.amazonaws.com")
10552         -
                .property(
10553         -
                    "authSchemes",
10554         -
                    vec![{
10555         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10556         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10557         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10558         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10559         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10560         -
                        out
10561         -
                    }
10562         -
                    .into()]
        9122  +
                .auth_scheme(
        9123  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9124  +
                        .put("disableDoubleEncoding", true)
        9125  +
                        .put("signingName", "s3express".to_string())
        9126  +
                        .put("signingRegion", "us-west-2".to_string())
10563   9127   
                )
10564   9128   
                .property("backend", "S3Express".to_string())
10565   9129   
                .build()
10566   9130   
        );
10567   9131   
    }
10568   9132   
10569   9133   
    /// Data Plane with 13-char zone and dualstack
10570   9134   
    #[test]
10571   9135   
    fn test_356() {
10572   9136   
        let params = crate::config::endpoint::Params::builder()
10573   9137   
            .region("us-west-2".to_string())
10574   9138   
            .bucket("mybucket--test-zone-ab1--x-s3".to_string())
10575   9139   
            .use_fips(false)
10576   9140   
            .use_dual_stack(true)
10577   9141   
            .accelerate(false)
10578   9142   
            .use_s3_express_control_endpoint(false)
10579   9143   
            .build()
10580   9144   
            .expect("invalid params");
10581   9145   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10582   9146   
        let endpoint = resolver.resolve_endpoint(&params);
10583   9147   
        let endpoint = endpoint
10584   9148   
            .expect("Expected valid endpoint: https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.dualstack.us-west-2.amazonaws.com");
10585   9149   
        assert_eq!(
10586   9150   
            endpoint,
10587   9151   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10588   9152   
                .url("https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.dualstack.us-west-2.amazonaws.com")
10589         -
                .property(
10590         -
                    "authSchemes",
10591         -
                    vec![{
10592         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10593         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10594         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10595         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10596         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10597         -
                        out
10598         -
                    }
10599         -
                    .into()]
        9153  +
                .auth_scheme(
        9154  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9155  +
                        .put("disableDoubleEncoding", true)
        9156  +
                        .put("signingName", "s3express".to_string())
        9157  +
                        .put("signingRegion", "us-west-2".to_string())
10600   9158   
                )
10601   9159   
                .property("backend", "S3Express".to_string())
10602   9160   
                .build()
10603   9161   
        );
10604   9162   
    }
10605   9163   
10606   9164   
    /// Data Plane with 13-char zone and FIPS with dualstack
10607   9165   
    #[test]
10608   9166   
    fn test_357() {
10609   9167   
        let params = crate::config::endpoint::Params::builder()
10610   9168   
            .region("us-west-2".to_string())
10611   9169   
            .bucket("mybucket--test-zone-ab1--x-s3".to_string())
10612   9170   
            .use_fips(true)
10613   9171   
            .use_dual_stack(true)
10614   9172   
            .accelerate(false)
10615   9173   
            .use_s3_express_control_endpoint(false)
10616   9174   
            .build()
10617   9175   
            .expect("invalid params");
10618   9176   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10619   9177   
        let endpoint = resolver.resolve_endpoint(&params);
10620   9178   
        let endpoint = endpoint
10621   9179   
            .expect("Expected valid endpoint: https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.dualstack.us-west-2.amazonaws.com");
10622   9180   
        assert_eq!(
10623   9181   
            endpoint,
10624   9182   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10625   9183   
                .url("https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.dualstack.us-west-2.amazonaws.com")
10626         -
                .property(
10627         -
                    "authSchemes",
10628         -
                    vec![{
10629         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10630         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10631         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10632         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10633         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10634         -
                        out
10635         -
                    }
10636         -
                    .into()]
        9184  +
                .auth_scheme(
        9185  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9186  +
                        .put("disableDoubleEncoding", true)
        9187  +
                        .put("signingName", "s3express".to_string())
        9188  +
                        .put("signingRegion", "us-west-2".to_string())
10637   9189   
                )
10638   9190   
                .property("backend", "S3Express".to_string())
10639   9191   
                .build()
10640   9192   
        );
10641   9193   
    }
10642   9194   
10643   9195   
    /// Data Plane sigv4 auth with 13-char zone and dualstack
10644   9196   
    #[test]
10645   9197   
    fn test_358() {
10646   9198   
        let params = crate::config::endpoint::Params::builder()
10647   9199   
            .region("us-west-2".to_string())
10648   9200   
            .bucket("mybucket--test-zone-ab1--x-s3".to_string())
10649   9201   
            .use_fips(false)
10650   9202   
            .use_dual_stack(true)
10651   9203   
            .accelerate(false)
10652   9204   
            .disable_s3_express_session_auth(true)
10653   9205   
            .build()
10654   9206   
            .expect("invalid params");
10655   9207   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10656   9208   
        let endpoint = resolver.resolve_endpoint(&params);
10657   9209   
        let endpoint = endpoint
10658   9210   
            .expect("Expected valid endpoint: https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.dualstack.us-west-2.amazonaws.com");
10659   9211   
        assert_eq!(
10660   9212   
            endpoint,
10661   9213   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10662   9214   
                .url("https://mybucket--test-zone-ab1--x-s3.s3express-test-zone-ab1.dualstack.us-west-2.amazonaws.com")
10663         -
                .property(
10664         -
                    "authSchemes",
10665         -
                    vec![{
10666         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10667         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10668         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10669         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10670         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10671         -
                        out
10672         -
                    }
10673         -
                    .into()]
        9215  +
                .auth_scheme(
        9216  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9217  +
                        .put("disableDoubleEncoding", true)
        9218  +
                        .put("signingName", "s3express".to_string())
        9219  +
                        .put("signingRegion", "us-west-2".to_string())
10674   9220   
                )
10675   9221   
                .property("backend", "S3Express".to_string())
10676   9222   
                .build()
10677   9223   
        );
10678   9224   
    }
10679   9225   
10680   9226   
    /// Data Plane sigv4 auth with 13-char zone and FIPS with dualstack
10681   9227   
    #[test]
10682   9228   
    fn test_359() {
10683   9229   
        let params = crate::config::endpoint::Params::builder()
10684   9230   
            .region("us-west-2".to_string())
10685   9231   
            .bucket("mybucket--test-zone-ab1--x-s3".to_string())
10686   9232   
            .use_fips(true)
10687   9233   
            .use_dual_stack(true)
10688   9234   
            .accelerate(false)
10689   9235   
            .disable_s3_express_session_auth(true)
10690   9236   
            .build()
10691   9237   
            .expect("invalid params");
10692   9238   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10693   9239   
        let endpoint = resolver.resolve_endpoint(&params);
10694   9240   
        let endpoint = endpoint
10695   9241   
            .expect("Expected valid endpoint: https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.dualstack.us-west-2.amazonaws.com");
10696   9242   
        assert_eq!(
10697   9243   
            endpoint,
10698   9244   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10699   9245   
                .url("https://mybucket--test-zone-ab1--x-s3.s3express-fips-test-zone-ab1.dualstack.us-west-2.amazonaws.com")
10700         -
                .property(
10701         -
                    "authSchemes",
10702         -
                    vec![{
10703         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10704         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10705         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10706         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10707         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10708         -
                        out
10709         -
                    }
10710         -
                    .into()]
        9246  +
                .auth_scheme(
        9247  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9248  +
                        .put("disableDoubleEncoding", true)
        9249  +
                        .put("signingName", "s3express".to_string())
        9250  +
                        .put("signingRegion", "us-west-2".to_string())
10711   9251   
                )
10712   9252   
                .property("backend", "S3Express".to_string())
10713   9253   
                .build()
10714   9254   
        );
10715   9255   
    }
10716   9256   
10717   9257   
    /// Data Plane with 14-char zone and dualstack
10718   9258   
    #[test]
10719   9259   
    fn test_360() {
10720   9260   
        let params = crate::config::endpoint::Params::builder()
10721   9261   
            .region("us-west-2".to_string())
10722   9262   
            .bucket("mybucket--test1-zone-ab1--x-s3".to_string())
10723   9263   
            .use_fips(false)
10724   9264   
            .use_dual_stack(true)
10725   9265   
            .accelerate(false)
10726   9266   
            .use_s3_express_control_endpoint(false)
10727   9267   
            .build()
10728   9268   
            .expect("invalid params");
10729   9269   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10730   9270   
        let endpoint = resolver.resolve_endpoint(&params);
10731   9271   
        let endpoint = endpoint
10732   9272   
            .expect("Expected valid endpoint: https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.dualstack.us-west-2.amazonaws.com");
10733   9273   
        assert_eq!(
10734   9274   
            endpoint,
10735   9275   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10736   9276   
                .url("https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.dualstack.us-west-2.amazonaws.com")
10737         -
                .property(
10738         -
                    "authSchemes",
10739         -
                    vec![{
10740         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10741         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10742         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10743         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10744         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10745         -
                        out
10746         -
                    }
10747         -
                    .into()]
        9277  +
                .auth_scheme(
        9278  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9279  +
                        .put("disableDoubleEncoding", true)
        9280  +
                        .put("signingName", "s3express".to_string())
        9281  +
                        .put("signingRegion", "us-west-2".to_string())
10748   9282   
                )
10749   9283   
                .property("backend", "S3Express".to_string())
10750   9284   
                .build()
10751   9285   
        );
10752   9286   
    }
10753   9287   
10754   9288   
    /// Data Plane with 14-char zone and FIPS with dualstack
10755   9289   
    #[test]
10756   9290   
    fn test_361() {
10757   9291   
        let params = crate::config::endpoint::Params::builder()
10758   9292   
            .region("us-west-2".to_string())
10759   9293   
            .bucket("mybucket--test1-zone-ab1--x-s3".to_string())
10760   9294   
            .use_fips(true)
10761   9295   
            .use_dual_stack(true)
10762   9296   
            .accelerate(false)
10763   9297   
            .use_s3_express_control_endpoint(false)
10764   9298   
            .build()
10765   9299   
            .expect("invalid params");
10766   9300   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10767   9301   
        let endpoint = resolver.resolve_endpoint(&params);
10768   9302   
        let endpoint = endpoint.expect(
10769   9303   
            "Expected valid endpoint: https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.dualstack.us-west-2.amazonaws.com",
10770   9304   
        );
10771   9305   
        assert_eq!(
10772   9306   
            endpoint,
10773   9307   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10774   9308   
                .url("https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.dualstack.us-west-2.amazonaws.com")
10775         -
                .property(
10776         -
                    "authSchemes",
10777         -
                    vec![{
10778         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10779         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10780         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10781         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10782         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10783         -
                        out
10784         -
                    }
10785         -
                    .into()]
        9309  +
                .auth_scheme(
        9310  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9311  +
                        .put("disableDoubleEncoding", true)
        9312  +
                        .put("signingName", "s3express".to_string())
        9313  +
                        .put("signingRegion", "us-west-2".to_string())
10786   9314   
                )
10787   9315   
                .property("backend", "S3Express".to_string())
10788   9316   
                .build()
10789   9317   
        );
10790   9318   
    }
10791   9319   
10792   9320   
    /// Data Plane sigv4 auth with 14-char zone and dualstack
10793   9321   
    #[test]
10794   9322   
    fn test_362() {
10795   9323   
        let params = crate::config::endpoint::Params::builder()
10796   9324   
            .region("us-west-2".to_string())
10797   9325   
            .bucket("mybucket--test1-zone-ab1--x-s3".to_string())
10798   9326   
            .use_fips(false)
10799   9327   
            .use_dual_stack(true)
10800   9328   
            .accelerate(false)
10801   9329   
            .disable_s3_express_session_auth(true)
10802   9330   
            .build()
10803   9331   
            .expect("invalid params");
10804   9332   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10805   9333   
        let endpoint = resolver.resolve_endpoint(&params);
10806   9334   
        let endpoint = endpoint
10807   9335   
            .expect("Expected valid endpoint: https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.dualstack.us-west-2.amazonaws.com");
10808   9336   
        assert_eq!(
10809   9337   
            endpoint,
10810   9338   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10811   9339   
                .url("https://mybucket--test1-zone-ab1--x-s3.s3express-test1-zone-ab1.dualstack.us-west-2.amazonaws.com")
10812         -
                .property(
10813         -
                    "authSchemes",
10814         -
                    vec![{
10815         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10816         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10817         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10818         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10819         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10820         -
                        out
10821         -
                    }
10822         -
                    .into()]
        9340  +
                .auth_scheme(
        9341  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9342  +
                        .put("disableDoubleEncoding", true)
        9343  +
                        .put("signingName", "s3express".to_string())
        9344  +
                        .put("signingRegion", "us-west-2".to_string())
10823   9345   
                )
10824   9346   
                .property("backend", "S3Express".to_string())
10825   9347   
                .build()
10826   9348   
        );
10827   9349   
    }
10828   9350   
10829   9351   
    /// Data Plane sigv4 auth with 14-char zone and FIPS with dualstack
10830   9352   
    #[test]
10831   9353   
    fn test_363() {
10832   9354   
        let params = crate::config::endpoint::Params::builder()
10833   9355   
            .region("us-west-2".to_string())
10834   9356   
            .bucket("mybucket--test1-zone-ab1--x-s3".to_string())
10835   9357   
            .use_fips(true)
10836   9358   
            .use_dual_stack(true)
10837   9359   
            .accelerate(false)
10838   9360   
            .disable_s3_express_session_auth(true)
10839   9361   
            .build()
10840   9362   
            .expect("invalid params");
10841   9363   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10842   9364   
        let endpoint = resolver.resolve_endpoint(&params);
10843   9365   
        let endpoint = endpoint.expect(
10844   9366   
            "Expected valid endpoint: https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.dualstack.us-west-2.amazonaws.com",
10845   9367   
        );
10846   9368   
        assert_eq!(
10847   9369   
            endpoint,
10848   9370   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10849   9371   
                .url("https://mybucket--test1-zone-ab1--x-s3.s3express-fips-test1-zone-ab1.dualstack.us-west-2.amazonaws.com")
10850         -
                .property(
10851         -
                    "authSchemes",
10852         -
                    vec![{
10853         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10854         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10855         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10856         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10857         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10858         -
                        out
10859         -
                    }
10860         -
                    .into()]
        9372  +
                .auth_scheme(
        9373  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9374  +
                        .put("disableDoubleEncoding", true)
        9375  +
                        .put("signingName", "s3express".to_string())
        9376  +
                        .put("signingRegion", "us-west-2".to_string())
10861   9377   
                )
10862   9378   
                .property("backend", "S3Express".to_string())
10863   9379   
                .build()
10864   9380   
        );
10865   9381   
    }
10866   9382   
10867   9383   
    /// Data Plane with long zone (20 cha) and dualstack
10868   9384   
    #[test]
10869   9385   
    fn test_364() {
10870   9386   
        let params = crate::config::endpoint::Params::builder()
10871   9387   
            .region("us-west-2".to_string())
10872   9388   
            .bucket("mybucket--test1-long1-zone-ab1--x-s3".to_string())
10873   9389   
            .use_fips(false)
10874   9390   
            .use_dual_stack(true)
10875   9391   
            .accelerate(false)
10876   9392   
            .use_s3_express_control_endpoint(false)
10877   9393   
            .build()
10878   9394   
            .expect("invalid params");
10879   9395   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10880   9396   
        let endpoint = resolver.resolve_endpoint(&params);
10881   9397   
        let endpoint = endpoint.expect(
10882   9398   
            "Expected valid endpoint: https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com",
10883   9399   
        );
10884   9400   
        assert_eq!(
10885   9401   
            endpoint,
10886   9402   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10887   9403   
                .url("https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com")
10888         -
                .property(
10889         -
                    "authSchemes",
10890         -
                    vec![{
10891         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10892         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10893         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10894         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10895         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10896         -
                        out
10897         -
                    }
10898         -
                    .into()]
        9404  +
                .auth_scheme(
        9405  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9406  +
                        .put("disableDoubleEncoding", true)
        9407  +
                        .put("signingName", "s3express".to_string())
        9408  +
                        .put("signingRegion", "us-west-2".to_string())
10899   9409   
                )
10900   9410   
                .property("backend", "S3Express".to_string())
10901   9411   
                .build()
10902   9412   
        );
10903   9413   
    }
10904   9414   
10905   9415   
    /// Data Plane with long zone (20 char) and FIPS with dualstack
10906   9416   
    #[test]
10907   9417   
    fn test_365() {
10908   9418   
        let params = crate::config::endpoint::Params::builder()
10909   9419   
            .region("us-west-2".to_string())
10910   9420   
            .bucket("mybucket--test1-long1-zone-ab1--x-s3".to_string())
10911   9421   
            .use_fips(true)
10912   9422   
            .use_dual_stack(true)
10913   9423   
            .accelerate(false)
10914   9424   
            .use_s3_express_control_endpoint(false)
10915   9425   
            .build()
10916   9426   
            .expect("invalid params");
10917   9427   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10918   9428   
        let endpoint = resolver.resolve_endpoint(&params);
10919   9429   
        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");
10920   9430   
        assert_eq!(
10921   9431   
            endpoint,
10922   9432   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10923   9433   
                .url("https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com")
10924         -
                .property(
10925         -
                    "authSchemes",
10926         -
                    vec![{
10927         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10928         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
10929         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10930         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10931         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10932         -
                        out
10933         -
                    }
10934         -
                    .into()]
        9434  +
                .auth_scheme(
        9435  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9436  +
                        .put("disableDoubleEncoding", true)
        9437  +
                        .put("signingName", "s3express".to_string())
        9438  +
                        .put("signingRegion", "us-west-2".to_string())
10935   9439   
                )
10936   9440   
                .property("backend", "S3Express".to_string())
10937   9441   
                .build()
10938   9442   
        );
10939   9443   
    }
10940   9444   
10941   9445   
    /// Data Plane sigv4 auth with long zone (20 char) and dualstack
10942   9446   
    #[test]
10943   9447   
    fn test_366() {
10944   9448   
        let params = crate::config::endpoint::Params::builder()
10945   9449   
            .region("us-west-2".to_string())
10946   9450   
            .bucket("mybucket--test1-long1-zone-ab1--x-s3".to_string())
10947   9451   
            .use_fips(false)
10948   9452   
            .use_dual_stack(true)
10949   9453   
            .accelerate(false)
10950   9454   
            .disable_s3_express_session_auth(true)
10951   9455   
            .build()
10952   9456   
            .expect("invalid params");
10953   9457   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10954   9458   
        let endpoint = resolver.resolve_endpoint(&params);
10955   9459   
        let endpoint = endpoint.expect(
10956   9460   
            "Expected valid endpoint: https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com",
10957   9461   
        );
10958   9462   
        assert_eq!(
10959   9463   
            endpoint,
10960   9464   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10961   9465   
                .url("https://mybucket--test1-long1-zone-ab1--x-s3.s3express-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com")
10962         -
                .property(
10963         -
                    "authSchemes",
10964         -
                    vec![{
10965         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
10966         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
10967         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
10968         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
10969         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
10970         -
                        out
10971         -
                    }
10972         -
                    .into()]
        9466  +
                .auth_scheme(
        9467  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9468  +
                        .put("disableDoubleEncoding", true)
        9469  +
                        .put("signingName", "s3express".to_string())
        9470  +
                        .put("signingRegion", "us-west-2".to_string())
10973   9471   
                )
10974   9472   
                .property("backend", "S3Express".to_string())
10975   9473   
                .build()
10976   9474   
        );
10977   9475   
    }
10978   9476   
10979   9477   
    /// Data Plane sigv4 auth with long zone (20 char) and FIPS with dualstack
10980   9478   
    #[test]
10981   9479   
    fn test_367() {
10982   9480   
        let params = crate::config::endpoint::Params::builder()
10983   9481   
            .region("us-west-2".to_string())
10984   9482   
            .bucket("mybucket--test1-long1-zone-ab1--x-s3".to_string())
10985   9483   
            .use_fips(true)
10986   9484   
            .use_dual_stack(true)
10987   9485   
            .accelerate(false)
10988   9486   
            .disable_s3_express_session_auth(true)
10989   9487   
            .build()
10990   9488   
            .expect("invalid params");
10991   9489   
        let resolver = crate::config::endpoint::DefaultResolver::new();
10992   9490   
        let endpoint = resolver.resolve_endpoint(&params);
10993   9491   
        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");
10994   9492   
        assert_eq!(
10995   9493   
            endpoint,
10996   9494   
            ::aws_smithy_types::endpoint::Endpoint::builder()
10997   9495   
                .url("https://mybucket--test1-long1-zone-ab1--x-s3.s3express-fips-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com")
10998         -
                .property(
10999         -
                    "authSchemes",
11000         -
                    vec![{
11001         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11002         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11003         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11004         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11005         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11006         -
                        out
11007         -
                    }
11008         -
                    .into()]
        9496  +
                .auth_scheme(
        9497  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9498  +
                        .put("disableDoubleEncoding", true)
        9499  +
                        .put("signingName", "s3express".to_string())
        9500  +
                        .put("signingRegion", "us-west-2".to_string())
11009   9501   
                )
11010   9502   
                .property("backend", "S3Express".to_string())
11011   9503   
                .build()
11012   9504   
        );
11013   9505   
    }
11014   9506   
11015   9507   
    /// Control plane and FIPS with dualstack
11016   9508   
    #[test]
11017   9509   
    fn test_368() {
11018   9510   
        let params = crate::config::endpoint::Params::builder()
11019   9511   
            .region("us-east-1".to_string())
11020   9512   
            .bucket("mybucket--test-ab1--x-s3".to_string())
11021   9513   
            .use_fips(true)
11022   9514   
            .use_dual_stack(true)
11023   9515   
            .accelerate(false)
11024   9516   
            .use_s3_express_control_endpoint(true)
11025   9517   
            .build()
11026   9518   
            .expect("invalid params");
11027   9519   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11028   9520   
        let endpoint = resolver.resolve_endpoint(&params);
11029   9521   
        let endpoint =
11030   9522   
            endpoint.expect("Expected valid endpoint: https://s3express-control-fips.dualstack.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3");
11031   9523   
        assert_eq!(
11032   9524   
            endpoint,
11033   9525   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11034   9526   
                .url("https://s3express-control-fips.dualstack.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3")
11035         -
                .property(
11036         -
                    "authSchemes",
11037         -
                    vec![{
11038         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11039         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11040         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11041         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
11042         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11043         -
                        out
11044         -
                    }
11045         -
                    .into()]
        9527  +
                .auth_scheme(
        9528  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9529  +
                        .put("disableDoubleEncoding", true)
        9530  +
                        .put("signingName", "s3express".to_string())
        9531  +
                        .put("signingRegion", "us-east-1".to_string())
11046   9532   
                )
11047   9533   
                .property("backend", "S3Express".to_string())
11048   9534   
                .build()
11049   9535   
        );
11050   9536   
    }
11051   9537   
11052   9538   
    /// Data plane with zone and dualstack and AP
11053   9539   
    #[test]
11054   9540   
    fn test_369() {
11055   9541   
        let params = crate::config::endpoint::Params::builder()
11056   9542   
            .region("us-west-2".to_string())
11057   9543   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
11058   9544   
            .use_fips(false)
11059   9545   
            .use_dual_stack(true)
11060   9546   
            .accelerate(false)
11061   9547   
            .use_s3_express_control_endpoint(false)
11062   9548   
            .build()
11063   9549   
            .expect("invalid params");
11064   9550   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11065   9551   
        let endpoint = resolver.resolve_endpoint(&params);
11066   9552   
        let endpoint =
11067   9553   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--usw2-az1--xa-s3.s3express-usw2-az1.dualstack.us-west-2.amazonaws.com");
11068   9554   
        assert_eq!(
11069   9555   
            endpoint,
11070   9556   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11071   9557   
                .url("https://myaccesspoint--usw2-az1--xa-s3.s3express-usw2-az1.dualstack.us-west-2.amazonaws.com")
11072         -
                .property(
11073         -
                    "authSchemes",
11074         -
                    vec![{
11075         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11076         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11077         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11078         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11079         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11080         -
                        out
11081         -
                    }
11082         -
                    .into()]
        9558  +
                .auth_scheme(
        9559  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9560  +
                        .put("disableDoubleEncoding", true)
        9561  +
                        .put("signingName", "s3express".to_string())
        9562  +
                        .put("signingRegion", "us-west-2".to_string())
11083   9563   
                )
11084   9564   
                .property("backend", "S3Express".to_string())
11085   9565   
                .build()
11086   9566   
        );
11087   9567   
    }
11088   9568   
11089   9569   
    /// Data plane with zone and FIPS with dualstack and AP
11090   9570   
    #[test]
11091   9571   
    fn test_370() {
11092   9572   
        let params = crate::config::endpoint::Params::builder()
11093   9573   
            .region("us-west-2".to_string())
11094   9574   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
11095   9575   
            .use_fips(true)
11096   9576   
            .use_dual_stack(true)
11097   9577   
            .accelerate(false)
11098   9578   
            .use_s3_express_control_endpoint(false)
11099   9579   
            .build()
11100   9580   
            .expect("invalid params");
11101   9581   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11102   9582   
        let endpoint = resolver.resolve_endpoint(&params);
11103   9583   
        let endpoint = endpoint
11104   9584   
            .expect("Expected valid endpoint: https://myaccesspoint--usw2-az1--xa-s3.s3express-fips-usw2-az1.dualstack.us-west-2.amazonaws.com");
11105   9585   
        assert_eq!(
11106   9586   
            endpoint,
11107   9587   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11108   9588   
                .url("https://myaccesspoint--usw2-az1--xa-s3.s3express-fips-usw2-az1.dualstack.us-west-2.amazonaws.com")
11109         -
                .property(
11110         -
                    "authSchemes",
11111         -
                    vec![{
11112         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11113         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11114         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11115         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11116         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11117         -
                        out
11118         -
                    }
11119         -
                    .into()]
        9589  +
                .auth_scheme(
        9590  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9591  +
                        .put("disableDoubleEncoding", true)
        9592  +
                        .put("signingName", "s3express".to_string())
        9593  +
                        .put("signingRegion", "us-west-2".to_string())
11120   9594   
                )
11121   9595   
                .property("backend", "S3Express".to_string())
11122   9596   
                .build()
11123   9597   
        );
11124   9598   
    }
11125   9599   
11126   9600   
    /// Data Plane sigv4 auth with zone and dualstack and AP
11127   9601   
    #[test]
11128   9602   
    fn test_371() {
11129   9603   
        let params = crate::config::endpoint::Params::builder()
11130   9604   
            .region("us-west-2".to_string())
11131   9605   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
11132   9606   
            .use_fips(false)
11133   9607   
            .use_dual_stack(true)
11134   9608   
            .accelerate(false)
11135   9609   
            .disable_s3_express_session_auth(true)
11136   9610   
            .build()
11137   9611   
            .expect("invalid params");
11138   9612   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11139   9613   
        let endpoint = resolver.resolve_endpoint(&params);
11140   9614   
        let endpoint =
11141   9615   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--usw2-az1--xa-s3.s3express-usw2-az1.dualstack.us-west-2.amazonaws.com");
11142   9616   
        assert_eq!(
11143   9617   
            endpoint,
11144   9618   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11145   9619   
                .url("https://myaccesspoint--usw2-az1--xa-s3.s3express-usw2-az1.dualstack.us-west-2.amazonaws.com")
11146         -
                .property(
11147         -
                    "authSchemes",
11148         -
                    vec![{
11149         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11150         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11151         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11152         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11153         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11154         -
                        out
11155         -
                    }
11156         -
                    .into()]
        9620  +
                .auth_scheme(
        9621  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9622  +
                        .put("disableDoubleEncoding", true)
        9623  +
                        .put("signingName", "s3express".to_string())
        9624  +
                        .put("signingRegion", "us-west-2".to_string())
11157   9625   
                )
11158   9626   
                .property("backend", "S3Express".to_string())
11159   9627   
                .build()
11160   9628   
        );
11161   9629   
    }
11162   9630   
11163   9631   
    /// Data Plane AP sigv4 auth with zone and FIPS with dualstack
11164   9632   
    #[test]
11165   9633   
    fn test_372() {
11166   9634   
        let params = crate::config::endpoint::Params::builder()
11167   9635   
            .region("us-west-2".to_string())
11168   9636   
            .bucket("myaccesspoint--usw2-az1--xa-s3".to_string())
11169   9637   
            .use_fips(true)
11170   9638   
            .use_dual_stack(true)
11171   9639   
            .accelerate(false)
11172   9640   
            .disable_s3_express_session_auth(true)
11173   9641   
            .build()
11174   9642   
            .expect("invalid params");
11175   9643   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11176   9644   
        let endpoint = resolver.resolve_endpoint(&params);
11177   9645   
        let endpoint = endpoint
11178   9646   
            .expect("Expected valid endpoint: https://myaccesspoint--usw2-az1--xa-s3.s3express-fips-usw2-az1.dualstack.us-west-2.amazonaws.com");
11179   9647   
        assert_eq!(
11180   9648   
            endpoint,
11181   9649   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11182   9650   
                .url("https://myaccesspoint--usw2-az1--xa-s3.s3express-fips-usw2-az1.dualstack.us-west-2.amazonaws.com")
11183         -
                .property(
11184         -
                    "authSchemes",
11185         -
                    vec![{
11186         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11187         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11188         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11189         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11190         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11191         -
                        out
11192         -
                    }
11193         -
                    .into()]
        9651  +
                .auth_scheme(
        9652  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9653  +
                        .put("disableDoubleEncoding", true)
        9654  +
                        .put("signingName", "s3express".to_string())
        9655  +
                        .put("signingRegion", "us-west-2".to_string())
11194   9656   
                )
11195   9657   
                .property("backend", "S3Express".to_string())
11196   9658   
                .build()
11197   9659   
        );
11198   9660   
    }
11199   9661   
11200   9662   
    /// Data Plane with zone (9 char) and AP with dualstack
11201   9663   
    #[test]
11202   9664   
    fn test_373() {
11203   9665   
        let params = crate::config::endpoint::Params::builder()
11204   9666   
            .region("us-west-2".to_string())
11205   9667   
            .bucket("myaccesspoint--usw2-az12--xa-s3".to_string())
11206   9668   
            .use_fips(false)
11207   9669   
            .use_dual_stack(true)
11208   9670   
            .accelerate(false)
11209   9671   
            .use_s3_express_control_endpoint(false)
11210   9672   
            .build()
11211   9673   
            .expect("invalid params");
11212   9674   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11213   9675   
        let endpoint = resolver.resolve_endpoint(&params);
11214   9676   
        let endpoint =
11215   9677   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--usw2-az12--xa-s3.s3express-usw2-az12.dualstack.us-west-2.amazonaws.com");
11216   9678   
        assert_eq!(
11217   9679   
            endpoint,
11218   9680   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11219   9681   
                .url("https://myaccesspoint--usw2-az12--xa-s3.s3express-usw2-az12.dualstack.us-west-2.amazonaws.com")
11220         -
                .property(
11221         -
                    "authSchemes",
11222         -
                    vec![{
11223         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11224         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11225         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11226         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11227         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11228         -
                        out
11229         -
                    }
11230         -
                    .into()]
        9682  +
                .auth_scheme(
        9683  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9684  +
                        .put("disableDoubleEncoding", true)
        9685  +
                        .put("signingName", "s3express".to_string())
        9686  +
                        .put("signingRegion", "us-west-2".to_string())
11231   9687   
                )
11232   9688   
                .property("backend", "S3Express".to_string())
11233   9689   
                .build()
11234   9690   
        );
11235   9691   
    }
11236   9692   
11237   9693   
    /// Data Plane with zone (9 char) and FIPS with AP and dualstack
11238   9694   
    #[test]
11239   9695   
    fn test_374() {
11240   9696   
        let params = crate::config::endpoint::Params::builder()
11241   9697   
            .region("us-west-2".to_string())
11242   9698   
            .bucket("myaccesspoint--usw2-az12--xa-s3".to_string())
11243   9699   
            .use_fips(true)
11244   9700   
            .use_dual_stack(true)
11245   9701   
            .accelerate(false)
11246   9702   
            .use_s3_express_control_endpoint(false)
11247   9703   
            .build()
11248   9704   
            .expect("invalid params");
11249   9705   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11250   9706   
        let endpoint = resolver.resolve_endpoint(&params);
11251   9707   
        let endpoint = endpoint
11252   9708   
            .expect("Expected valid endpoint: https://myaccesspoint--usw2-az12--xa-s3.s3express-fips-usw2-az12.dualstack.us-west-2.amazonaws.com");
11253   9709   
        assert_eq!(
11254   9710   
            endpoint,
11255   9711   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11256   9712   
                .url("https://myaccesspoint--usw2-az12--xa-s3.s3express-fips-usw2-az12.dualstack.us-west-2.amazonaws.com")
11257         -
                .property(
11258         -
                    "authSchemes",
11259         -
                    vec![{
11260         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11261         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11262         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11263         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11264         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11265         -
                        out
11266         -
                    }
11267         -
                    .into()]
        9713  +
                .auth_scheme(
        9714  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9715  +
                        .put("disableDoubleEncoding", true)
        9716  +
                        .put("signingName", "s3express".to_string())
        9717  +
                        .put("signingRegion", "us-west-2".to_string())
11268   9718   
                )
11269   9719   
                .property("backend", "S3Express".to_string())
11270   9720   
                .build()
11271   9721   
        );
11272   9722   
    }
11273   9723   
11274   9724   
    /// Data Plane sigv4 auth with (9 char) zone and dualstack with AP
11275   9725   
    #[test]
11276   9726   
    fn test_375() {
11277   9727   
        let params = crate::config::endpoint::Params::builder()
11278   9728   
            .region("us-west-2".to_string())
11279   9729   
            .bucket("myaccesspoint--usw2-az12--xa-s3".to_string())
11280   9730   
            .use_fips(false)
11281   9731   
            .use_dual_stack(true)
11282   9732   
            .accelerate(false)
11283   9733   
            .disable_s3_express_session_auth(true)
11284   9734   
            .build()
11285   9735   
            .expect("invalid params");
11286   9736   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11287   9737   
        let endpoint = resolver.resolve_endpoint(&params);
11288   9738   
        let endpoint =
11289   9739   
            endpoint.expect("Expected valid endpoint: https://myaccesspoint--usw2-az12--xa-s3.s3express-usw2-az12.dualstack.us-west-2.amazonaws.com");
11290   9740   
        assert_eq!(
11291   9741   
            endpoint,
11292   9742   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11293   9743   
                .url("https://myaccesspoint--usw2-az12--xa-s3.s3express-usw2-az12.dualstack.us-west-2.amazonaws.com")
11294         -
                .property(
11295         -
                    "authSchemes",
11296         -
                    vec![{
11297         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11298         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11299         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11300         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11301         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11302         -
                        out
11303         -
                    }
11304         -
                    .into()]
        9744  +
                .auth_scheme(
        9745  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9746  +
                        .put("disableDoubleEncoding", true)
        9747  +
                        .put("signingName", "s3express".to_string())
        9748  +
                        .put("signingRegion", "us-west-2".to_string())
11305   9749   
                )
11306   9750   
                .property("backend", "S3Express".to_string())
11307   9751   
                .build()
11308   9752   
        );
11309   9753   
    }
11310   9754   
11311   9755   
    /// Access Point sigv4 auth with (9 char) zone and FIPS with dualstack
11312   9756   
    #[test]
11313   9757   
    fn test_376() {
11314   9758   
        let params = crate::config::endpoint::Params::builder()
11315   9759   
            .region("us-west-2".to_string())
11316   9760   
            .bucket("myaccesspoint--usw2-az12--xa-s3".to_string())
11317   9761   
            .use_fips(true)
11318   9762   
            .use_dual_stack(true)
11319   9763   
            .accelerate(false)
11320   9764   
            .disable_s3_express_session_auth(true)
11321   9765   
            .build()
11322   9766   
            .expect("invalid params");
11323   9767   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11324   9768   
        let endpoint = resolver.resolve_endpoint(&params);
11325   9769   
        let endpoint = endpoint
11326   9770   
            .expect("Expected valid endpoint: https://myaccesspoint--usw2-az12--xa-s3.s3express-fips-usw2-az12.dualstack.us-west-2.amazonaws.com");
11327   9771   
        assert_eq!(
11328   9772   
            endpoint,
11329   9773   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11330   9774   
                .url("https://myaccesspoint--usw2-az12--xa-s3.s3express-fips-usw2-az12.dualstack.us-west-2.amazonaws.com")
11331         -
                .property(
11332         -
                    "authSchemes",
11333         -
                    vec![{
11334         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11335         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11336         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11337         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11338         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11339         -
                        out
11340         -
                    }
11341         -
                    .into()]
        9775  +
                .auth_scheme(
        9776  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9777  +
                        .put("disableDoubleEncoding", true)
        9778  +
                        .put("signingName", "s3express".to_string())
        9779  +
                        .put("signingRegion", "us-west-2".to_string())
11342   9780   
                )
11343   9781   
                .property("backend", "S3Express".to_string())
11344   9782   
                .build()
11345   9783   
        );
11346   9784   
    }
11347   9785   
11348   9786   
    /// Data Plane with zone (13 char) and AP with dualstack
11349   9787   
    #[test]
11350   9788   
    fn test_377() {
11351   9789   
        let params = crate::config::endpoint::Params::builder()
11352   9790   
            .region("us-west-2".to_string())
11353   9791   
            .bucket("myaccesspoint--test-zone-ab1--xa-s3".to_string())
11354   9792   
            .use_fips(false)
11355   9793   
            .use_dual_stack(true)
11356   9794   
            .accelerate(false)
11357   9795   
            .use_s3_express_control_endpoint(false)
11358   9796   
            .build()
11359   9797   
            .expect("invalid params");
11360   9798   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11361   9799   
        let endpoint = resolver.resolve_endpoint(&params);
11362   9800   
        let endpoint = endpoint
11363   9801   
            .expect("Expected valid endpoint: https://myaccesspoint--test-zone-ab1--xa-s3.s3express-test-zone-ab1.dualstack.us-west-2.amazonaws.com");
11364   9802   
        assert_eq!(
11365   9803   
            endpoint,
11366   9804   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11367   9805   
                .url("https://myaccesspoint--test-zone-ab1--xa-s3.s3express-test-zone-ab1.dualstack.us-west-2.amazonaws.com")
11368         -
                .property(
11369         -
                    "authSchemes",
11370         -
                    vec![{
11371         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11372         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11373         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11374         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11375         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11376         -
                        out
11377         -
                    }
11378         -
                    .into()]
        9806  +
                .auth_scheme(
        9807  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9808  +
                        .put("disableDoubleEncoding", true)
        9809  +
                        .put("signingName", "s3express".to_string())
        9810  +
                        .put("signingRegion", "us-west-2".to_string())
11379   9811   
                )
11380   9812   
                .property("backend", "S3Express".to_string())
11381   9813   
                .build()
11382   9814   
        );
11383   9815   
    }
11384   9816   
11385   9817   
    /// Data Plane with zone (13 char) and AP with FIPS and dualstack
11386   9818   
    #[test]
11387   9819   
    fn test_378() {
11388   9820   
        let params = crate::config::endpoint::Params::builder()
11389   9821   
            .region("us-west-2".to_string())
11390   9822   
            .bucket("myaccesspoint--test-zone-ab1--xa-s3".to_string())
11391   9823   
            .use_fips(true)
11392   9824   
            .use_dual_stack(true)
11393   9825   
            .accelerate(false)
11394   9826   
            .use_s3_express_control_endpoint(false)
11395   9827   
            .build()
11396   9828   
            .expect("invalid params");
11397   9829   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11398   9830   
        let endpoint = resolver.resolve_endpoint(&params);
11399   9831   
        let endpoint = endpoint.expect(
11400   9832   
            "Expected valid endpoint: https://myaccesspoint--test-zone-ab1--xa-s3.s3express-fips-test-zone-ab1.dualstack.us-west-2.amazonaws.com",
11401   9833   
        );
11402   9834   
        assert_eq!(
11403   9835   
            endpoint,
11404   9836   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11405   9837   
                .url("https://myaccesspoint--test-zone-ab1--xa-s3.s3express-fips-test-zone-ab1.dualstack.us-west-2.amazonaws.com")
11406         -
                .property(
11407         -
                    "authSchemes",
11408         -
                    vec![{
11409         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11410         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11411         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11412         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11413         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11414         -
                        out
11415         -
                    }
11416         -
                    .into()]
        9838  +
                .auth_scheme(
        9839  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9840  +
                        .put("disableDoubleEncoding", true)
        9841  +
                        .put("signingName", "s3express".to_string())
        9842  +
                        .put("signingRegion", "us-west-2".to_string())
11417   9843   
                )
11418   9844   
                .property("backend", "S3Express".to_string())
11419   9845   
                .build()
11420   9846   
        );
11421   9847   
    }
11422   9848   
11423   9849   
    /// Data Plane sigv4 auth with (13 char) zone with AP and dualstack
11424   9850   
    #[test]
11425   9851   
    fn test_379() {
11426   9852   
        let params = crate::config::endpoint::Params::builder()
11427   9853   
            .region("us-west-2".to_string())
11428   9854   
            .bucket("myaccesspoint--test-zone-ab1--xa-s3".to_string())
11429   9855   
            .use_fips(false)
11430   9856   
            .use_dual_stack(true)
11431   9857   
            .accelerate(false)
11432   9858   
            .disable_s3_express_session_auth(true)
11433   9859   
            .build()
11434   9860   
            .expect("invalid params");
11435   9861   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11436   9862   
        let endpoint = resolver.resolve_endpoint(&params);
11437   9863   
        let endpoint = endpoint
11438   9864   
            .expect("Expected valid endpoint: https://myaccesspoint--test-zone-ab1--xa-s3.s3express-test-zone-ab1.dualstack.us-west-2.amazonaws.com");
11439   9865   
        assert_eq!(
11440   9866   
            endpoint,
11441   9867   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11442   9868   
                .url("https://myaccesspoint--test-zone-ab1--xa-s3.s3express-test-zone-ab1.dualstack.us-west-2.amazonaws.com")
11443         -
                .property(
11444         -
                    "authSchemes",
11445         -
                    vec![{
11446         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11447         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11448         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11449         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11450         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11451         -
                        out
11452         -
                    }
11453         -
                    .into()]
        9869  +
                .auth_scheme(
        9870  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9871  +
                        .put("disableDoubleEncoding", true)
        9872  +
                        .put("signingName", "s3express".to_string())
        9873  +
                        .put("signingRegion", "us-west-2".to_string())
11454   9874   
                )
11455   9875   
                .property("backend", "S3Express".to_string())
11456   9876   
                .build()
11457   9877   
        );
11458   9878   
    }
11459   9879   
11460   9880   
    /// Data Plane sigv4 auth with (13 char) zone with AP and FIPS and dualstack
11461   9881   
    #[test]
11462   9882   
    fn test_380() {
11463   9883   
        let params = crate::config::endpoint::Params::builder()
11464   9884   
            .region("us-west-2".to_string())
11465   9885   
            .bucket("myaccesspoint--test-zone-ab1--xa-s3".to_string())
11466   9886   
            .use_fips(true)
11467   9887   
            .use_dual_stack(true)
11468   9888   
            .accelerate(false)
11469   9889   
            .disable_s3_express_session_auth(true)
11470   9890   
            .build()
11471   9891   
            .expect("invalid params");
11472   9892   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11473   9893   
        let endpoint = resolver.resolve_endpoint(&params);
11474   9894   
        let endpoint = endpoint.expect(
11475   9895   
            "Expected valid endpoint: https://myaccesspoint--test-zone-ab1--xa-s3.s3express-fips-test-zone-ab1.dualstack.us-west-2.amazonaws.com",
11476   9896   
        );
11477   9897   
        assert_eq!(
11478   9898   
            endpoint,
11479   9899   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11480   9900   
                .url("https://myaccesspoint--test-zone-ab1--xa-s3.s3express-fips-test-zone-ab1.dualstack.us-west-2.amazonaws.com")
11481         -
                .property(
11482         -
                    "authSchemes",
11483         -
                    vec![{
11484         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11485         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11486         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11487         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11488         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11489         -
                        out
11490         -
                    }
11491         -
                    .into()]
        9901  +
                .auth_scheme(
        9902  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9903  +
                        .put("disableDoubleEncoding", true)
        9904  +
                        .put("signingName", "s3express".to_string())
        9905  +
                        .put("signingRegion", "us-west-2".to_string())
11492   9906   
                )
11493   9907   
                .property("backend", "S3Express".to_string())
11494   9908   
                .build()
11495   9909   
        );
11496   9910   
    }
11497   9911   
11498   9912   
    /// Data Plane with (14 char) zone and AP with dualstack
11499   9913   
    #[test]
11500   9914   
    fn test_381() {
11501   9915   
        let params = crate::config::endpoint::Params::builder()
11502   9916   
            .region("us-west-2".to_string())
11503   9917   
            .bucket("myaccesspoint--test1-zone-ab1--xa-s3".to_string())
11504   9918   
            .use_fips(false)
11505   9919   
            .use_dual_stack(true)
11506   9920   
            .accelerate(false)
11507   9921   
            .use_s3_express_control_endpoint(false)
11508   9922   
            .build()
11509   9923   
            .expect("invalid params");
11510   9924   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11511   9925   
        let endpoint = resolver.resolve_endpoint(&params);
11512   9926   
        let endpoint = endpoint.expect(
11513   9927   
            "Expected valid endpoint: https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-test1-zone-ab1.dualstack.us-west-2.amazonaws.com",
11514   9928   
        );
11515   9929   
        assert_eq!(
11516   9930   
            endpoint,
11517   9931   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11518   9932   
                .url("https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-test1-zone-ab1.dualstack.us-west-2.amazonaws.com")
11519         -
                .property(
11520         -
                    "authSchemes",
11521         -
                    vec![{
11522         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11523         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11524         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11525         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11526         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11527         -
                        out
11528         -
                    }
11529         -
                    .into()]
        9933  +
                .auth_scheme(
        9934  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9935  +
                        .put("disableDoubleEncoding", true)
        9936  +
                        .put("signingName", "s3express".to_string())
        9937  +
                        .put("signingRegion", "us-west-2".to_string())
11530   9938   
                )
11531   9939   
                .property("backend", "S3Express".to_string())
11532   9940   
                .build()
11533   9941   
        );
11534   9942   
    }
11535   9943   
11536   9944   
    /// Data Plane with (14 char) zone and AP with FIPS and dualstack
11537   9945   
    #[test]
11538   9946   
    fn test_382() {
11539   9947   
        let params = crate::config::endpoint::Params::builder()
11540   9948   
            .region("us-west-2".to_string())
11541   9949   
            .bucket("myaccesspoint--test1-zone-ab1--xa-s3".to_string())
11542   9950   
            .use_fips(true)
11543   9951   
            .use_dual_stack(true)
11544   9952   
            .accelerate(false)
11545   9953   
            .use_s3_express_control_endpoint(false)
11546   9954   
            .build()
11547   9955   
            .expect("invalid params");
11548   9956   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11549   9957   
        let endpoint = resolver.resolve_endpoint(&params);
11550   9958   
        let endpoint = endpoint.expect(
11551   9959   
            "Expected valid endpoint: https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-fips-test1-zone-ab1.dualstack.us-west-2.amazonaws.com",
11552   9960   
        );
11553   9961   
        assert_eq!(
11554   9962   
            endpoint,
11555   9963   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11556   9964   
                .url("https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-fips-test1-zone-ab1.dualstack.us-west-2.amazonaws.com")
11557         -
                .property(
11558         -
                    "authSchemes",
11559         -
                    vec![{
11560         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11561         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11562         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11563         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11564         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11565         -
                        out
11566         -
                    }
11567         -
                    .into()]
        9965  +
                .auth_scheme(
        9966  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
        9967  +
                        .put("disableDoubleEncoding", true)
        9968  +
                        .put("signingName", "s3express".to_string())
        9969  +
                        .put("signingRegion", "us-west-2".to_string())
11568   9970   
                )
11569   9971   
                .property("backend", "S3Express".to_string())
11570   9972   
                .build()
11571   9973   
        );
11572   9974   
    }
11573   9975   
11574   9976   
    /// Data Plane sigv4 auth with (14 char) zone and AP with dualstack
11575   9977   
    #[test]
11576   9978   
    fn test_383() {
11577   9979   
        let params = crate::config::endpoint::Params::builder()
11578   9980   
            .region("us-west-2".to_string())
11579   9981   
            .bucket("myaccesspoint--test1-zone-ab1--xa-s3".to_string())
11580   9982   
            .use_fips(false)
11581   9983   
            .use_dual_stack(true)
11582   9984   
            .accelerate(false)
11583   9985   
            .disable_s3_express_session_auth(true)
11584   9986   
            .build()
11585   9987   
            .expect("invalid params");
11586   9988   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11587   9989   
        let endpoint = resolver.resolve_endpoint(&params);
11588   9990   
        let endpoint = endpoint.expect(
11589   9991   
            "Expected valid endpoint: https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-test1-zone-ab1.dualstack.us-west-2.amazonaws.com",
11590   9992   
        );
11591   9993   
        assert_eq!(
11592   9994   
            endpoint,
11593   9995   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11594   9996   
                .url("https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-test1-zone-ab1.dualstack.us-west-2.amazonaws.com")
11595         -
                .property(
11596         -
                    "authSchemes",
11597         -
                    vec![{
11598         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11599         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11600         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11601         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11602         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11603         -
                        out
11604         -
                    }
11605         -
                    .into()]
        9997  +
                .auth_scheme(
        9998  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
        9999  +
                        .put("disableDoubleEncoding", true)
       10000  +
                        .put("signingName", "s3express".to_string())
       10001  +
                        .put("signingRegion", "us-west-2".to_string())
11606  10002   
                )
11607  10003   
                .property("backend", "S3Express".to_string())
11608  10004   
                .build()
11609  10005   
        );
11610  10006   
    }
11611  10007   
11612  10008   
    /// Data Plane with (14 char) zone and AP with FIPS and dualstack
11613  10009   
    #[test]
11614  10010   
    fn test_384() {
11615  10011   
        let params = crate::config::endpoint::Params::builder()
11616  10012   
            .region("us-west-2".to_string())
11617  10013   
            .bucket("myaccesspoint--test1-zone-ab1--xa-s3".to_string())
11618  10014   
            .use_fips(true)
11619  10015   
            .use_dual_stack(true)
11620  10016   
            .accelerate(false)
11621  10017   
            .disable_s3_express_session_auth(true)
11622  10018   
            .build()
11623  10019   
            .expect("invalid params");
11624  10020   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11625  10021   
        let endpoint = resolver.resolve_endpoint(&params);
11626  10022   
        let endpoint = endpoint.expect(
11627  10023   
            "Expected valid endpoint: https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-fips-test1-zone-ab1.dualstack.us-west-2.amazonaws.com",
11628  10024   
        );
11629  10025   
        assert_eq!(
11630  10026   
            endpoint,
11631  10027   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11632  10028   
                .url("https://myaccesspoint--test1-zone-ab1--xa-s3.s3express-fips-test1-zone-ab1.dualstack.us-west-2.amazonaws.com")
11633         -
                .property(
11634         -
                    "authSchemes",
11635         -
                    vec![{
11636         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11637         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11638         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11639         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11640         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11641         -
                        out
11642         -
                    }
11643         -
                    .into()]
       10029  +
                .auth_scheme(
       10030  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
       10031  +
                        .put("disableDoubleEncoding", true)
       10032  +
                        .put("signingName", "s3express".to_string())
       10033  +
                        .put("signingRegion", "us-west-2".to_string())
11644  10034   
                )
11645  10035   
                .property("backend", "S3Express".to_string())
11646  10036   
                .build()
11647  10037   
        );
11648  10038   
    }
11649  10039   
11650  10040   
    /// Data Plane with (20 char) zone and AP with dualstack
11651  10041   
    #[test]
11652  10042   
    fn test_385() {
11653  10043   
        let params = crate::config::endpoint::Params::builder()
11654  10044   
            .region("us-west-2".to_string())
11655  10045   
            .bucket("myaccesspoint--test1-long1-zone-ab1--xa-s3".to_string())
11656  10046   
            .use_fips(false)
11657  10047   
            .use_dual_stack(true)
11658  10048   
            .accelerate(false)
11659  10049   
            .use_s3_express_control_endpoint(false)
11660  10050   
            .build()
11661  10051   
            .expect("invalid params");
11662  10052   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11663  10053   
        let endpoint = resolver.resolve_endpoint(&params);
11664  10054   
        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");
11665  10055   
        assert_eq!(
11666  10056   
            endpoint,
11667  10057   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11668  10058   
                .url("https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com")
11669         -
                .property(
11670         -
                    "authSchemes",
11671         -
                    vec![{
11672         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11673         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11674         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11675         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11676         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11677         -
                        out
11678         -
                    }
11679         -
                    .into()]
       10059  +
                .auth_scheme(
       10060  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
       10061  +
                        .put("disableDoubleEncoding", true)
       10062  +
                        .put("signingName", "s3express".to_string())
       10063  +
                        .put("signingRegion", "us-west-2".to_string())
11680  10064   
                )
11681  10065   
                .property("backend", "S3Express".to_string())
11682  10066   
                .build()
11683  10067   
        );
11684  10068   
    }
11685  10069   
11686  10070   
    /// Data Plane with (20 char) zone and AP with FIPS and dualstack
11687  10071   
    #[test]
11688  10072   
    fn test_386() {
11689  10073   
        let params = crate::config::endpoint::Params::builder()
11690  10074   
            .region("us-west-2".to_string())
11691  10075   
            .bucket("myaccesspoint--test1-long1-zone-ab1--xa-s3".to_string())
11692  10076   
            .use_fips(true)
11693  10077   
            .use_dual_stack(true)
11694  10078   
            .accelerate(false)
11695  10079   
            .use_s3_express_control_endpoint(false)
11696  10080   
            .build()
11697  10081   
            .expect("invalid params");
11698  10082   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11699  10083   
        let endpoint = resolver.resolve_endpoint(&params);
11700  10084   
        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");
11701  10085   
        assert_eq!(
11702  10086   
            endpoint,
11703  10087   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11704  10088   
                .url("https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-fips-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com")
11705         -
                .property(
11706         -
                    "authSchemes",
11707         -
                    vec![{
11708         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11709         -
                        out.insert("name".to_string(), "sigv4-s3express".to_string().into());
11710         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11711         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11712         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11713         -
                        out
11714         -
                    }
11715         -
                    .into()]
       10089  +
                .auth_scheme(
       10090  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4-s3express", 3)
       10091  +
                        .put("disableDoubleEncoding", true)
       10092  +
                        .put("signingName", "s3express".to_string())
       10093  +
                        .put("signingRegion", "us-west-2".to_string())
11716  10094   
                )
11717  10095   
                .property("backend", "S3Express".to_string())
11718  10096   
                .build()
11719  10097   
        );
11720  10098   
    }
11721  10099   
11722  10100   
    /// Data plane AP with sigv4 and dualstack
11723  10101   
    #[test]
11724  10102   
    fn test_387() {
11725  10103   
        let params = crate::config::endpoint::Params::builder()
11726  10104   
            .region("us-west-2".to_string())
11727  10105   
            .bucket("myaccesspoint--test1-long1-zone-ab1--xa-s3".to_string())
11728  10106   
            .use_fips(false)
11729  10107   
            .use_dual_stack(true)
11730  10108   
            .accelerate(false)
11731  10109   
            .disable_s3_express_session_auth(true)
11732  10110   
            .build()
11733  10111   
            .expect("invalid params");
11734  10112   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11735  10113   
        let endpoint = resolver.resolve_endpoint(&params);
11736  10114   
        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");
11737  10115   
        assert_eq!(
11738  10116   
            endpoint,
11739  10117   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11740  10118   
                .url("https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com")
11741         -
                .property(
11742         -
                    "authSchemes",
11743         -
                    vec![{
11744         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11745         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11746         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11747         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11748         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11749         -
                        out
11750         -
                    }
11751         -
                    .into()]
       10119  +
                .auth_scheme(
       10120  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
       10121  +
                        .put("disableDoubleEncoding", true)
       10122  +
                        .put("signingName", "s3express".to_string())
       10123  +
                        .put("signingRegion", "us-west-2".to_string())
11752  10124   
                )
11753  10125   
                .property("backend", "S3Express".to_string())
11754  10126   
                .build()
11755  10127   
        );
11756  10128   
    }
11757  10129   
11758  10130   
    /// Data plane AP sigv4 with fips and dualstack
11759  10131   
    #[test]
11760  10132   
    fn test_388() {
11761  10133   
        let params = crate::config::endpoint::Params::builder()
11762  10134   
            .region("us-west-2".to_string())
11763  10135   
            .bucket("myaccesspoint--test1-long1-zone-ab1--xa-s3".to_string())
11764  10136   
            .use_fips(true)
11765  10137   
            .use_dual_stack(true)
11766  10138   
            .accelerate(false)
11767  10139   
            .disable_s3_express_session_auth(true)
11768  10140   
            .build()
11769  10141   
            .expect("invalid params");
11770  10142   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11771  10143   
        let endpoint = resolver.resolve_endpoint(&params);
11772  10144   
        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");
11773  10145   
        assert_eq!(
11774  10146   
            endpoint,
11775  10147   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11776  10148   
                .url("https://myaccesspoint--test1-long1-zone-ab1--xa-s3.s3express-fips-test1-long1-zone-ab1.dualstack.us-west-2.amazonaws.com")
11777         -
                .property(
11778         -
                    "authSchemes",
11779         -
                    vec![{
11780         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11781         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11782         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11783         -
                        out.insert("signingRegion".to_string(), "us-west-2".to_string().into());
11784         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11785         -
                        out
11786         -
                    }
11787         -
                    .into()]
       10149  +
                .auth_scheme(
       10150  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
       10151  +
                        .put("disableDoubleEncoding", true)
       10152  +
                        .put("signingName", "s3express".to_string())
       10153  +
                        .put("signingRegion", "us-west-2".to_string())
11788  10154   
                )
11789  10155   
                .property("backend", "S3Express".to_string())
11790  10156   
                .build()
11791  10157   
        );
11792  10158   
    }
11793  10159   
11794  10160   
    /// Control plane with dualstack and bucket
11795  10161   
    #[test]
11796  10162   
    fn test_389() {
11797  10163   
        let params = crate::config::endpoint::Params::builder()
11798  10164   
            .region("us-east-1".to_string())
11799  10165   
            .bucket("mybucket--test-ab1--x-s3".to_string())
11800  10166   
            .use_fips(false)
11801  10167   
            .use_dual_stack(true)
11802  10168   
            .accelerate(false)
11803  10169   
            .use_s3_express_control_endpoint(true)
11804  10170   
            .build()
11805  10171   
            .expect("invalid params");
11806  10172   
        let resolver = crate::config::endpoint::DefaultResolver::new();
11807  10173   
        let endpoint = resolver.resolve_endpoint(&params);
11808  10174   
        let endpoint =
11809  10175   
            endpoint.expect("Expected valid endpoint: https://s3express-control.dualstack.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3");
11810  10176   
        assert_eq!(
11811  10177   
            endpoint,
11812  10178   
            ::aws_smithy_types::endpoint::Endpoint::builder()
11813  10179   
                .url("https://s3express-control.dualstack.us-east-1.amazonaws.com/mybucket--test-ab1--x-s3")
11814         -
                .property(
11815         -
                    "authSchemes",
11816         -
                    vec![{
11817         -
                        let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
11818         -
                        out.insert("name".to_string(), "sigv4".to_string().into());
11819         -
                        out.insert("signingName".to_string(), "s3express".to_string().into());
11820         -
                        out.insert("signingRegion".to_string(), "us-east-1".to_string().into());
11821         -
                        out.insert("disableDoubleEncoding".to_string(), true.into());
11822         -
                        out
11823         -
                    }
11824         -
                    .into()]
       10180  +
                .auth_scheme(
       10181  +
                    ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4", 3)
       10182  +
                        .put("disableDoubleEncoding", true)
       10183  +
                        .put("signingName", "s3express".to_string())
       10184  +
                        .put("signingRegion", "us-east-1".to_string())
11825  10185   
                )
11826  10186   
                .property("backend", "S3Express".to_string())
11827  10187   
                .build()
11828  10188   
        );
11829  10189   
    }
11830  10190   
}
11831  10191   
11832  10192   
/// Endpoint resolver trait specific to Amazon Simple Storage Service
11833  10193   
pub trait ResolveEndpoint: ::std::marker::Send + ::std::marker::Sync + ::std::fmt::Debug {
11834  10194   
    /// Resolve an endpoint with the given parameters
11835  10195   
    fn resolve_endpoint<'a>(&'a self, params: &'a crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a>;
11836  10196   
11837  10197   
    /// Convert this service-specific resolver into a `SharedEndpointResolver`
11838  10198   
    ///
11839  10199   
    /// The resulting resolver will downcast `EndpointResolverParams` into `crate::config::endpoint::Params`.
11840  10200   
    fn into_shared_resolver(self) -> ::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver
11841  10201   
    where
11842  10202   
        Self: Sized + 'static,
11843  10203   
    {
11844  10204   
        ::aws_smithy_runtime_api::client::endpoint::SharedEndpointResolver::new(DowncastParams(self))
11845  10205   
    }
11846  10206   
}
11847  10207   
11848  10208   
#[derive(Debug)]
11849  10209   
struct DowncastParams<T>(T);
11850  10210   
impl<T> ::aws_smithy_runtime_api::client::endpoint::ResolveEndpoint for DowncastParams<T>
11851  10211   
where
11852  10212   
    T: ResolveEndpoint,
11853  10213   
{
11854  10214   
    fn resolve_endpoint<'a>(
11855  10215   
        &'a self,
11856  10216   
        params: &'a ::aws_smithy_runtime_api::client::endpoint::EndpointResolverParams,
11857  10217   
    ) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a> {
11858  10218   
        let ep = match params.get::<crate::config::endpoint::Params>() {
11859  10219   
            Some(params) => self.0.resolve_endpoint(params),
11860  10220   
            None => ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(Err("params of expected type was not present".into())),
11861  10221   
        };
11862  10222   
        ep
11863  10223   
    }
11864  10224   
}
11865  10225   
11866  10226   
#[derive(Debug)]
11867  10227   
/// The default endpoint resolver.
11868  10228   
pub struct DefaultResolver {
11869  10229   
    partition_resolver: &'static crate::endpoint_lib::partition::PartitionResolver,
       10230  +
    endpoint_cache: ::std::sync::Mutex<::std::option::Option<(Params, ::aws_smithy_types::endpoint::Endpoint)>>,
11870  10231   
}
11871  10232   
11872  10233   
impl Default for DefaultResolver {
11873  10234   
    fn default() -> Self {
11874  10235   
        Self::new()
11875  10236   
    }
11876  10237   
}
11877  10238   
11878  10239   
impl DefaultResolver {
11879  10240   
    /// Create a new DefaultResolver
11880  10241   
    pub fn new() -> Self {
11881  10242   
        Self {
11882  10243   
            partition_resolver: &crate::endpoint_lib::DEFAULT_PARTITION_RESOLVER,
       10244  +
            endpoint_cache: ::std::sync::Mutex::new(None),
11883  10245   
        }
11884  10246   
    }
11885  10247   
11886         -
    #[allow(clippy::needless_borrow)]
11887         -
    pub(crate) fn evaluate_fn(
11888         -
        &self,
11889         -
    ) -> impl for<'a> FnMut(&ConditionFn, &'a Params, &mut ConditionContext<'a>, &mut crate::endpoint_lib::diagnostic::DiagnosticCollector) -> bool + '_
11890         -
    {
11891         -
        move |cond, params, context, _diagnostic_collector| cond.evaluate(params, context, &self.partition_resolver, _diagnostic_collector)
11892         -
    }
11893         -
11894         -
    fn resolve_endpoint<'a>(
11895         -
        &'a self,
11896         -
        params: &'a crate::config::endpoint::Params,
11897         -
    ) -> ::std::result::Result<::aws_smithy_types::endpoint::Endpoint, ::aws_smithy_runtime_api::box_error::BoxError> {
11898         -
        let mut diagnostic_collector = crate::endpoint_lib::diagnostic::DiagnosticCollector::new();
11899         -
        let mut condition_context = ConditionContext::default();
11900         -
        let result = crate::endpoint_lib::bdd_interpreter::evaluate_bdd(
11901         -
            &NODES,
11902         -
            &CONDITIONS,
11903         -
            &RESULTS,
11904         -
            521,
11905         -
            params,
11906         -
            &mut condition_context,
11907         -
            &mut diagnostic_collector,
11908         -
            self.evaluate_fn(),
11909         -
        );
11910         -
11911         -
        match result {
11912         -
            ::std::option::Option::Some(endpoint) => match endpoint.to_endpoint(params, &condition_context) {
11913         -
                Ok(ep) => Ok(ep),
11914         -
                Err(err) => Err(Box::new(err)),
11915         -
            },
11916         -
            ::std::option::Option::None => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
11917         -
                "No endpoint rule matched",
11918         -
            ))),
11919         -
        }
11920         -
    }
11921         -
}
11922         -
11923         -
impl crate::config::endpoint::ResolveEndpoint for DefaultResolver {
11924         -
    fn resolve_endpoint<'a>(&'a self, params: &'a crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a> {
11925         -
        let result = self.resolve_endpoint(params);
11926         -
11927         -
        ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(result)
11928         -
    }
11929         -
}
11930         -
#[derive(Debug)]
11931         -
pub(crate) enum ConditionFn {
11932         -
    Cond0,
11933         -
    Cond1,
11934         -
    Cond2,
11935         -
    Cond3,
11936         -
    Cond4,
11937         -
    Cond5,
11938         -
    Cond6,
11939         -
    Cond7,
11940         -
    Cond8,
11941         -
    Cond9,
11942         -
    Cond10,
11943         -
    Cond11,
11944         -
    Cond12,
11945         -
    Cond13,
11946         -
    Cond14,
11947         -
    Cond15,
11948         -
    Cond16,
11949         -
    Cond17,
11950         -
    Cond18,
11951         -
    Cond19,
11952         -
    Cond20,
11953         -
    Cond21,
11954         -
    Cond22,
11955         -
    Cond23,
11956         -
    Cond24,
11957         -
    Cond25,
11958         -
    Cond26,
11959         -
    Cond27,
11960         -
    Cond28,
11961         -
    Cond29,
11962         -
    Cond30,
11963         -
    Cond31,
11964         -
    Cond32,
11965         -
    Cond33,
11966         -
    Cond34,
11967         -
    Cond35,
11968         -
    Cond36,
11969         -
    Cond37,
11970         -
    Cond38,
11971         -
    Cond39,
11972         -
    Cond40,
11973         -
    Cond41,
11974         -
    Cond42,
11975         -
    Cond43,
11976         -
    Cond44,
11977         -
    Cond45,
11978         -
    Cond46,
11979         -
    Cond47,
11980         -
    Cond48,
11981         -
    Cond49,
11982         -
    Cond50,
11983         -
    Cond51,
11984         -
    Cond52,
11985         -
    Cond53,
11986         -
    Cond54,
11987         -
    Cond55,
11988         -
    Cond56,
11989         -
    Cond57,
11990         -
    Cond58,
11991         -
    Cond59,
11992         -
    Cond60,
11993         -
    Cond61,
11994         -
    Cond62,
11995         -
    Cond63,
11996         -
    Cond64,
11997         -
    Cond65,
11998         -
    Cond66,
11999         -
    Cond67,
12000         -
    Cond68,
12001         -
    Cond69,
12002         -
    Cond70,
12003         -
    Cond71,
12004         -
    Cond72,
12005         -
    Cond73,
12006         -
    Cond74,
12007         -
    Cond75,
12008         -
}
12009         -
12010         -
impl ConditionFn {
12011  10248   
    #[allow(
12012  10249   
        unused_variables,
12013  10250   
        unused_parens,
12014  10251   
        clippy::double_parens,
12015  10252   
        clippy::useless_conversion,
12016  10253   
        clippy::bool_comparison,
12017  10254   
        clippy::comparison_to_empty,
12018  10255   
        clippy::needless_borrow,
12019         -
        clippy::useless_asref
       10256  +
        clippy::useless_asref,
       10257  +
        clippy::redundant_closure_call
12020  10258   
    )]
12021         -
    fn evaluate<'a>(
12022         -
        &self,
12023         -
        params: &'a Params,
12024         -
        context: &mut ConditionContext<'a>,
12025         -
        partition_resolver: &'a crate::endpoint_lib::partition::PartitionResolver,
12026         -
        _diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector,
12027         -
    ) -> bool {
       10259  +
    fn resolve_endpoint<'a>(
       10260  +
        &'a self,
       10261  +
        params: &'a crate::config::endpoint::Params,
       10262  +
    ) -> ::std::result::Result<::aws_smithy_types::endpoint::Endpoint, ::aws_smithy_runtime_api::box_error::BoxError> {
       10263  +
        let mut _diagnostic_collector = crate::endpoint_lib::diagnostic::DiagnosticCollector::new();
       10264  +
        let mut context = ConditionContext::default();
       10265  +
12028  10266   
        // Param bindings
12029  10267   
        let bucket = &params.bucket;
12030  10268   
        let region = &params.region;
12031  10269   
        let use_fips = &params.use_fips;
12032  10270   
        let use_dual_stack = &params.use_dual_stack;
12033  10271   
        let endpoint = &params.endpoint;
12034  10272   
        let force_path_style = &params.force_path_style;
12035  10273   
        let accelerate = &params.accelerate;
12036  10274   
        let use_global_endpoint = &params.use_global_endpoint;
12037  10275   
        let use_object_lambda_endpoint = &params.use_object_lambda_endpoint;
12038  10276   
        let key = &params.key;
12039  10277   
        let prefix = &params.prefix;
12040  10278   
        let copy_source = &params.copy_source;
12041  10279   
        let disable_access_points = &params.disable_access_points;
12042  10280   
        let disable_multi_region_access_points = &params.disable_multi_region_access_points;
12043  10281   
        let use_arn_region = &params.use_arn_region;
12044  10282   
        let use_s3_express_control_endpoint = &params.use_s3_express_control_endpoint;
12045  10283   
        let disable_s3_express_session_auth = &params.disable_s3_express_session_auth;
12046  10284   
12047         -
        // Non-Param references
12048         -
        let effective_std_region = &mut context.effective_std_region;
12049         -
        let partition_result = &mut context.partition_result;
12050         -
        let url = &mut context.url;
12051         -
        let access_point_suffix = &mut context.access_point_suffix;
12052         -
        let region_prefix = &mut context.region_prefix;
12053         -
        let hardware_type = &mut context.hardware_type;
12054         -
        let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
12055         -
        let s3_e_ds = &mut context.s3_e_ds;
12056         -
        let s3_e_fips = &mut context.s3_e_fips;
12057         -
        let s3_e_auth = &mut context.s3_e_auth;
12058         -
        let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
12059         -
        let bucket_arn = &mut context.bucket_arn;
12060         -
        let effective_arn_region = &mut context.effective_arn_region;
12061         -
        let uri_encoded_bucket = &mut context.uri_encoded_bucket;
12062         -
        let arn_type = &mut context.arn_type;
12063         -
        let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
12064         -
        let bucket_partition = &mut context.bucket_partition;
12065         -
        let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
12066         -
        let outpost_type = &mut context.outpost_type;
12067         -
        let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
12068         -
        match self {
12069         -
            Self::Cond0 => region.is_some(),
12070         -
            Self::Cond1 => {
12071         -
                *effective_std_region = Some(
12072         -
                    crate::endpoint_lib::ite::ite!(
12073         -
                        (region) == &mut Some(("aws-global".into())),
12074         -
                        "us-east-1".to_string(),
12075         -
                        region.clone().expect("Reference already confirmed Some")
       10285  +
        let mut current_ref: i32 = 521;
       10286  +
        loop {
       10287  +
            match current_ref {
       10288  +
                ref_val if ref_val >= 100_000_000 => {
       10289  +
                    return match (ref_val - 100_000_000) as usize {
       10290  +
                        0 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10291  +
                            "No endpoint rule matched",
       10292  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10293  +
                        1 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10294  +
                            "Accelerate cannot be used with FIPS".to_string(),
       10295  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10296  +
                        2 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10297  +
                            "Cannot set dual-stack in combination with a custom endpoint.".to_string(),
       10298  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10299  +
                        3 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10300  +
                            "A custom endpoint cannot be combined with FIPS".to_string(),
       10301  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10302  +
                        4 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10303  +
                            "A custom endpoint cannot be combined with S3 Accelerate".to_string(),
       10304  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10305  +
                        5 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10306  +
                            "Partition does not support FIPS".to_string(),
       10307  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10308  +
                        6 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10309  +
                            "S3Express does not support S3 Accelerate.".to_string(),
       10310  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10311  +
                        7 => {
       10312  +
                            let effective_std_region = context
       10313  +
                                .effective_std_region
       10314  +
                                .as_ref()
       10315  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10316  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10317  +
                            let s3_e_auth = context.s3_e_auth.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10318  +
                            let uri_encoded_bucket = context
       10319  +
                                .uri_encoded_bucket
       10320  +
                                .as_ref()
       10321  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10322  +
                            ::std::result::Result::Ok(
       10323  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10324  +
                                    .url({
       10325  +
                                        let mut out = String::new();
       10326  +
                                        #[allow(clippy::needless_borrow)]
       10327  +
                                        out.push_str(&url.scheme());
       10328  +
                                        out.push_str("://");
       10329  +
                                        #[allow(clippy::needless_borrow)]
       10330  +
                                        out.push_str(&url.authority());
       10331  +
                                        out.push('/');
       10332  +
                                        #[allow(clippy::needless_borrow)]
       10333  +
                                        out.push_str(&uri_encoded_bucket.as_ref());
       10334  +
                                        #[allow(clippy::needless_borrow)]
       10335  +
                                        out.push_str(&url.path());
       10336  +
                                        out
       10337  +
                                    })
       10338  +
                                    .property("backend", "S3Express".to_string())
       10339  +
                                    .auth_scheme(
       10340  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity(s3_e_auth.to_owned(), 3)
       10341  +
                                            .put("disableDoubleEncoding", true)
       10342  +
                                            .put("signingName", "s3express")
       10343  +
                                            .put("signingRegion", effective_std_region.as_ref()),
12076  10344   
                                    )
12077         -
                    .into(),
12078         -
                );
12079         -
                true
12080         -
            }
12081         -
            Self::Cond2 => (accelerate) == (&true),
12082         -
            Self::Cond3 => (use_fips) == (&true),
12083         -
            Self::Cond4 => endpoint.is_some(),
12084         -
            Self::Cond5 => (use_dual_stack) == (&true),
12085         -
            Self::Cond6 => bucket.is_some(),
12086         -
            Self::Cond7 => {
12087         -
                (crate::endpoint_lib::coalesce::coalesce!(
12088         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12089         -
                        if let Some(param) = bucket { param } else { return false },
12090         -
                        0,
12091         -
                        6,
12092         -
                        true,
12093         -
                        _diagnostic_collector
12094         -
                    ) {
12095         -
                        inner
12096         -
                    } else {
12097         -
                        return false;
12098         -
                    },
12099         -
                    ""
12100         -
                )) == ("--x-s3")
12101         -
            }
12102         -
            Self::Cond8 => {
12103         -
                (crate::endpoint_lib::coalesce::coalesce!(
12104         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12105         -
                        if let Some(param) = bucket { param } else { return false },
12106         -
                        0,
12107         -
                        7,
12108         -
                        true,
12109         -
                        _diagnostic_collector
12110         -
                    ) {
12111         -
                        inner
12112         -
                    } else {
12113         -
                        return false;
12114         -
                    },
12115         -
                    ""
12116         -
                )) == ("--xa-s3")
12117         -
            }
12118         -
            Self::Cond9 => {
12119         -
                *partition_result = partition_resolver
12120         -
                    .resolve_partition(if let Some(param) = region { param } else { return false }, _diagnostic_collector)
12121         -
                    .map(|inner| inner.into());
12122         -
                partition_result.is_some()
12123         -
            }
12124         -
            Self::Cond10 => {
12125         -
                *url =
12126         -
                    crate::endpoint_lib::parse_url::parse_url(if let Some(param) = endpoint { param } else { return false }, _diagnostic_collector)
12127         -
                        .map(|inner| inner.into());
12128         -
                url.is_some()
12129         -
            }
12130         -
            Self::Cond11 => {
12131         -
                *access_point_suffix = crate::endpoint_lib::substring::substring(
12132         -
                    if let Some(param) = bucket { param } else { return false },
12133         -
                    0,
12134         -
                    7,
12135         -
                    true,
12136         -
                    _diagnostic_collector,
       10345  +
                                    .build(),
12137  10346   
                            )
12138         -
                .map(|inner| inner.into());
12139         -
                access_point_suffix.is_some()
12140  10347   
                        }
12141         -
            Self::Cond12 => (access_point_suffix) == &mut Some(("--op-s3".into())),
12142         -
            Self::Cond13 => {
12143         -
                *region_prefix = crate::endpoint_lib::substring::substring(
12144         -
                    if let Some(param) = bucket { param } else { return false },
12145         -
                    8,
12146         -
                    12,
12147         -
                    true,
12148         -
                    _diagnostic_collector,
       10348  +
                        8 => {
       10349  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10350  +
                            let effective_std_region = context
       10351  +
                                .effective_std_region
       10352  +
                                .as_ref()
       10353  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10354  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10355  +
                            let s3_e_auth = context.s3_e_auth.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10356  +
                            ::std::result::Result::Ok(
       10357  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10358  +
                                    .url({
       10359  +
                                        let mut out = String::new();
       10360  +
                                        #[allow(clippy::needless_borrow)]
       10361  +
                                        out.push_str(&url.scheme());
       10362  +
                                        out.push_str("://");
       10363  +
                                        #[allow(clippy::needless_borrow)]
       10364  +
                                        out.push_str(&bucket.as_ref());
       10365  +
                                        out.push('.');
       10366  +
                                        #[allow(clippy::needless_borrow)]
       10367  +
                                        out.push_str(&url.authority());
       10368  +
                                        #[allow(clippy::needless_borrow)]
       10369  +
                                        out.push_str(&url.path());
       10370  +
                                        out
       10371  +
                                    })
       10372  +
                                    .property("backend", "S3Express".to_string())
       10373  +
                                    .auth_scheme(
       10374  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity(s3_e_auth.to_owned(), 3)
       10375  +
                                            .put("disableDoubleEncoding", true)
       10376  +
                                            .put("signingName", "s3express")
       10377  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10378  +
                                    )
       10379  +
                                    .build(),
12149  10380   
                            )
12150         -
                .map(|inner| inner.into());
12151         -
                region_prefix.is_some()
12152  10381   
                        }
12153         -
            Self::Cond14 => {
12154         -
                *hardware_type = crate::endpoint_lib::substring::substring(
12155         -
                    if let Some(param) = bucket { param } else { return false },
12156         -
                    49,
12157         -
                    50,
12158         -
                    true,
12159         -
                    _diagnostic_collector,
       10382  +
                        9 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10383  +
                            "S3Express bucket name is not a valid virtual hostable name.".to_string(),
       10384  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10385  +
                        10 => {
       10386  +
                            let effective_std_region = context
       10387  +
                                .effective_std_region
       10388  +
                                .as_ref()
       10389  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10390  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10391  +
                            let s3_e_ds = context.s3_e_ds.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10392  +
                            let s3_e_fips = context.s3_e_fips.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10393  +
                            let uri_encoded_bucket = context
       10394  +
                                .uri_encoded_bucket
       10395  +
                                .as_ref()
       10396  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10397  +
                            ::std::result::Result::Ok(
       10398  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10399  +
                                    .url({
       10400  +
                                        let mut out = String::new();
       10401  +
                                        out.push_str("https://s3express-control");
       10402  +
                                        #[allow(clippy::needless_borrow)]
       10403  +
                                        out.push_str(&s3_e_fips.as_ref());
       10404  +
                                        #[allow(clippy::needless_borrow)]
       10405  +
                                        out.push_str(&s3_e_ds.as_ref());
       10406  +
                                        out.push('.');
       10407  +
                                        #[allow(clippy::needless_borrow)]
       10408  +
                                        out.push_str(&effective_std_region.as_ref());
       10409  +
                                        out.push('.');
       10410  +
                                        #[allow(clippy::needless_borrow)]
       10411  +
                                        out.push_str(&partition_result.dns_suffix());
       10412  +
                                        out.push('/');
       10413  +
                                        #[allow(clippy::needless_borrow)]
       10414  +
                                        out.push_str(&uri_encoded_bucket.as_ref());
       10415  +
                                        out
       10416  +
                                    })
       10417  +
                                    .property("backend", "S3Express".to_string())
       10418  +
                                    .auth_scheme(
       10419  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10420  +
                                            .put("disableDoubleEncoding", true)
       10421  +
                                            .put("signingName", "s3express")
       10422  +
                                            .put("signingRegion", effective_std_region.as_ref()),
12160  10423   
                                    )
12161         -
                .map(|inner| inner.into());
12162         -
                hardware_type.is_some()
12163         -
            }
12164         -
            Self::Cond15 => {
12165         -
                *outpost_id_ssa_2 = crate::endpoint_lib::substring::substring(
12166         -
                    if let Some(param) = bucket { param } else { return false },
12167         -
                    32,
12168         -
                    49,
12169         -
                    true,
12170         -
                    _diagnostic_collector,
       10424  +
                                    .build(),
12171  10425   
                            )
12172         -
                .map(|inner| inner.into());
12173         -
                outpost_id_ssa_2.is_some()
12174         -
            }
12175         -
            Self::Cond16 => {
12176         -
                (if let Some(inner) = partition_result {
12177         -
                    inner.name()
12178         -
                } else {
12179         -
                    return false;
12180         -
                }) == ("aws-cn")
12181  10426   
                        }
12182         -
            Self::Cond17 => {
12183         -
                *s3_e_ds = Some(crate::endpoint_lib::ite::ite!(use_dual_stack, ".dualstack".to_string(), "".to_string()).into());
12184         -
                true
       10427  +
                        11 => {
       10428  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10429  +
                            let effective_std_region = context
       10430  +
                                .effective_std_region
       10431  +
                                .as_ref()
       10432  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10433  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10434  +
                            let s3_e_ds = context.s3_e_ds.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10435  +
                            let s3_e_fips = context.s3_e_fips.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10436  +
                            let s3_e_auth = context.s3_e_auth.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10437  +
                            let s3express_availability_zone_id = context
       10438  +
                                .s3express_availability_zone_id
       10439  +
                                .as_ref()
       10440  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10441  +
                            ::std::result::Result::Ok(
       10442  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10443  +
                                    .url({
       10444  +
                                        let mut out = String::new();
       10445  +
                                        out.push_str("https://");
       10446  +
                                        #[allow(clippy::needless_borrow)]
       10447  +
                                        out.push_str(&bucket.as_ref());
       10448  +
                                        out.push_str(".s3express");
       10449  +
                                        #[allow(clippy::needless_borrow)]
       10450  +
                                        out.push_str(&s3_e_fips.as_ref());
       10451  +
                                        out.push('-');
       10452  +
                                        #[allow(clippy::needless_borrow)]
       10453  +
                                        out.push_str(&s3express_availability_zone_id.as_ref());
       10454  +
                                        #[allow(clippy::needless_borrow)]
       10455  +
                                        out.push_str(&s3_e_ds.as_ref());
       10456  +
                                        out.push('.');
       10457  +
                                        #[allow(clippy::needless_borrow)]
       10458  +
                                        out.push_str(&effective_std_region.as_ref());
       10459  +
                                        out.push('.');
       10460  +
                                        #[allow(clippy::needless_borrow)]
       10461  +
                                        out.push_str(&partition_result.dns_suffix());
       10462  +
                                        out
       10463  +
                                    })
       10464  +
                                    .property("backend", "S3Express".to_string())
       10465  +
                                    .auth_scheme(
       10466  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity(s3_e_auth.to_owned(), 3)
       10467  +
                                            .put("disableDoubleEncoding", true)
       10468  +
                                            .put("signingName", "s3express")
       10469  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10470  +
                                    )
       10471  +
                                    .build(),
       10472  +
                            )
12185  10473   
                        }
12186         -
            Self::Cond18 => {
12187         -
                *s3_e_fips = Some(crate::endpoint_lib::ite::ite!(use_fips, "-fips".to_string(), "".to_string()).into());
12188         -
                true
       10474  +
                        12 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10475  +
                            "Unrecognized S3Express bucket name format.".to_string(),
       10476  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10477  +
                        13 => {
       10478  +
                            let effective_std_region = context
       10479  +
                                .effective_std_region
       10480  +
                                .as_ref()
       10481  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10482  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10483  +
                            let s3_e_auth = context.s3_e_auth.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10484  +
                            ::std::result::Result::Ok(
       10485  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10486  +
                                    .url({
       10487  +
                                        let mut out = String::new();
       10488  +
                                        #[allow(clippy::needless_borrow)]
       10489  +
                                        out.push_str(&url.scheme());
       10490  +
                                        out.push_str("://");
       10491  +
                                        #[allow(clippy::needless_borrow)]
       10492  +
                                        out.push_str(&url.authority());
       10493  +
                                        #[allow(clippy::needless_borrow)]
       10494  +
                                        out.push_str(&url.path());
       10495  +
                                        out
       10496  +
                                    })
       10497  +
                                    .property("backend", "S3Express".to_string())
       10498  +
                                    .auth_scheme(
       10499  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity(s3_e_auth.to_owned(), 3)
       10500  +
                                            .put("disableDoubleEncoding", true)
       10501  +
                                            .put("signingName", "s3express")
       10502  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10503  +
                                    )
       10504  +
                                    .build(),
       10505  +
                            )
12189  10506   
                        }
12190         -
            Self::Cond19 => (force_path_style) == (&true),
12191         -
            Self::Cond20 => {
12192         -
                *s3_e_auth = Some(
12193         -
                    crate::endpoint_lib::ite::ite!(
12194         -
                        crate::endpoint_lib::coalesce::coalesce!(*disable_s3_express_session_auth, false),
12195         -
                        "sigv4".to_string(),
12196         -
                        "sigv4-s3express".to_string()
       10507  +
                        14 => {
       10508  +
                            let effective_std_region = context
       10509  +
                                .effective_std_region
       10510  +
                                .as_ref()
       10511  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10512  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10513  +
                            let s3_e_ds = context.s3_e_ds.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10514  +
                            let s3_e_fips = context.s3_e_fips.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10515  +
                            ::std::result::Result::Ok(
       10516  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10517  +
                                    .url({
       10518  +
                                        let mut out = String::new();
       10519  +
                                        out.push_str("https://s3express-control");
       10520  +
                                        #[allow(clippy::needless_borrow)]
       10521  +
                                        out.push_str(&s3_e_fips.as_ref());
       10522  +
                                        #[allow(clippy::needless_borrow)]
       10523  +
                                        out.push_str(&s3_e_ds.as_ref());
       10524  +
                                        out.push('.');
       10525  +
                                        #[allow(clippy::needless_borrow)]
       10526  +
                                        out.push_str(&effective_std_region.as_ref());
       10527  +
                                        out.push('.');
       10528  +
                                        #[allow(clippy::needless_borrow)]
       10529  +
                                        out.push_str(&partition_result.dns_suffix());
       10530  +
                                        out
       10531  +
                                    })
       10532  +
                                    .property("backend", "S3Express".to_string())
       10533  +
                                    .auth_scheme(
       10534  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10535  +
                                            .put("disableDoubleEncoding", true)
       10536  +
                                            .put("signingName", "s3express")
       10537  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10538  +
                                    )
       10539  +
                                    .build(),
12197  10540   
                            )
12198         -
                    .into(),
12199         -
                );
12200         -
                true
12201  10541   
                        }
12202         -
            Self::Cond21 => crate::endpoint_lib::s3::is_virtual_hostable_s3_bucket(
12203         -
                if let Some(param) = bucket { param } else { return false },
12204         -
                false,
12205         -
                _diagnostic_collector,
12206         -
            ),
12207         -
            Self::Cond22 => {
12208         -
                *s3express_availability_zone_id = crate::endpoint_lib::split::split(
12209         -
                    if let Some(param) = bucket { param } else { return false },
12210         -
                    "--",
12211         -
                    0,
12212         -
                    _diagnostic_collector,
       10542  +
                        15 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10543  +
                            "Expected a endpoint to be specified but no endpoint was found".to_string(),
       10544  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10545  +
                        16 => {
       10546  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10547  +
                            let effective_std_region = context
       10548  +
                                .effective_std_region
       10549  +
                                .as_ref()
       10550  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10551  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10552  +
                            ::std::result::Result::Ok(
       10553  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10554  +
                                    .url({
       10555  +
                                        let mut out = String::new();
       10556  +
                                        out.push_str("https://");
       10557  +
                                        #[allow(clippy::needless_borrow)]
       10558  +
                                        out.push_str(&bucket.as_ref());
       10559  +
                                        out.push_str(".ec2.");
       10560  +
                                        #[allow(clippy::needless_borrow)]
       10561  +
                                        out.push_str(&url.authority());
       10562  +
                                        out
       10563  +
                                    })
       10564  +
                                    .auth_scheme(
       10565  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a".to_string(), 3)
       10566  +
                                            .put("disableDoubleEncoding", true)
       10567  +
                                            .put("signingName", "s3-outposts")
       10568  +
                                            .put("signingRegionSet", vec![::aws_smithy_types::Document::from("*".to_string())]),
       10569  +
                                    )
       10570  +
                                    .auth_scheme(
       10571  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10572  +
                                            .put("disableDoubleEncoding", true)
       10573  +
                                            .put("signingName", "s3-outposts")
       10574  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10575  +
                                    )
       10576  +
                                    .build(),
12213  10577   
                            )
12214         -
                .get(1)
12215         -
                .cloned()
12216         -
                .map(|inner| inner.into());
12217         -
                s3express_availability_zone_id.is_some()
12218  10578   
                        }
12219         -
            Self::Cond23 => crate::endpoint_lib::host::is_valid_host_label(
12220         -
                if let Some(param) = outpost_id_ssa_2 { param } else { return false },
12221         -
                false,
12222         -
                _diagnostic_collector,
12223         -
            ),
12224         -
            Self::Cond24 => (crate::endpoint_lib::coalesce::coalesce!(*use_s3_express_control_endpoint, false)) == (true),
12225         -
            Self::Cond25 => (region_prefix) == &mut Some(("beta".into())),
12226         -
            Self::Cond26 => crate::endpoint_lib::s3::is_virtual_hostable_s3_bucket(
12227         -
                if let Some(param) = bucket { param } else { return false },
12228         -
                true,
12229         -
                _diagnostic_collector,
12230         -
            ),
12231         -
            Self::Cond27 => {
12232         -
                (crate::endpoint_lib::coalesce::coalesce!(
12233         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12234         -
                        if let Some(param) = bucket { param } else { return false },
12235         -
                        16,
12236         -
                        18,
12237         -
                        true,
12238         -
                        _diagnostic_collector
12239         -
                    ) {
12240         -
                        inner
12241         -
                    } else {
12242         -
                        return false;
12243         -
                    },
12244         -
                    ""
12245         -
                )) == ("--")
       10579  +
                        17 => {
       10580  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10581  +
                            let effective_std_region = context
       10582  +
                                .effective_std_region
       10583  +
                                .as_ref()
       10584  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10585  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10586  +
                            ::std::result::Result::Ok(
       10587  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10588  +
                                    .url({
       10589  +
                                        let mut out = String::new();
       10590  +
                                        out.push_str("https://");
       10591  +
                                        #[allow(clippy::needless_borrow)]
       10592  +
                                        out.push_str(&bucket.as_ref());
       10593  +
                                        out.push_str(".ec2.s3-outposts.");
       10594  +
                                        #[allow(clippy::needless_borrow)]
       10595  +
                                        out.push_str(&effective_std_region.as_ref());
       10596  +
                                        out.push('.');
       10597  +
                                        #[allow(clippy::needless_borrow)]
       10598  +
                                        out.push_str(&partition_result.dns_suffix());
       10599  +
                                        out
       10600  +
                                    })
       10601  +
                                    .auth_scheme(
       10602  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a".to_string(), 3)
       10603  +
                                            .put("disableDoubleEncoding", true)
       10604  +
                                            .put("signingName", "s3-outposts")
       10605  +
                                            .put("signingRegionSet", vec![::aws_smithy_types::Document::from("*".to_string())]),
       10606  +
                                    )
       10607  +
                                    .auth_scheme(
       10608  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10609  +
                                            .put("disableDoubleEncoding", true)
       10610  +
                                            .put("signingName", "s3-outposts")
       10611  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10612  +
                                    )
       10613  +
                                    .build(),
       10614  +
                            )
12246  10615   
                        }
12247         -
            Self::Cond28 => {
12248         -
                (crate::endpoint_lib::coalesce::coalesce!(
12249         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12250         -
                        if let Some(param) = bucket { param } else { return false },
12251         -
                        21,
12252         -
                        23,
12253         -
                        true,
12254         -
                        _diagnostic_collector
12255         -
                    ) {
12256         -
                        inner
12257         -
                    } else {
12258         -
                        return false;
12259         -
                    },
12260         -
                    ""
12261         -
                )) == ("--")
       10616  +
                        18 => {
       10617  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       10618  +
                            let effective_std_region = context
       10619  +
                                .effective_std_region
       10620  +
                                .as_ref()
       10621  +
                                .expect("Guaranteed to have a value by earlier checks.");
       10622  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10623  +
                            let outpost_id_ssa_2 = context.outpost_id_ssa_2.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10624  +
                            ::std::result::Result::Ok(
       10625  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       10626  +
                                    .url({
       10627  +
                                        let mut out = String::new();
       10628  +
                                        out.push_str("https://");
       10629  +
                                        #[allow(clippy::needless_borrow)]
       10630  +
                                        out.push_str(&bucket.as_ref());
       10631  +
                                        out.push_str(".op-");
       10632  +
                                        #[allow(clippy::needless_borrow)]
       10633  +
                                        out.push_str(&outpost_id_ssa_2.as_ref());
       10634  +
                                        out.push('.');
       10635  +
                                        #[allow(clippy::needless_borrow)]
       10636  +
                                        out.push_str(&url.authority());
       10637  +
                                        out
       10638  +
                                    })
       10639  +
                                    .auth_scheme(
       10640  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a".to_string(), 3)
       10641  +
                                            .put("disableDoubleEncoding", true)
       10642  +
                                            .put("signingName", "s3-outposts")
       10643  +
                                            .put("signingRegionSet", vec![::aws_smithy_types::Document::from("*".to_string())]),
       10644  +
                                    )
       10645  +
                                    .auth_scheme(
       10646  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10647  +
                                            .put("disableDoubleEncoding", true)
       10648  +
                                            .put("signingName", "s3-outposts")
       10649  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       10650  +
                                    )
       10651  +
                                    .build(),
       10652  +
                            )
12262  10653   
                        }
12263         -
            Self::Cond29 => (if let Some(inner) = url { inner.scheme() } else { return false }) == ("http"),
12264         -
            Self::Cond30 => crate::endpoint_lib::host::is_valid_host_label(
12265         -
                if let Some(param) = region { param } else { return false },
12266         -
                false,
12267         -
                _diagnostic_collector,
12268         -
            ),
12269         -
            Self::Cond31 => {
12270         -
                *bucket_arn = crate::endpoint_lib::arn::parse_arn(if let Some(param) = bucket { param } else { return false }, _diagnostic_collector)
12271         -
                    .map(|inner| inner.into());
12272         -
                bucket_arn.is_some()
12273         -
            }
12274         -
            Self::Cond32 => {
12275         -
                (crate::endpoint_lib::coalesce::coalesce!(
12276         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12277         -
                        if let Some(param) = bucket { param } else { return false },
12278         -
                        27,
12279         -
                        29,
12280         -
                        true,
12281         -
                        _diagnostic_collector
12282         -
                    ) {
12283         -
                        inner
12284         -
                    } else {
12285         -
                        return false;
12286         -
                    },
12287         -
                    ""
12288         -
                )) == ("--")
12289         -
            }
12290         -
            Self::Cond33 => {
12291         -
                *effective_arn_region = Some(
12292         -
                    crate::endpoint_lib::ite::ite!(
12293         -
                        crate::endpoint_lib::coalesce::coalesce!(*use_arn_region, true),
12294         -
                        if let Some(inner) = bucket_arn { inner.region() } else { return false }.to_string(),
12295         -
                        region.clone().expect("Reference already confirmed Some")
12296         -
                    )
12297         -
                    .into(),
12298         -
                );
12299         -
                true
12300         -
            }
12301         -
            Self::Cond34 => (if let Some(inner) = url { inner.is_ip() } else { return false }) == (true),
12302         -
            Self::Cond35 => {
12303         -
                (crate::endpoint_lib::coalesce::coalesce!(
12304         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12305         -
                        if let Some(param) = bucket { param } else { return false },
12306         -
                        0,
12307         -
                        4,
12308         -
                        false,
12309         -
                        _diagnostic_collector
12310         -
                    ) {
12311         -
                        inner
12312         -
                    } else {
12313         -
                        return false;
12314         -
                    },
12315         -
                    ""
12316         -
                )) == ("arn:")
12317         -
            }
12318         -
            Self::Cond36 => {
12319         -
                *uri_encoded_bucket = Some(
12320         -
                    crate::endpoint_lib::uri_encode::uri_encode(if let Some(param) = bucket { param } else { return false }, _diagnostic_collector)
12321         -
                        .into(),
12322         -
                );
12323         -
                true
12324         -
            }
12325         -
            Self::Cond37 => (crate::endpoint_lib::coalesce::coalesce!(*use_object_lambda_endpoint, false)) == (true),
12326         -
            Self::Cond38 => {
12327         -
                *arn_type = if let Some(inner) = bucket_arn {
12328         -
                    inner.resource_id().first().cloned()
12329         -
                } else {
12330         -
                    return false;
12331         -
                }
12332         -
                .map(|inner| inner.into());
12333         -
                arn_type.is_some()
12334         -
            }
12335         -
            Self::Cond39 => (arn_type) == &mut Some(("".into())),
12336         -
            Self::Cond40 => (arn_type) == &mut Some(("accesspoint".into())),
12337         -
            Self::Cond41 => {
12338         -
                *access_point_name_ssa_1 = if let Some(inner) = bucket_arn {
12339         -
                    inner.resource_id().get(1).cloned()
12340         -
                } else {
12341         -
                    return false;
12342         -
                }
12343         -
                .map(|inner| inner.into());
12344         -
                access_point_name_ssa_1.is_some()
12345         -
            }
12346         -
            Self::Cond42 => (access_point_name_ssa_1) == &mut Some(("".into())),
12347         -
            Self::Cond43 => (if let Some(inner) = bucket_arn { inner.service() } else { return false }) == ("s3-object-lambda"),
12348         -
            Self::Cond44 => crate::endpoint_lib::host::is_valid_host_label(
12349         -
                if let Some(param) = region { param } else { return false },
12350         -
                true,
12351         -
                _diagnostic_collector,
12352         -
            ),
12353         -
            Self::Cond45 => (if let Some(inner) = bucket_arn { inner.region() } else { return false }) == (""),
12354         -
            Self::Cond46 => (hardware_type) == &mut Some(("e".into())),
12355         -
            Self::Cond47 => {
12356         -
                (crate::endpoint_lib::coalesce::coalesce!(
12357         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12358         -
                        if let Some(param) = bucket { param } else { return false },
12359         -
                        26,
12360         -
                        28,
12361         -
                        true,
12362         -
                        _diagnostic_collector
12363         -
                    ) {
12364         -
                        inner
12365         -
                    } else {
12366         -
                        return false;
12367         -
                    },
12368         -
                    ""
12369         -
                )) == ("--")
12370         -
            }
12371         -
            Self::Cond48 => {
12372         -
                (crate::endpoint_lib::coalesce::coalesce!(
12373         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12374         -
                        if let Some(param) = bucket { param } else { return false },
12375         -
                        19,
12376         -
                        21,
12377         -
                        true,
12378         -
                        _diagnostic_collector
12379         -
                    ) {
12380         -
                        inner
12381         -
                    } else {
12382         -
                        return false;
12383         -
                    },
12384         -
                    ""
12385         -
                )) == ("--")
12386         -
            }
12387         -
            Self::Cond49 => {
12388         -
                (crate::endpoint_lib::coalesce::coalesce!(
12389         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12390         -
                        if let Some(param) = bucket { param } else { return false },
12391         -
                        14,
12392         -
                        16,
12393         -
                        true,
12394         -
                        _diagnostic_collector
12395         -
                    ) {
12396         -
                        inner
12397         -
                    } else {
12398         -
                        return false;
12399         -
                    },
12400         -
                    ""
12401         -
                )) == ("--")
12402         -
            }
12403         -
            Self::Cond50 => {
12404         -
                (crate::endpoint_lib::coalesce::coalesce!(
12405         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12406         -
                        if let Some(param) = bucket { param } else { return false },
12407         -
                        20,
12408         -
                        22,
12409         -
                        true,
12410         -
                        _diagnostic_collector
12411         -
                    ) {
12412         -
                        inner
12413         -
                    } else {
12414         -
                        return false;
12415         -
                    },
12416         -
                    ""
12417         -
                )) == ("--")
12418         -
            }
12419         -
            Self::Cond51 => {
12420         -
                (crate::endpoint_lib::coalesce::coalesce!(
12421         -
                    if let Some(inner) = crate::endpoint_lib::substring::substring(
12422         -
                        if let Some(param) = bucket { param } else { return false },
12423         -
                        15,
12424         -
                        17,
12425         -
                        true,
12426         -
                        _diagnostic_collector
12427         -
                    ) {
12428         -
                        inner
12429         -
                    } else {
12430         -
                        return false;
12431         -
                    },
12432         -
                    ""
12433         -
                )) == ("--")
12434         -
            }
12435         -
            Self::Cond52 => (if let Some(inner) = bucket_arn { inner.service() } else { return false }) == ("s3-outposts"),
12436         -
            Self::Cond53 => (crate::endpoint_lib::coalesce::coalesce!(*disable_access_points, false)) == (true),
12437         -
            Self::Cond54 => {
12438         -
                *bucket_partition = partition_resolver
12439         -
                    .resolve_partition(
12440         -
                        if let Some(param) = effective_arn_region { param } else { return false },
12441         -
                        _diagnostic_collector,
12442         -
                    )
12443         -
                    .map(|inner| inner.into());
12444         -
                bucket_partition.is_some()
12445         -
            }
12446         -
            Self::Cond55 => (hardware_type) == &mut Some(("o".into())),
12447         -
            Self::Cond56 => if let Some(inner) = bucket_arn {
12448         -
                inner.resource_id().get(4).cloned()
12449         -
            } else {
12450         -
                return false;
12451         -
            }
12452         -
            .is_some(),
12453         -
            Self::Cond57 => {
12454         -
                *outpost_id_ssa_1 = if let Some(inner) = bucket_arn {
12455         -
                    inner.resource_id().get(1).cloned()
12456         -
                } else {
12457         -
                    return false;
12458         -
                }
12459         -
                .map(|inner| inner.into());
12460         -
                outpost_id_ssa_1.is_some()
12461         -
            }
12462         -
            Self::Cond58 => (crate::endpoint_lib::coalesce::coalesce!(*use_arn_region, true)) == (true),
12463         -
            Self::Cond59 => (effective_arn_region) == &mut Some((if let Some(inner) = bucket_arn { inner.region() } else { return false }.into())),
12464         -
            Self::Cond60 => (region) == &mut Some(("aws-global".into())),
12465         -
            Self::Cond61 => (use_global_endpoint) == (&true),
12466         -
            Self::Cond62 => (disable_multi_region_access_points) == (&true),
12467         -
            Self::Cond63 => (region) == &mut Some(("us-east-1".into())),
12468         -
            Self::Cond64 => crate::endpoint_lib::host::is_valid_host_label(
12469         -
                if let Some(param) = outpost_id_ssa_1 { param } else { return false },
12470         -
                false,
12471         -
                _diagnostic_collector,
12472         -
            ),
12473         -
            Self::Cond65 => {
12474         -
                *outpost_type = if let Some(inner) = bucket_arn {
12475         -
                    inner.resource_id().get(2).cloned()
12476         -
                } else {
12477         -
                    return false;
12478         -
                }
12479         -
                .map(|inner| inner.into());
12480         -
                outpost_type.is_some()
12481         -
            }
12482         -
            Self::Cond66 => {
12483         -
                (if let Some(inner) = bucket_partition {
12484         -
                    inner.name()
12485         -
                } else {
12486         -
                    return false;
12487         -
                }) == (if let Some(inner) = partition_result {
12488         -
                    inner.name()
12489         -
                } else {
12490         -
                    return false;
12491         -
                })
12492         -
            }
12493         -
            Self::Cond67 => crate::endpoint_lib::host::is_valid_host_label(
12494         -
                if let Some(param) = effective_arn_region { param } else { return false },
12495         -
                true,
12496         -
                _diagnostic_collector,
12497         -
            ),
12498         -
            Self::Cond68 => (if let Some(inner) = bucket_arn { inner.service() } else { return false }) == ("s3"),
12499         -
            Self::Cond69 => {
12500         -
                (if let Some(inner) = bucket_arn {
12501         -
                    inner.account_id()
12502         -
                } else {
12503         -
                    return false;
12504         -
                }) == ("")
12505         -
            }
12506         -
            Self::Cond70 => crate::endpoint_lib::host::is_valid_host_label(
12507         -
                if let Some(inner) = bucket_arn {
12508         -
                    inner.account_id()
12509         -
                } else {
12510         -
                    return false;
12511         -
                },
12512         -
                false,
12513         -
                _diagnostic_collector,
12514         -
            ),
12515         -
            Self::Cond71 => crate::endpoint_lib::host::is_valid_host_label(
12516         -
                if let Some(param) = access_point_name_ssa_1 {
12517         -
                    param
12518         -
                } else {
12519         -
                    return false;
12520         -
                },
12521         -
                false,
12522         -
                _diagnostic_collector,
12523         -
            ),
12524         -
            Self::Cond72 => {
12525         -
                *access_point_name_ssa_2 = if let Some(inner) = bucket_arn {
12526         -
                    inner.resource_id().get(3).cloned()
12527         -
                } else {
12528         -
                    return false;
12529         -
                }
12530         -
                .map(|inner| inner.into());
12531         -
                access_point_name_ssa_2.is_some()
12532         -
            }
12533         -
            Self::Cond73 => crate::endpoint_lib::host::is_valid_host_label(
12534         -
                if let Some(param) = access_point_name_ssa_1 {
12535         -
                    param
12536         -
                } else {
12537         -
                    return false;
12538         -
                },
12539         -
                true,
12540         -
                _diagnostic_collector,
12541         -
            ),
12542         -
            Self::Cond74 => {
12543         -
                (if let Some(inner) = bucket_arn { inner.partition() } else { return false })
12544         -
                    == (if let Some(inner) = partition_result {
12545         -
                        inner.name()
12546         -
                    } else {
12547         -
                        return false;
12548         -
                    })
12549         -
            }
12550         -
            Self::Cond75 => (outpost_type) == &mut Some(("accesspoint".into())),
12551         -
        }
12552         -
    }
12553         -
}
12554         -
12555         -
const CONDITIONS: [ConditionFn; 76] = [
12556         -
    ConditionFn::Cond0,
12557         -
    ConditionFn::Cond1,
12558         -
    ConditionFn::Cond2,
12559         -
    ConditionFn::Cond3,
12560         -
    ConditionFn::Cond4,
12561         -
    ConditionFn::Cond5,
12562         -
    ConditionFn::Cond6,
12563         -
    ConditionFn::Cond7,
12564         -
    ConditionFn::Cond8,
12565         -
    ConditionFn::Cond9,
12566         -
    ConditionFn::Cond10,
12567         -
    ConditionFn::Cond11,
12568         -
    ConditionFn::Cond12,
12569         -
    ConditionFn::Cond13,
12570         -
    ConditionFn::Cond14,
12571         -
    ConditionFn::Cond15,
12572         -
    ConditionFn::Cond16,
12573         -
    ConditionFn::Cond17,
12574         -
    ConditionFn::Cond18,
12575         -
    ConditionFn::Cond19,
12576         -
    ConditionFn::Cond20,
12577         -
    ConditionFn::Cond21,
12578         -
    ConditionFn::Cond22,
12579         -
    ConditionFn::Cond23,
12580         -
    ConditionFn::Cond24,
12581         -
    ConditionFn::Cond25,
12582         -
    ConditionFn::Cond26,
12583         -
    ConditionFn::Cond27,
12584         -
    ConditionFn::Cond28,
12585         -
    ConditionFn::Cond29,
12586         -
    ConditionFn::Cond30,
12587         -
    ConditionFn::Cond31,
12588         -
    ConditionFn::Cond32,
12589         -
    ConditionFn::Cond33,
12590         -
    ConditionFn::Cond34,
12591         -
    ConditionFn::Cond35,
12592         -
    ConditionFn::Cond36,
12593         -
    ConditionFn::Cond37,
12594         -
    ConditionFn::Cond38,
12595         -
    ConditionFn::Cond39,
12596         -
    ConditionFn::Cond40,
12597         -
    ConditionFn::Cond41,
12598         -
    ConditionFn::Cond42,
12599         -
    ConditionFn::Cond43,
12600         -
    ConditionFn::Cond44,
12601         -
    ConditionFn::Cond45,
12602         -
    ConditionFn::Cond46,
12603         -
    ConditionFn::Cond47,
12604         -
    ConditionFn::Cond48,
12605         -
    ConditionFn::Cond49,
12606         -
    ConditionFn::Cond50,
12607         -
    ConditionFn::Cond51,
12608         -
    ConditionFn::Cond52,
12609         -
    ConditionFn::Cond53,
12610         -
    ConditionFn::Cond54,
12611         -
    ConditionFn::Cond55,
12612         -
    ConditionFn::Cond56,
12613         -
    ConditionFn::Cond57,
12614         -
    ConditionFn::Cond58,
12615         -
    ConditionFn::Cond59,
12616         -
    ConditionFn::Cond60,
12617         -
    ConditionFn::Cond61,
12618         -
    ConditionFn::Cond62,
12619         -
    ConditionFn::Cond63,
12620         -
    ConditionFn::Cond64,
12621         -
    ConditionFn::Cond65,
12622         -
    ConditionFn::Cond66,
12623         -
    ConditionFn::Cond67,
12624         -
    ConditionFn::Cond68,
12625         -
    ConditionFn::Cond69,
12626         -
    ConditionFn::Cond70,
12627         -
    ConditionFn::Cond71,
12628         -
    ConditionFn::Cond72,
12629         -
    ConditionFn::Cond73,
12630         -
    ConditionFn::Cond74,
12631         -
    ConditionFn::Cond75,
12632         -
];
12633         -
#[derive(Debug, Clone)]
12634         -
enum ResultEndpoint {
12635         -
    Result0,
12636         -
    Result1,
12637         -
    Result2,
12638         -
    Result3,
12639         -
    Result4,
12640         -
    Result5,
12641         -
    Result6,
12642         -
    Result7,
12643         -
    Result8,
12644         -
    Result9,
12645         -
    Result10,
12646         -
    Result11,
12647         -
    Result12,
12648         -
    Result13,
12649         -
    Result14,
12650         -
    Result15,
12651         -
    Result16,
12652         -
    Result17,
12653         -
    Result18,
12654         -
    Result19,
12655         -
    Result20,
12656         -
    Result21,
12657         -
    Result22,
12658         -
    Result23,
12659         -
    Result24,
12660         -
    Result25,
12661         -
    Result26,
12662         -
    Result27,
12663         -
    Result28,
12664         -
    Result29,
12665         -
    Result30,
12666         -
    Result31,
12667         -
    Result32,
12668         -
    Result33,
12669         -
    Result34,
12670         -
    Result35,
12671         -
    Result36,
12672         -
    Result37,
12673         -
    Result38,
12674         -
    Result39,
12675         -
    Result40,
12676         -
    Result41,
12677         -
    Result42,
12678         -
    Result43,
12679         -
    Result44,
12680         -
    Result45,
12681         -
    Result46,
12682         -
    Result47,
12683         -
    Result48,
12684         -
    Result49,
12685         -
    Result50,
12686         -
    Result51,
12687         -
    Result52,
12688         -
    Result53,
12689         -
    Result54,
12690         -
    Result55,
12691         -
    Result56,
12692         -
    Result57,
12693         -
    Result58,
12694         -
    Result59,
12695         -
    Result60,
12696         -
    Result61,
12697         -
    Result62,
12698         -
    Result63,
12699         -
    Result64,
12700         -
    Result65,
12701         -
    Result66,
12702         -
    Result67,
12703         -
    Result68,
12704         -
    Result69,
12705         -
    Result70,
12706         -
    Result71,
12707         -
    Result72,
12708         -
    Result73,
12709         -
    Result74,
12710         -
    Result75,
12711         -
    Result76,
12712         -
    Result77,
12713         -
    Result78,
12714         -
    Result79,
12715         -
    Result80,
12716         -
    Result81,
12717         -
    Result82,
12718         -
    Result83,
12719         -
    Result84,
12720         -
    Result85,
12721         -
    Result86,
12722         -
    Result87,
12723         -
    Result88,
12724         -
    Result89,
12725         -
    Result90,
12726         -
    Result91,
12727         -
    Result92,
12728         -
    Result93,
12729         -
    Result94,
12730         -
    Result95,
12731         -
    Result96,
12732         -
}
12733         -
12734         -
impl<'a> ResultEndpoint {
12735         -
    #[allow(unused_variables, clippy::useless_asref)]
12736         -
    fn to_endpoint(
12737         -
        &self,
12738         -
        params: &'a Params,
12739         -
        context: &ConditionContext<'a>,
12740         -
    ) -> ::std::result::Result<::aws_smithy_types::endpoint::Endpoint, ::aws_smithy_http::endpoint::ResolveEndpointError> {
12741         -
        match self {
12742         -
            Self::Result0 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message("No endpoint rule matched")),
12743         -
            Self::Result1 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
12744         -
                "Accelerate cannot be used with FIPS".to_string(),
12745         -
            )),
12746         -
            Self::Result2 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
12747         -
                "Cannot set dual-stack in combination with a custom endpoint.".to_string(),
12748         -
            )),
12749         -
            Self::Result3 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
12750         -
                "A custom endpoint cannot be combined with FIPS".to_string(),
12751         -
            )),
12752         -
            Self::Result4 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
12753         -
                "A custom endpoint cannot be combined with S3 Accelerate".to_string(),
12754         -
            )),
12755         -
            Self::Result5 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
12756         -
                "Partition does not support FIPS".to_string(),
12757         -
            )),
12758         -
            Self::Result6 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
12759         -
                "S3Express does not support S3 Accelerate.".to_string(),
12760         -
            )),
12761         -
            Self::Result7 => {
       10654  +
                        19 => {
       10655  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
12762  10656   
                            let effective_std_region = context
12763  10657   
                                .effective_std_region
12764  10658   
                                .as_ref()
12765         -
                    .map(|s| s.clone())
12766         -
                    .expect("Guaranteed to have a value by earlier checks.");
12767         -
                let url = context
12768         -
                    .url
12769         -
                    .as_ref()
12770         -
                    .map(|s| s.clone())
12771         -
                    .expect("Guaranteed to have a value by earlier checks.");
12772         -
                let s3_e_auth = context
12773         -
                    .s3_e_auth
12774         -
                    .as_ref()
12775         -
                    .map(|s| s.clone())
12776         -
                    .expect("Guaranteed to have a value by earlier checks.");
12777         -
                let uri_encoded_bucket = context
12778         -
                    .uri_encoded_bucket
12779         -
                    .as_ref()
12780         -
                    .map(|s| s.clone())
12781  10659   
                                .expect("Guaranteed to have a value by earlier checks.");
       10660  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10661  +
                            let outpost_id_ssa_2 = context.outpost_id_ssa_2.as_ref().expect("Guaranteed to have a value by earlier checks.");
12782  10662   
                            ::std::result::Result::Ok(
12783  10663   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
12784  10664   
                                    .url({
12785  10665   
                                        let mut out = String::new();
       10666  +
                                        out.push_str("https://");
12786  10667   
                                        #[allow(clippy::needless_borrow)]
12787         -
                            out.push_str(&url.scheme());
12788         -
                            out.push_str("://");
12789         -
                            #[allow(clippy::needless_borrow)]
12790         -
                            out.push_str(&url.authority());
12791         -
                            out.push('/');
       10668  +
                                        out.push_str(&bucket.as_ref());
       10669  +
                                        out.push_str(".op-");
12792  10670   
                                        #[allow(clippy::needless_borrow)]
12793         -
                            out.push_str(&uri_encoded_bucket.as_ref());
       10671  +
                                        out.push_str(&outpost_id_ssa_2.as_ref());
       10672  +
                                        out.push_str(".s3-outposts.");
12794  10673   
                                        #[allow(clippy::needless_borrow)]
12795         -
                            out.push_str(&url.path());
       10674  +
                                        out.push_str(&effective_std_region.as_ref());
       10675  +
                                        out.push('.');
       10676  +
                                        #[allow(clippy::needless_borrow)]
       10677  +
                                        out.push_str(&partition_result.dns_suffix());
12796  10678   
                                        out
12797  10679   
                                    })
12798         -
                        .property("backend", "S3Express".to_string())
12799         -
                        .property(
12800         -
                            "authSchemes",
12801         -
                            vec![::aws_smithy_types::Document::from({
12802         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
12803         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
12804         -
                                out.insert("name".to_string(), s3_e_auth.to_owned().into());
12805         -
                                out.insert("signingName".to_string(), "s3express".to_string().into());
12806         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
12807         -
                                out
12808         -
                            })],
       10680  +
                                    .auth_scheme(
       10681  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a".to_string(), 3)
       10682  +
                                            .put("disableDoubleEncoding", true)
       10683  +
                                            .put("signingName", "s3-outposts")
       10684  +
                                            .put("signingRegionSet", vec![::aws_smithy_types::Document::from("*".to_string())]),
       10685  +
                                    )
       10686  +
                                    .auth_scheme(
       10687  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10688  +
                                            .put("disableDoubleEncoding", true)
       10689  +
                                            .put("signingName", "s3-outposts")
       10690  +
                                            .put("signingRegion", effective_std_region.as_ref()),
12809  10691   
                                    )
12810  10692   
                                    .build(),
12811  10693   
                            )
12812  10694   
                        }
12813         -
            Self::Result8 => {
12814         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
       10695  +
                        20 => {
       10696  +
                            let hardware_type = context.hardware_type.as_ref().expect("Guaranteed to have a value by earlier checks.");
       10697  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       10698  +
                                let mut out = String::new();
       10699  +
                                out.push_str("Unrecognized hardware type: \"Expected hardware type o or e but got ");
       10700  +
                                #[allow(clippy::needless_borrow)]
       10701  +
                                out.push_str(&hardware_type.as_ref());
       10702  +
                                out.push('"');
       10703  +
                                out
       10704  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       10705  +
                        }
       10706  +
                        21 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10707  +
                            "Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.".to_string(),
       10708  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10709  +
                        22 => {
       10710  +
                            let endpoint = params.endpoint.as_deref().unwrap_or_default();
       10711  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       10712  +
                                let mut out = String::new();
       10713  +
                                out.push_str("Custom endpoint `");
       10714  +
                                #[allow(clippy::needless_borrow)]
       10715  +
                                out.push_str(&endpoint.as_ref());
       10716  +
                                out.push_str("` was not a valid URI");
       10717  +
                                out
       10718  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       10719  +
                        }
       10720  +
                        23 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       10721  +
                            "S3 Accelerate cannot be used in this region".to_string(),
       10722  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       10723  +
                        24 => {
       10724  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
12815  10725   
                            let effective_std_region = context
12816  10726   
                                .effective_std_region
12817  10727   
                                .as_ref()
12818         -
                    .map(|s| s.clone())
12819         -
                    .expect("Guaranteed to have a value by earlier checks.");
12820         -
                let url = context
12821         -
                    .url
12822         -
                    .as_ref()
12823         -
                    .map(|s| s.clone())
12824         -
                    .expect("Guaranteed to have a value by earlier checks.");
12825         -
                let s3_e_auth = context
12826         -
                    .s3_e_auth
12827         -
                    .as_ref()
12828         -
                    .map(|s| s.clone())
12829  10728   
                                .expect("Guaranteed to have a value by earlier checks.");
       10729  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
12830  10730   
                            ::std::result::Result::Ok(
12831  10731   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
12832  10732   
                                    .url({
12833  10733   
                                        let mut out = String::new();
12834         -
                            #[allow(clippy::needless_borrow)]
12835         -
                            out.push_str(&url.scheme());
12836         -
                            out.push_str("://");
       10734  +
                                        out.push_str("https://");
12837  10735   
                                        #[allow(clippy::needless_borrow)]
12838  10736   
                                        out.push_str(&bucket.as_ref());
12839         -
                            out.push('.');
       10737  +
                                        out.push_str(".s3-fips.dualstack.");
12840  10738   
                                        #[allow(clippy::needless_borrow)]
12841         -
                            out.push_str(&url.authority());
       10739  +
                                        out.push_str(&effective_std_region.as_ref());
       10740  +
                                        out.push('.');
12842  10741   
                                        #[allow(clippy::needless_borrow)]
12843         -
                            out.push_str(&url.path());
       10742  +
                                        out.push_str(&partition_result.dns_suffix());
12844  10743   
                                        out
12845  10744   
                                    })
12846         -
                        .property("backend", "S3Express".to_string())
12847         -
                        .property(
12848         -
                            "authSchemes",
12849         -
                            vec![::aws_smithy_types::Document::from({
12850         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
12851         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
12852         -
                                out.insert("name".to_string(), s3_e_auth.to_owned().into());
12853         -
                                out.insert("signingName".to_string(), "s3express".to_string().into());
12854         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
12855         -
                                out
12856         -
                            })],
       10745  +
                                    .auth_scheme(
       10746  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10747  +
                                            .put("disableDoubleEncoding", true)
       10748  +
                                            .put("signingName", "s3")
       10749  +
                                            .put("signingRegion", effective_std_region.as_ref()),
12857  10750   
                                    )
12858  10751   
                                    .build(),
12859  10752   
                            )
12860  10753   
                        }
12861         -
            Self::Result9 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
12862         -
                "S3Express bucket name is not a valid virtual hostable name.".to_string(),
12863         -
            )),
12864         -
            Self::Result10 => {
       10754  +
                        25 => {
       10755  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
12865  10756   
                            let effective_std_region = context
12866  10757   
                                .effective_std_region
12867  10758   
                                .as_ref()
12868         -
                    .map(|s| s.clone())
12869         -
                    .expect("Guaranteed to have a value by earlier checks.");
12870         -
                let partition_result = context
12871         -
                    .partition_result
12872         -
                    .as_ref()
12873         -
                    .map(|s| s.clone())
12874         -
                    .expect("Guaranteed to have a value by earlier checks.");
12875         -
                let s3_e_ds = context
12876         -
                    .s3_e_ds
12877         -
                    .as_ref()
12878         -
                    .map(|s| s.clone())
12879         -
                    .expect("Guaranteed to have a value by earlier checks.");
12880         -
                let s3_e_fips = context
12881         -
                    .s3_e_fips
12882         -
                    .as_ref()
12883         -
                    .map(|s| s.clone())
12884         -
                    .expect("Guaranteed to have a value by earlier checks.");
12885         -
                let uri_encoded_bucket = context
12886         -
                    .uri_encoded_bucket
12887         -
                    .as_ref()
12888         -
                    .map(|s| s.clone())
12889  10759   
                                .expect("Guaranteed to have a value by earlier checks.");
       10760  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
12890  10761   
                            ::std::result::Result::Ok(
12891  10762   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
12892  10763   
                                    .url({
12893  10764   
                                        let mut out = String::new();
12894         -
                            out.push_str("https://s3express-control");
12895         -
                            #[allow(clippy::needless_borrow)]
12896         -
                            out.push_str(&s3_e_fips.as_ref());
       10765  +
                                        out.push_str("https://");
12897  10766   
                                        #[allow(clippy::needless_borrow)]
12898         -
                            out.push_str(&s3_e_ds.as_ref());
12899         -
                            out.push('.');
       10767  +
                                        out.push_str(&bucket.as_ref());
       10768  +
                                        out.push_str(".s3-fips.");
12900  10769   
                                        #[allow(clippy::needless_borrow)]
12901  10770   
                                        out.push_str(&effective_std_region.as_ref());
12902  10771   
                                        out.push('.');
12903  10772   
                                        #[allow(clippy::needless_borrow)]
12904  10773   
                                        out.push_str(&partition_result.dns_suffix());
12905         -
                            out.push('/');
12906         -
                            #[allow(clippy::needless_borrow)]
12907         -
                            out.push_str(&uri_encoded_bucket.as_ref());
12908  10774   
                                        out
12909  10775   
                                    })
12910         -
                        .property("backend", "S3Express".to_string())
12911         -
                        .property(
12912         -
                            "authSchemes",
12913         -
                            vec![::aws_smithy_types::Document::from({
12914         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
12915         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
12916         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
12917         -
                                out.insert("signingName".to_string(), "s3express".to_string().into());
12918         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
12919         -
                                out
12920         -
                            })],
       10776  +
                                    .auth_scheme(
       10777  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10778  +
                                            .put("disableDoubleEncoding", true)
       10779  +
                                            .put("signingName", "s3")
       10780  +
                                            .put("signingRegion", effective_std_region.as_ref()),
12921  10781   
                                    )
12922  10782   
                                    .build(),
12923  10783   
                            )
12924  10784   
                        }
12925         -
            Self::Result11 => {
12926         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
       10785  +
                        26 => {
       10786  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
12927  10787   
                            let effective_std_region = context
12928  10788   
                                .effective_std_region
12929  10789   
                                .as_ref()
12930         -
                    .map(|s| s.clone())
12931         -
                    .expect("Guaranteed to have a value by earlier checks.");
12932         -
                let partition_result = context
12933         -
                    .partition_result
12934         -
                    .as_ref()
12935         -
                    .map(|s| s.clone())
12936         -
                    .expect("Guaranteed to have a value by earlier checks.");
12937         -
                let s3_e_ds = context
12938         -
                    .s3_e_ds
12939         -
                    .as_ref()
12940         -
                    .map(|s| s.clone())
12941         -
                    .expect("Guaranteed to have a value by earlier checks.");
12942         -
                let s3_e_fips = context
12943         -
                    .s3_e_fips
12944         -
                    .as_ref()
12945         -
                    .map(|s| s.clone())
12946         -
                    .expect("Guaranteed to have a value by earlier checks.");
12947         -
                let s3_e_auth = context
12948         -
                    .s3_e_auth
12949         -
                    .as_ref()
12950         -
                    .map(|s| s.clone())
12951         -
                    .expect("Guaranteed to have a value by earlier checks.");
12952         -
                let s3express_availability_zone_id = context
12953         -
                    .s3express_availability_zone_id
12954         -
                    .as_ref()
12955         -
                    .map(|s| s.clone())
12956  10790   
                                .expect("Guaranteed to have a value by earlier checks.");
       10791  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
12957  10792   
                            ::std::result::Result::Ok(
12958  10793   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
12959  10794   
                                    .url({
12960  10795   
                                        let mut out = String::new();
12961  10796   
                                        out.push_str("https://");
12962  10797   
                                        #[allow(clippy::needless_borrow)]
12963  10798   
                                        out.push_str(&bucket.as_ref());
12964         -
                            out.push_str(".s3express");
12965         -
                            #[allow(clippy::needless_borrow)]
12966         -
                            out.push_str(&s3_e_fips.as_ref());
12967         -
                            out.push('-');
12968         -
                            #[allow(clippy::needless_borrow)]
12969         -
                            out.push_str(&s3express_availability_zone_id.as_ref());
12970         -
                            #[allow(clippy::needless_borrow)]
12971         -
                            out.push_str(&s3_e_ds.as_ref());
12972         -
                            out.push('.');
       10799  +
                                        out.push_str(".s3-accelerate.dualstack.");
12973  10800   
                                        #[allow(clippy::needless_borrow)]
12974  10801   
                                        out.push_str(&effective_std_region.as_ref());
12975  10802   
                                        out.push('.');
12976  10803   
                                        #[allow(clippy::needless_borrow)]
12977  10804   
                                        out.push_str(&partition_result.dns_suffix());
12978  10805   
                                        out
12979  10806   
                                    })
12980         -
                        .property("backend", "S3Express".to_string())
12981         -
                        .property(
12982         -
                            "authSchemes",
12983         -
                            vec![::aws_smithy_types::Document::from({
12984         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
12985         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
12986         -
                                out.insert("name".to_string(), s3_e_auth.to_owned().into());
12987         -
                                out.insert("signingName".to_string(), "s3express".to_string().into());
12988         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
12989         -
                                out
12990         -
                            })],
       10807  +
                                    .auth_scheme(
       10808  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10809  +
                                            .put("disableDoubleEncoding", true)
       10810  +
                                            .put("signingName", "s3")
       10811  +
                                            .put("signingRegion", effective_std_region.as_ref()),
12991  10812   
                                    )
12992  10813   
                                    .build(),
12993  10814   
                            )
12994  10815   
                        }
12995         -
            Self::Result12 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
12996         -
                "Unrecognized S3Express bucket name format.".to_string(),
12997         -
            )),
12998         -
            Self::Result13 => {
       10816  +
                        27 => {
       10817  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
12999  10818   
                            let effective_std_region = context
13000  10819   
                                .effective_std_region
13001  10820   
                                .as_ref()
13002         -
                    .map(|s| s.clone())
13003         -
                    .expect("Guaranteed to have a value by earlier checks.");
13004         -
                let url = context
13005         -
                    .url
13006         -
                    .as_ref()
13007         -
                    .map(|s| s.clone())
13008         -
                    .expect("Guaranteed to have a value by earlier checks.");
13009         -
                let s3_e_auth = context
13010         -
                    .s3_e_auth
13011         -
                    .as_ref()
13012         -
                    .map(|s| s.clone())
13013  10821   
                                .expect("Guaranteed to have a value by earlier checks.");
       10822  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
13014  10823   
                            ::std::result::Result::Ok(
13015  10824   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
13016  10825   
                                    .url({
13017  10826   
                                        let mut out = String::new();
       10827  +
                                        out.push_str("https://");
13018  10828   
                                        #[allow(clippy::needless_borrow)]
13019         -
                            out.push_str(&url.scheme());
13020         -
                            out.push_str("://");
13021         -
                            #[allow(clippy::needless_borrow)]
13022         -
                            out.push_str(&url.authority());
       10829  +
                                        out.push_str(&bucket.as_ref());
       10830  +
                                        out.push_str(".s3-accelerate.dualstack.");
13023  10831   
                                        #[allow(clippy::needless_borrow)]
13024         -
                            out.push_str(&url.path());
       10832  +
                                        out.push_str(&partition_result.dns_suffix());
13025  10833   
                                        out
13026  10834   
                                    })
13027         -
                        .property("backend", "S3Express".to_string())
13028         -
                        .property(
13029         -
                            "authSchemes",
13030         -
                            vec![::aws_smithy_types::Document::from({
13031         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13032         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13033         -
                                out.insert("name".to_string(), s3_e_auth.to_owned().into());
13034         -
                                out.insert("signingName".to_string(), "s3express".to_string().into());
13035         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13036         -
                                out
13037         -
                            })],
       10835  +
                                    .auth_scheme(
       10836  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10837  +
                                            .put("disableDoubleEncoding", true)
       10838  +
                                            .put("signingName", "s3")
       10839  +
                                            .put("signingRegion", effective_std_region.as_ref()),
13038  10840   
                                    )
13039  10841   
                                    .build(),
13040  10842   
                            )
13041  10843   
                        }
13042         -
            Self::Result14 => {
       10844  +
                        28 => {
       10845  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
13043  10846   
                            let effective_std_region = context
13044  10847   
                                .effective_std_region
13045  10848   
                                .as_ref()
13046         -
                    .map(|s| s.clone())
13047         -
                    .expect("Guaranteed to have a value by earlier checks.");
13048         -
                let partition_result = context
13049         -
                    .partition_result
13050         -
                    .as_ref()
13051         -
                    .map(|s| s.clone())
13052         -
                    .expect("Guaranteed to have a value by earlier checks.");
13053         -
                let s3_e_ds = context
13054         -
                    .s3_e_ds
13055         -
                    .as_ref()
13056         -
                    .map(|s| s.clone())
13057         -
                    .expect("Guaranteed to have a value by earlier checks.");
13058         -
                let s3_e_fips = context
13059         -
                    .s3_e_fips
13060         -
                    .as_ref()
13061         -
                    .map(|s| s.clone())
13062  10849   
                                .expect("Guaranteed to have a value by earlier checks.");
       10850  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
13063  10851   
                            ::std::result::Result::Ok(
13064  10852   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
13065  10853   
                                    .url({
13066  10854   
                                        let mut out = String::new();
13067         -
                            out.push_str("https://s3express-control");
13068         -
                            #[allow(clippy::needless_borrow)]
13069         -
                            out.push_str(&s3_e_fips.as_ref());
       10855  +
                                        out.push_str("https://");
13070  10856   
                                        #[allow(clippy::needless_borrow)]
13071         -
                            out.push_str(&s3_e_ds.as_ref());
13072         -
                            out.push('.');
       10857  +
                                        out.push_str(&bucket.as_ref());
       10858  +
                                        out.push_str(".s3.dualstack.");
13073  10859   
                                        #[allow(clippy::needless_borrow)]
13074  10860   
                                        out.push_str(&effective_std_region.as_ref());
13075  10861   
                                        out.push('.');
13076  10862   
                                        #[allow(clippy::needless_borrow)]
13077  10863   
                                        out.push_str(&partition_result.dns_suffix());
13078  10864   
                                        out
13079  10865   
                                    })
13080         -
                        .property("backend", "S3Express".to_string())
13081         -
                        .property(
13082         -
                            "authSchemes",
13083         -
                            vec![::aws_smithy_types::Document::from({
13084         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13085         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13086         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13087         -
                                out.insert("signingName".to_string(), "s3express".to_string().into());
13088         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13089         -
                                out
13090         -
                            })],
       10866  +
                                    .auth_scheme(
       10867  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10868  +
                                            .put("disableDoubleEncoding", true)
       10869  +
                                            .put("signingName", "s3")
       10870  +
                                            .put("signingRegion", effective_std_region.as_ref()),
13091  10871   
                                    )
13092  10872   
                                    .build(),
13093  10873   
                            )
13094  10874   
                        }
13095         -
            Self::Result15 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
13096         -
                "Expected a endpoint to be specified but no endpoint was found".to_string(),
13097         -
            )),
13098         -
            Self::Result16 => {
13099         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
       10875  +
                        29 => {
       10876  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
13100  10877   
                            let effective_std_region = context
13101  10878   
                                .effective_std_region
13102  10879   
                                .as_ref()
13103         -
                    .map(|s| s.clone())
13104         -
                    .expect("Guaranteed to have a value by earlier checks.");
13105         -
                let url = context
13106         -
                    .url
13107         -
                    .as_ref()
13108         -
                    .map(|s| s.clone())
13109  10880   
                                .expect("Guaranteed to have a value by earlier checks.");
       10881  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
13110  10882   
                            ::std::result::Result::Ok(
13111  10883   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
13112  10884   
                                    .url({
13113  10885   
                                        let mut out = String::new();
13114         -
                            out.push_str("https://");
13115  10886   
                                        #[allow(clippy::needless_borrow)]
13116         -
                            out.push_str(&bucket.as_ref());
13117         -
                            out.push_str(".ec2.");
       10887  +
                                        out.push_str(&url.scheme());
       10888  +
                                        out.push_str("://");
13118  10889   
                                        #[allow(clippy::needless_borrow)]
13119  10890   
                                        out.push_str(&url.authority());
       10891  +
                                        #[allow(clippy::needless_borrow)]
       10892  +
                                        out.push_str(&url.normalized_path());
       10893  +
                                        #[allow(clippy::needless_borrow)]
       10894  +
                                        out.push_str(&bucket.as_ref());
13120  10895   
                                        out
13121  10896   
                                    })
13122         -
                        .property(
13123         -
                            "authSchemes",
13124         -
                            vec![
13125         -
                                ::aws_smithy_types::Document::from({
13126         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13127         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
13128         -
                                    out.insert("name".to_string(), "sigv4a".to_string().into());
13129         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
13130         -
                                    out.insert(
13131         -
                                        "signingRegionSet".to_string(),
13132         -
                                        vec![::aws_smithy_types::Document::from("*".to_string())].into(),
13133         -
                                    );
13134         -
                                    out
13135         -
                                }),
13136         -
                                ::aws_smithy_types::Document::from({
13137         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13138         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
13139         -
                                    out.insert("name".to_string(), "sigv4".to_string().into());
13140         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
13141         -
                                    out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13142         -
                                    out
13143         -
                                }),
13144         -
                            ],
       10897  +
                                    .auth_scheme(
       10898  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10899  +
                                            .put("disableDoubleEncoding", true)
       10900  +
                                            .put("signingName", "s3")
       10901  +
                                            .put("signingRegion", effective_std_region.as_ref()),
13145  10902   
                                    )
13146  10903   
                                    .build(),
13147  10904   
                            )
13148  10905   
                        }
13149         -
            Self::Result17 => {
13150         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
       10906  +
                        30 => {
       10907  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
13151  10908   
                            let effective_std_region = context
13152  10909   
                                .effective_std_region
13153  10910   
                                .as_ref()
13154         -
                    .map(|s| s.clone())
13155         -
                    .expect("Guaranteed to have a value by earlier checks.");
13156         -
                let partition_result = context
13157         -
                    .partition_result
13158         -
                    .as_ref()
13159         -
                    .map(|s| s.clone())
13160  10911   
                                .expect("Guaranteed to have a value by earlier checks.");
       10912  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
13161  10913   
                            ::std::result::Result::Ok(
13162  10914   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
13163  10915   
                                    .url({
13164  10916   
                                        let mut out = String::new();
13165         -
                            out.push_str("https://");
13166  10917   
                                        #[allow(clippy::needless_borrow)]
13167         -
                            out.push_str(&bucket.as_ref());
13168         -
                            out.push_str(".ec2.s3-outposts.");
       10918  +
                                        out.push_str(&url.scheme());
       10919  +
                                        out.push_str("://");
13169  10920   
                                        #[allow(clippy::needless_borrow)]
13170         -
                            out.push_str(&effective_std_region.as_ref());
       10921  +
                                        out.push_str(&bucket.as_ref());
13171  10922   
                                        out.push('.');
13172  10923   
                                        #[allow(clippy::needless_borrow)]
13173         -
                            out.push_str(&partition_result.dns_suffix());
       10924  +
                                        out.push_str(&url.authority());
       10925  +
                                        #[allow(clippy::needless_borrow)]
       10926  +
                                        out.push_str(&url.path());
13174  10927   
                                        out
13175  10928   
                                    })
13176         -
                        .property(
13177         -
                            "authSchemes",
13178         -
                            vec![
13179         -
                                ::aws_smithy_types::Document::from({
13180         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13181         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
13182         -
                                    out.insert("name".to_string(), "sigv4a".to_string().into());
13183         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
13184         -
                                    out.insert(
13185         -
                                        "signingRegionSet".to_string(),
13186         -
                                        vec![::aws_smithy_types::Document::from("*".to_string())].into(),
13187         -
                                    );
13188         -
                                    out
13189         -
                                }),
13190         -
                                ::aws_smithy_types::Document::from({
13191         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13192         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
13193         -
                                    out.insert("name".to_string(), "sigv4".to_string().into());
13194         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
13195         -
                                    out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13196         -
                                    out
13197         -
                                }),
13198         -
                            ],
       10929  +
                                    .auth_scheme(
       10930  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10931  +
                                            .put("disableDoubleEncoding", true)
       10932  +
                                            .put("signingName", "s3")
       10933  +
                                            .put("signingRegion", effective_std_region.as_ref()),
13199  10934   
                                    )
13200  10935   
                                    .build(),
13201  10936   
                            )
13202  10937   
                        }
13203         -
            Self::Result18 => {
13204         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
       10938  +
                        31 => {
       10939  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
13205  10940   
                            let effective_std_region = context
13206  10941   
                                .effective_std_region
13207  10942   
                                .as_ref()
13208         -
                    .map(|s| s.clone())
13209         -
                    .expect("Guaranteed to have a value by earlier checks.");
13210         -
                let url = context
13211         -
                    .url
13212         -
                    .as_ref()
13213         -
                    .map(|s| s.clone())
13214         -
                    .expect("Guaranteed to have a value by earlier checks.");
13215         -
                let outpost_id_ssa_2 = context
13216         -
                    .outpost_id_ssa_2
13217         -
                    .as_ref()
13218         -
                    .map(|s| s.clone())
13219  10943   
                                .expect("Guaranteed to have a value by earlier checks.");
       10944  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
13220  10945   
                            ::std::result::Result::Ok(
13221  10946   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
13222  10947   
                                    .url({
13223  10948   
                                        let mut out = String::new();
13224  10949   
                                        out.push_str("https://");
13225  10950   
                                        #[allow(clippy::needless_borrow)]
13226  10951   
                                        out.push_str(&bucket.as_ref());
13227         -
                            out.push_str(".op-");
13228         -
                            #[allow(clippy::needless_borrow)]
13229         -
                            out.push_str(&outpost_id_ssa_2.as_ref());
13230         -
                            out.push('.');
       10952  +
                                        out.push_str(".s3-accelerate.");
13231  10953   
                                        #[allow(clippy::needless_borrow)]
13232         -
                            out.push_str(&url.authority());
       10954  +
                                        out.push_str(&partition_result.dns_suffix());
13233  10955   
                                        out
13234  10956   
                                    })
13235         -
                        .property(
13236         -
                            "authSchemes",
13237         -
                            vec![
13238         -
                                ::aws_smithy_types::Document::from({
13239         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13240         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
13241         -
                                    out.insert("name".to_string(), "sigv4a".to_string().into());
13242         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
13243         -
                                    out.insert(
13244         -
                                        "signingRegionSet".to_string(),
13245         -
                                        vec![::aws_smithy_types::Document::from("*".to_string())].into(),
13246         -
                                    );
13247         -
                                    out
13248         -
                                }),
13249         -
                                ::aws_smithy_types::Document::from({
13250         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13251         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
13252         -
                                    out.insert("name".to_string(), "sigv4".to_string().into());
13253         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
13254         -
                                    out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13255         -
                                    out
13256         -
                                }),
13257         -
                            ],
       10957  +
                                    .auth_scheme(
       10958  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10959  +
                                            .put("disableDoubleEncoding", true)
       10960  +
                                            .put("signingName", "s3")
       10961  +
                                            .put("signingRegion", effective_std_region.as_ref()),
13258  10962   
                                    )
13259  10963   
                                    .build(),
13260  10964   
                            )
13261  10965   
                        }
13262         -
            Self::Result19 => {
13263         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
       10966  +
                        32 => {
       10967  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
13264  10968   
                            let effective_std_region = context
13265  10969   
                                .effective_std_region
13266  10970   
                                .as_ref()
13267         -
                    .map(|s| s.clone())
13268         -
                    .expect("Guaranteed to have a value by earlier checks.");
13269         -
                let partition_result = context
13270         -
                    .partition_result
13271         -
                    .as_ref()
13272         -
                    .map(|s| s.clone())
13273         -
                    .expect("Guaranteed to have a value by earlier checks.");
13274         -
                let outpost_id_ssa_2 = context
13275         -
                    .outpost_id_ssa_2
13276         -
                    .as_ref()
13277         -
                    .map(|s| s.clone())
13278  10971   
                                .expect("Guaranteed to have a value by earlier checks.");
       10972  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
13279  10973   
                            ::std::result::Result::Ok(
13280  10974   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
13281  10975   
                                    .url({
13282  10976   
                                        let mut out = String::new();
13283  10977   
                                        out.push_str("https://");
13284  10978   
                                        #[allow(clippy::needless_borrow)]
13285  10979   
                                        out.push_str(&bucket.as_ref());
13286         -
                            out.push_str(".op-");
13287         -
                            #[allow(clippy::needless_borrow)]
13288         -
                            out.push_str(&outpost_id_ssa_2.as_ref());
13289         -
                            out.push_str(".s3-outposts.");
13290         -
                            #[allow(clippy::needless_borrow)]
13291         -
                            out.push_str(&effective_std_region.as_ref());
13292         -
                            out.push('.');
       10980  +
                                        out.push_str(".s3.");
13293  10981   
                                        #[allow(clippy::needless_borrow)]
13294  10982   
                                        out.push_str(&partition_result.dns_suffix());
13295  10983   
                                        out
13296  10984   
                                    })
13297         -
                        .property(
13298         -
                            "authSchemes",
13299         -
                            vec![
13300         -
                                ::aws_smithy_types::Document::from({
13301         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13302         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
13303         -
                                    out.insert("name".to_string(), "sigv4a".to_string().into());
13304         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
13305         -
                                    out.insert(
13306         -
                                        "signingRegionSet".to_string(),
13307         -
                                        vec![::aws_smithy_types::Document::from("*".to_string())].into(),
13308         -
                                    );
13309         -
                                    out
13310         -
                                }),
13311         -
                                ::aws_smithy_types::Document::from({
13312         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13313         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
13314         -
                                    out.insert("name".to_string(), "sigv4".to_string().into());
13315         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
13316         -
                                    out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13317         -
                                    out
13318         -
                                }),
13319         -
                            ],
       10985  +
                                    .auth_scheme(
       10986  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       10987  +
                                            .put("disableDoubleEncoding", true)
       10988  +
                                            .put("signingName", "s3")
       10989  +
                                            .put("signingRegion", effective_std_region.as_ref()),
13320  10990   
                                    )
13321  10991   
                                    .build(),
13322  10992   
                            )
13323  10993   
                        }
13324         -
            Self::Result20 => {
13325         -
                let hardware_type = context
13326         -
                    .hardware_type
13327         -
                    .as_ref()
13328         -
                    .map(|s| s.clone())
13329         -
                    .expect("Guaranteed to have a value by earlier checks.");
13330         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
13331         -
                    let mut out = String::new();
13332         -
                    out.push_str("Unrecognized hardware type: \"Expected hardware type o or e but got ");
13333         -
                    #[allow(clippy::needless_borrow)]
13334         -
                    out.push_str(&hardware_type.as_ref());
13335         -
                    out.push('"');
13336         -
                    out
13337         -
                }))
13338         -
            }
13339         -
            Self::Result21 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
13340         -
                "Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.".to_string(),
13341         -
            )),
13342         -
            Self::Result22 => {
13343         -
                let endpoint = params.endpoint.as_ref().map(|s| s.clone()).unwrap_or_default();
13344         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
13345         -
                    let mut out = String::new();
13346         -
                    out.push_str("Custom endpoint `");
13347         -
                    #[allow(clippy::needless_borrow)]
13348         -
                    out.push_str(&endpoint.as_ref());
13349         -
                    out.push_str("` was not a valid URI");
13350         -
                    out
13351         -
                }))
13352         -
            }
13353         -
            Self::Result23 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
13354         -
                "S3 Accelerate cannot be used in this region".to_string(),
13355         -
            )),
13356         -
            Self::Result24 => {
13357         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
       10994  +
                        33 => {
       10995  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
13358  10996   
                            let effective_std_region = context
13359  10997   
                                .effective_std_region
13360  10998   
                                .as_ref()
13361         -
                    .map(|s| s.clone())
13362         -
                    .expect("Guaranteed to have a value by earlier checks.");
13363         -
                let partition_result = context
13364         -
                    .partition_result
13365         -
                    .as_ref()
13366         -
                    .map(|s| s.clone())
13367  10999   
                                .expect("Guaranteed to have a value by earlier checks.");
       11000  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
13368  11001   
                            ::std::result::Result::Ok(
13369  11002   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
13370  11003   
                                    .url({
13371  11004   
                                        let mut out = String::new();
13372  11005   
                                        out.push_str("https://");
13373  11006   
                                        #[allow(clippy::needless_borrow)]
13374  11007   
                                        out.push_str(&bucket.as_ref());
13375         -
                            out.push_str(".s3-fips.dualstack.");
       11008  +
                                        out.push_str(".s3.");
13376  11009   
                                        #[allow(clippy::needless_borrow)]
13377  11010   
                                        out.push_str(&effective_std_region.as_ref());
13378  11011   
                                        out.push('.');
13379  11012   
                                        #[allow(clippy::needless_borrow)]
13380  11013   
                                        out.push_str(&partition_result.dns_suffix());
13381  11014   
                                        out
13382  11015   
                                    })
13383         -
                        .property(
13384         -
                            "authSchemes",
13385         -
                            vec![::aws_smithy_types::Document::from({
13386         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13387         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13388         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13389         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13390         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13391         -
                                out
13392         -
                            })],
       11016  +
                                    .auth_scheme(
       11017  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11018  +
                                            .put("disableDoubleEncoding", true)
       11019  +
                                            .put("signingName", "s3")
       11020  +
                                            .put("signingRegion", effective_std_region.as_ref()),
13393  11021   
                                    )
13394  11022   
                                    .build(),
13395  11023   
                            )
13396  11024   
                        }
13397         -
            Self::Result25 => {
13398         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13399         -
                let effective_std_region = context
13400         -
                    .effective_std_region
       11025  +
                        34 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11026  +
                            "Invalid region: region was not a valid DNS name.".to_string(),
       11027  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11028  +
                        35 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11029  +
                            "S3 Object Lambda does not support Dual-stack".to_string(),
       11030  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11031  +
                        36 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11032  +
                            "S3 Object Lambda does not support S3 Accelerate".to_string(),
       11033  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11034  +
                        37 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11035  +
                            "Access points are not supported for this operation".to_string(),
       11036  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11037  +
                        38 => {
       11038  +
                            let region = params.region.as_deref().unwrap_or_default();
       11039  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11040  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11041  +
                                let mut out = String::new();
       11042  +
                                out.push_str("Invalid configuration: region from ARN `");
       11043  +
                                #[allow(clippy::needless_borrow)]
       11044  +
                                out.push_str(&bucket_arn.region());
       11045  +
                                out.push_str("` does not match client region `");
       11046  +
                                #[allow(clippy::needless_borrow)]
       11047  +
                                out.push_str(&region.as_ref());
       11048  +
                                out.push_str("` and UseArnRegion is `false`");
       11049  +
                                out
       11050  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11051  +
                        }
       11052  +
                        39 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11053  +
                            "Invalid ARN: Missing account id".to_string(),
       11054  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11055  +
                        40 => {
       11056  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11057  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11058  +
                            let effective_arn_region = context
       11059  +
                                .effective_arn_region
13401  11060   
                                .as_ref()
13402         -
                    .map(|s| s.clone())
13403  11061   
                                .expect("Guaranteed to have a value by earlier checks.");
13404         -
                let partition_result = context
13405         -
                    .partition_result
       11062  +
                            let access_point_name_ssa_1 = context
       11063  +
                                .access_point_name_ssa_1
13406  11064   
                                .as_ref()
13407         -
                    .map(|s| s.clone())
13408  11065   
                                .expect("Guaranteed to have a value by earlier checks.");
13409  11066   
                            ::std::result::Result::Ok(
13410  11067   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
13411  11068   
                                    .url({
13412  11069   
                                        let mut out = String::new();
13413         -
                            out.push_str("https://");
13414  11070   
                                        #[allow(clippy::needless_borrow)]
13415         -
                            out.push_str(&bucket.as_ref());
13416         -
                            out.push_str(".s3-fips.");
       11071  +
                                        out.push_str(&url.scheme());
       11072  +
                                        out.push_str("://");
13417  11073   
                                        #[allow(clippy::needless_borrow)]
13418         -
                            out.push_str(&effective_std_region.as_ref());
       11074  +
                                        out.push_str(&access_point_name_ssa_1.as_ref());
       11075  +
                                        out.push('-');
       11076  +
                                        #[allow(clippy::needless_borrow)]
       11077  +
                                        out.push_str(&bucket_arn.account_id());
13419  11078   
                                        out.push('.');
13420  11079   
                                        #[allow(clippy::needless_borrow)]
13421         -
                            out.push_str(&partition_result.dns_suffix());
       11080  +
                                        out.push_str(&url.authority());
       11081  +
                                        #[allow(clippy::needless_borrow)]
       11082  +
                                        out.push_str(&url.path());
13422  11083   
                                        out
13423  11084   
                                    })
13424         -
                        .property(
13425         -
                            "authSchemes",
13426         -
                            vec![::aws_smithy_types::Document::from({
13427         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13428         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13429         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13430         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13431         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13432         -
                                out
13433         -
                            })],
       11085  +
                                    .auth_scheme(
       11086  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11087  +
                                            .put("disableDoubleEncoding", true)
       11088  +
                                            .put("signingName", "s3-object-lambda")
       11089  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
13434  11090   
                                    )
13435  11091   
                                    .build(),
13436  11092   
                            )
13437  11093   
                        }
13438         -
            Self::Result26 => {
13439         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13440         -
                let effective_std_region = context
13441         -
                    .effective_std_region
       11094  +
                        41 => {
       11095  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11096  +
                            let effective_arn_region = context
       11097  +
                                .effective_arn_region
13442  11098   
                                .as_ref()
13443         -
                    .map(|s| s.clone())
13444  11099   
                                .expect("Guaranteed to have a value by earlier checks.");
13445         -
                let partition_result = context
13446         -
                    .partition_result
       11100  +
                            let access_point_name_ssa_1 = context
       11101  +
                                .access_point_name_ssa_1
13447  11102   
                                .as_ref()
13448         -
                    .map(|s| s.clone())
13449  11103   
                                .expect("Guaranteed to have a value by earlier checks.");
       11104  +
                            let bucket_partition = context.bucket_partition.as_ref().expect("Guaranteed to have a value by earlier checks.");
13450  11105   
                            ::std::result::Result::Ok(
13451  11106   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
13452  11107   
                                    .url({
13453  11108   
                                        let mut out = String::new();
13454  11109   
                                        out.push_str("https://");
13455  11110   
                                        #[allow(clippy::needless_borrow)]
13456         -
                            out.push_str(&bucket.as_ref());
13457         -
                            out.push_str(".s3-accelerate.dualstack.");
       11111  +
                                        out.push_str(&access_point_name_ssa_1.as_ref());
       11112  +
                                        out.push('-');
13458  11113   
                                        #[allow(clippy::needless_borrow)]
13459         -
                            out.push_str(&effective_std_region.as_ref());
13460         -
                            out.push('.');
       11114  +
                                        out.push_str(&bucket_arn.account_id());
       11115  +
                                        out.push_str(".s3-object-lambda-fips.");
13461  11116   
                                        #[allow(clippy::needless_borrow)]
13462         -
                            out.push_str(&partition_result.dns_suffix());
13463         -
                            out
13464         -
                        })
13465         -
                        .property(
13466         -
                            "authSchemes",
13467         -
                            vec![::aws_smithy_types::Document::from({
13468         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13469         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13470         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13471         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13472         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13473         -
                                out
13474         -
                            })],
13475         -
                        )
13476         -
                        .build(),
13477         -
                )
13478         -
            }
13479         -
            Self::Result27 => {
13480         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13481         -
                let effective_std_region = context
13482         -
                    .effective_std_region
13483         -
                    .as_ref()
13484         -
                    .map(|s| s.clone())
13485         -
                    .expect("Guaranteed to have a value by earlier checks.");
13486         -
                let partition_result = context
13487         -
                    .partition_result
13488         -
                    .as_ref()
13489         -
                    .map(|s| s.clone())
13490         -
                    .expect("Guaranteed to have a value by earlier checks.");
13491         -
                ::std::result::Result::Ok(
13492         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13493         -
                        .url({
13494         -
                            let mut out = String::new();
13495         -
                            out.push_str("https://");
13496         -
                            #[allow(clippy::needless_borrow)]
13497         -
                            out.push_str(&bucket.as_ref());
13498         -
                            out.push_str(".s3-accelerate.dualstack.");
       11117  +
                                        out.push_str(&effective_arn_region.as_ref());
       11118  +
                                        out.push('.');
13499  11119   
                                        #[allow(clippy::needless_borrow)]
13500         -
                            out.push_str(&partition_result.dns_suffix());
       11120  +
                                        out.push_str(&bucket_partition.dns_suffix());
13501  11121   
                                        out
13502  11122   
                                    })
13503         -
                        .property(
13504         -
                            "authSchemes",
13505         -
                            vec![::aws_smithy_types::Document::from({
13506         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13507         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13508         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13509         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13510         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13511         -
                                out
13512         -
                            })],
       11123  +
                                    .auth_scheme(
       11124  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11125  +
                                            .put("disableDoubleEncoding", true)
       11126  +
                                            .put("signingName", "s3-object-lambda")
       11127  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
13513  11128   
                                    )
13514  11129   
                                    .build(),
13515  11130   
                            )
13516  11131   
                        }
13517         -
            Self::Result28 => {
13518         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13519         -
                let effective_std_region = context
13520         -
                    .effective_std_region
       11132  +
                        42 => {
       11133  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11134  +
                            let effective_arn_region = context
       11135  +
                                .effective_arn_region
13521  11136   
                                .as_ref()
13522         -
                    .map(|s| s.clone())
13523  11137   
                                .expect("Guaranteed to have a value by earlier checks.");
13524         -
                let partition_result = context
13525         -
                    .partition_result
       11138  +
                            let access_point_name_ssa_1 = context
       11139  +
                                .access_point_name_ssa_1
13526  11140   
                                .as_ref()
13527         -
                    .map(|s| s.clone())
13528  11141   
                                .expect("Guaranteed to have a value by earlier checks.");
       11142  +
                            let bucket_partition = context.bucket_partition.as_ref().expect("Guaranteed to have a value by earlier checks.");
13529  11143   
                            ::std::result::Result::Ok(
13530  11144   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
13531  11145   
                                    .url({
13532  11146   
                                        let mut out = String::new();
13533  11147   
                                        out.push_str("https://");
13534  11148   
                                        #[allow(clippy::needless_borrow)]
13535         -
                            out.push_str(&bucket.as_ref());
13536         -
                            out.push_str(".s3.dualstack.");
       11149  +
                                        out.push_str(&access_point_name_ssa_1.as_ref());
       11150  +
                                        out.push('-');
13537  11151   
                                        #[allow(clippy::needless_borrow)]
13538         -
                            out.push_str(&effective_std_region.as_ref());
       11152  +
                                        out.push_str(&bucket_arn.account_id());
       11153  +
                                        out.push_str(".s3-object-lambda.");
       11154  +
                                        #[allow(clippy::needless_borrow)]
       11155  +
                                        out.push_str(&effective_arn_region.as_ref());
13539  11156   
                                        out.push('.');
13540  11157   
                                        #[allow(clippy::needless_borrow)]
13541         -
                            out.push_str(&partition_result.dns_suffix());
       11158  +
                                        out.push_str(&bucket_partition.dns_suffix());
13542  11159   
                                        out
13543  11160   
                                    })
13544         -
                        .property(
13545         -
                            "authSchemes",
13546         -
                            vec![::aws_smithy_types::Document::from({
13547         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13548         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13549         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13550         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13551         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13552         -
                                out
13553         -
                            })],
       11161  +
                                    .auth_scheme(
       11162  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11163  +
                                            .put("disableDoubleEncoding", true)
       11164  +
                                            .put("signingName", "s3-object-lambda")
       11165  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
13554  11166   
                                    )
13555  11167   
                                    .build(),
13556  11168   
                            )
13557  11169   
                        }
13558         -
            Self::Result29 => {
13559         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13560         -
                let effective_std_region = context
13561         -
                    .effective_std_region
13562         -
                    .as_ref()
13563         -
                    .map(|s| s.clone())
13564         -
                    .expect("Guaranteed to have a value by earlier checks.");
13565         -
                let url = context
13566         -
                    .url
       11170  +
                        43 => {
       11171  +
                            let access_point_name_ssa_1 = context
       11172  +
                                .access_point_name_ssa_1
13567  11173   
                                .as_ref()
13568         -
                    .map(|s| s.clone())
13569  11174   
                                .expect("Guaranteed to have a value by earlier checks.");
13570         -
                ::std::result::Result::Ok(
13571         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13572         -
                        .url({
       11175  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
13573  11176   
                                let mut out = String::new();
       11177  +
                                out.push_str("Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `");
13574  11178   
                                #[allow(clippy::needless_borrow)]
13575         -
                            out.push_str(&url.scheme());
13576         -
                            out.push_str("://");
13577         -
                            #[allow(clippy::needless_borrow)]
13578         -
                            out.push_str(&url.authority());
13579         -
                            #[allow(clippy::needless_borrow)]
13580         -
                            out.push_str(&url.normalized_path());
       11179  +
                                out.push_str(&access_point_name_ssa_1.as_ref());
       11180  +
                                out.push('`');
       11181  +
                                out
       11182  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11183  +
                        }
       11184  +
                        44 => {
       11185  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11186  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11187  +
                                let mut out = String::new();
       11188  +
                                out.push_str("Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `");
13581  11189   
                                #[allow(clippy::needless_borrow)]
13582         -
                            out.push_str(&bucket.as_ref());
       11190  +
                                out.push_str(&bucket_arn.account_id());
       11191  +
                                out.push('`');
13583  11192   
                                out
13584         -
                        })
13585         -
                        .property(
13586         -
                            "authSchemes",
13587         -
                            vec![::aws_smithy_types::Document::from({
13588         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13589         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13590         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13591         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13592         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
       11193  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11194  +
                        }
       11195  +
                        45 => {
       11196  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11197  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11198  +
                                let mut out = String::new();
       11199  +
                                out.push_str("Invalid region in ARN: `");
       11200  +
                                #[allow(clippy::needless_borrow)]
       11201  +
                                out.push_str(&bucket_arn.region());
       11202  +
                                out.push_str("` (invalid DNS name)");
13593  11203   
                                out
13594         -
                            })],
13595         -
                        )
13596         -
                        .build(),
13597         -
                )
       11204  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
13598  11205   
                        }
13599         -
            Self::Result30 => {
13600         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13601         -
                let effective_std_region = context
13602         -
                    .effective_std_region
13603         -
                    .as_ref()
13604         -
                    .map(|s| s.clone())
13605         -
                    .expect("Guaranteed to have a value by earlier checks.");
13606         -
                let url = context
13607         -
                    .url
13608         -
                    .as_ref()
13609         -
                    .map(|s| s.clone())
13610         -
                    .expect("Guaranteed to have a value by earlier checks.");
13611         -
                ::std::result::Result::Ok(
13612         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
13613         -
                        .url({
       11206  +
                        46 => {
       11207  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       11208  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11209  +
                            let bucket_partition = context.bucket_partition.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11210  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
13614  11211   
                                let mut out = String::new();
       11212  +
                                out.push_str("Client was configured for partition `");
13615  11213   
                                #[allow(clippy::needless_borrow)]
13616         -
                            out.push_str(&url.scheme());
13617         -
                            out.push_str("://");
       11214  +
                                out.push_str(&partition_result.name());
       11215  +
                                out.push_str("` but ARN (`");
13618  11216   
                                #[allow(clippy::needless_borrow)]
13619  11217   
                                out.push_str(&bucket.as_ref());
13620         -
                            out.push('.');
13621         -
                            #[allow(clippy::needless_borrow)]
13622         -
                            out.push_str(&url.authority());
       11218  +
                                out.push_str("`) has `");
13623  11219   
                                #[allow(clippy::needless_borrow)]
13624         -
                            out.push_str(&url.path());
       11220  +
                                out.push_str(&bucket_partition.name());
       11221  +
                                out.push('`');
13625  11222   
                                out
13626         -
                        })
13627         -
                        .property(
13628         -
                            "authSchemes",
13629         -
                            vec![::aws_smithy_types::Document::from({
13630         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13631         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13632         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13633         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13634         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
       11223  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11224  +
                        }
       11225  +
                        47 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11226  +
                            "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.".to_string(),
       11227  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11228  +
                        48 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11229  +
                            "Invalid ARN: bucket ARN is missing a region".to_string(),
       11230  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11231  +
                        49 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11232  +
                            "Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided".to_string(),
       11233  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11234  +
                        50 => {
       11235  +
                            let arn_type = context.arn_type.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11236  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11237  +
                                let mut out = String::new();
       11238  +
                                out.push_str("Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `");
       11239  +
                                #[allow(clippy::needless_borrow)]
       11240  +
                                out.push_str(&arn_type.as_ref());
       11241  +
                                out.push('`');
13635  11242   
                                out
13636         -
                            })],
13637         -
                        )
13638         -
                        .build(),
13639         -
                )
       11243  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
13640  11244   
                        }
13641         -
            Self::Result31 => {
13642         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13643         -
                let effective_std_region = context
13644         -
                    .effective_std_region
       11245  +
                        51 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11246  +
                            "Access Points do not support S3 Accelerate".to_string(),
       11247  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11248  +
                        52 => {
       11249  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11250  +
                            let effective_arn_region = context
       11251  +
                                .effective_arn_region
13645  11252   
                                .as_ref()
13646         -
                    .map(|s| s.clone())
13647  11253   
                                .expect("Guaranteed to have a value by earlier checks.");
13648         -
                let partition_result = context
13649         -
                    .partition_result
       11254  +
                            let access_point_name_ssa_1 = context
       11255  +
                                .access_point_name_ssa_1
13650  11256   
                                .as_ref()
13651         -
                    .map(|s| s.clone())
13652  11257   
                                .expect("Guaranteed to have a value by earlier checks.");
       11258  +
                            let bucket_partition = context.bucket_partition.as_ref().expect("Guaranteed to have a value by earlier checks.");
13653  11259   
                            ::std::result::Result::Ok(
13654  11260   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
13655  11261   
                                    .url({
13656  11262   
                                        let mut out = String::new();
13657  11263   
                                        out.push_str("https://");
13658  11264   
                                        #[allow(clippy::needless_borrow)]
13659         -
                            out.push_str(&bucket.as_ref());
13660         -
                            out.push_str(".s3-accelerate.");
       11265  +
                                        out.push_str(&access_point_name_ssa_1.as_ref());
       11266  +
                                        out.push('-');
13661  11267   
                                        #[allow(clippy::needless_borrow)]
13662         -
                            out.push_str(&partition_result.dns_suffix());
       11268  +
                                        out.push_str(&bucket_arn.account_id());
       11269  +
                                        out.push_str(".s3-accesspoint-fips.dualstack.");
       11270  +
                                        #[allow(clippy::needless_borrow)]
       11271  +
                                        out.push_str(&effective_arn_region.as_ref());
       11272  +
                                        out.push('.');
       11273  +
                                        #[allow(clippy::needless_borrow)]
       11274  +
                                        out.push_str(&bucket_partition.dns_suffix());
13663  11275   
                                        out
13664  11276   
                                    })
13665         -
                        .property(
13666         -
                            "authSchemes",
13667         -
                            vec![::aws_smithy_types::Document::from({
13668         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13669         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13670         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13671         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13672         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13673         -
                                out
13674         -
                            })],
       11277  +
                                    .auth_scheme(
       11278  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11279  +
                                            .put("disableDoubleEncoding", true)
       11280  +
                                            .put("signingName", "s3")
       11281  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
13675  11282   
                                    )
13676  11283   
                                    .build(),
13677  11284   
                            )
13678  11285   
                        }
13679         -
            Self::Result32 => {
13680         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13681         -
                let effective_std_region = context
13682         -
                    .effective_std_region
       11286  +
                        53 => {
       11287  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11288  +
                            let effective_arn_region = context
       11289  +
                                .effective_arn_region
13683  11290   
                                .as_ref()
13684         -
                    .map(|s| s.clone())
13685  11291   
                                .expect("Guaranteed to have a value by earlier checks.");
13686         -
                let partition_result = context
13687         -
                    .partition_result
       11292  +
                            let access_point_name_ssa_1 = context
       11293  +
                                .access_point_name_ssa_1
13688  11294   
                                .as_ref()
13689         -
                    .map(|s| s.clone())
13690  11295   
                                .expect("Guaranteed to have a value by earlier checks.");
       11296  +
                            let bucket_partition = context.bucket_partition.as_ref().expect("Guaranteed to have a value by earlier checks.");
13691  11297   
                            ::std::result::Result::Ok(
13692  11298   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
13693  11299   
                                    .url({
13694  11300   
                                        let mut out = String::new();
13695  11301   
                                        out.push_str("https://");
13696  11302   
                                        #[allow(clippy::needless_borrow)]
13697         -
                            out.push_str(&bucket.as_ref());
13698         -
                            out.push_str(".s3.");
       11303  +
                                        out.push_str(&access_point_name_ssa_1.as_ref());
       11304  +
                                        out.push('-');
13699  11305   
                                        #[allow(clippy::needless_borrow)]
13700         -
                            out.push_str(&partition_result.dns_suffix());
       11306  +
                                        out.push_str(&bucket_arn.account_id());
       11307  +
                                        out.push_str(".s3-accesspoint-fips.");
       11308  +
                                        #[allow(clippy::needless_borrow)]
       11309  +
                                        out.push_str(&effective_arn_region.as_ref());
       11310  +
                                        out.push('.');
       11311  +
                                        #[allow(clippy::needless_borrow)]
       11312  +
                                        out.push_str(&bucket_partition.dns_suffix());
13701  11313   
                                        out
13702  11314   
                                    })
13703         -
                        .property(
13704         -
                            "authSchemes",
13705         -
                            vec![::aws_smithy_types::Document::from({
13706         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13707         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13708         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13709         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13710         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13711         -
                                out
13712         -
                            })],
       11315  +
                                    .auth_scheme(
       11316  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11317  +
                                            .put("disableDoubleEncoding", true)
       11318  +
                                            .put("signingName", "s3")
       11319  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
13713  11320   
                                    )
13714  11321   
                                    .build(),
13715  11322   
                            )
13716  11323   
                        }
13717         -
            Self::Result33 => {
13718         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13719         -
                let effective_std_region = context
13720         -
                    .effective_std_region
       11324  +
                        54 => {
       11325  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11326  +
                            let effective_arn_region = context
       11327  +
                                .effective_arn_region
13721  11328   
                                .as_ref()
13722         -
                    .map(|s| s.clone())
13723  11329   
                                .expect("Guaranteed to have a value by earlier checks.");
13724         -
                let partition_result = context
13725         -
                    .partition_result
       11330  +
                            let access_point_name_ssa_1 = context
       11331  +
                                .access_point_name_ssa_1
13726  11332   
                                .as_ref()
13727         -
                    .map(|s| s.clone())
13728  11333   
                                .expect("Guaranteed to have a value by earlier checks.");
       11334  +
                            let bucket_partition = context.bucket_partition.as_ref().expect("Guaranteed to have a value by earlier checks.");
13729  11335   
                            ::std::result::Result::Ok(
13730  11336   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
13731  11337   
                                    .url({
13732  11338   
                                        let mut out = String::new();
13733  11339   
                                        out.push_str("https://");
13734  11340   
                                        #[allow(clippy::needless_borrow)]
13735         -
                            out.push_str(&bucket.as_ref());
13736         -
                            out.push_str(".s3.");
       11341  +
                                        out.push_str(&access_point_name_ssa_1.as_ref());
       11342  +
                                        out.push('-');
13737  11343   
                                        #[allow(clippy::needless_borrow)]
13738         -
                            out.push_str(&effective_std_region.as_ref());
       11344  +
                                        out.push_str(&bucket_arn.account_id());
       11345  +
                                        out.push_str(".s3-accesspoint.dualstack.");
       11346  +
                                        #[allow(clippy::needless_borrow)]
       11347  +
                                        out.push_str(&effective_arn_region.as_ref());
13739  11348   
                                        out.push('.');
13740  11349   
                                        #[allow(clippy::needless_borrow)]
13741         -
                            out.push_str(&partition_result.dns_suffix());
       11350  +
                                        out.push_str(&bucket_partition.dns_suffix());
13742  11351   
                                        out
13743  11352   
                                    })
13744         -
                        .property(
13745         -
                            "authSchemes",
13746         -
                            vec![::aws_smithy_types::Document::from({
13747         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13748         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13749         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13750         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
13751         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
13752         -
                                out
13753         -
                            })],
       11353  +
                                    .auth_scheme(
       11354  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11355  +
                                            .put("disableDoubleEncoding", true)
       11356  +
                                            .put("signingName", "s3")
       11357  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
13754  11358   
                                    )
13755  11359   
                                    .build(),
13756  11360   
                            )
13757  11361   
                        }
13758         -
            Self::Result34 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
13759         -
                "Invalid region: region was not a valid DNS name.".to_string(),
13760         -
            )),
13761         -
            Self::Result35 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
13762         -
                "S3 Object Lambda does not support Dual-stack".to_string(),
13763         -
            )),
13764         -
            Self::Result36 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
13765         -
                "S3 Object Lambda does not support S3 Accelerate".to_string(),
13766         -
            )),
13767         -
            Self::Result37 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
13768         -
                "Access points are not supported for this operation".to_string(),
13769         -
            )),
13770         -
            Self::Result38 => {
13771         -
                let region = params.region.as_ref().map(|s| s.clone()).unwrap_or_default();
13772         -
                let bucket_arn = context
13773         -
                    .bucket_arn
13774         -
                    .as_ref()
13775         -
                    .map(|s| s.clone())
13776         -
                    .expect("Guaranteed to have a value by earlier checks.");
13777         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
13778         -
                    let mut out = String::new();
13779         -
                    out.push_str("Invalid configuration: region from ARN `");
13780         -
                    #[allow(clippy::needless_borrow)]
13781         -
                    out.push_str(&bucket_arn.region());
13782         -
                    out.push_str("` does not match client region `");
13783         -
                    #[allow(clippy::needless_borrow)]
13784         -
                    out.push_str(&region.as_ref());
13785         -
                    out.push_str("` and UseArnRegion is `false`");
13786         -
                    out
13787         -
                }))
13788         -
            }
13789         -
            Self::Result39 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
13790         -
                "Invalid ARN: Missing account id".to_string(),
13791         -
            )),
13792         -
            Self::Result40 => {
13793         -
                let url = context
13794         -
                    .url
13795         -
                    .as_ref()
13796         -
                    .map(|s| s.clone())
13797         -
                    .expect("Guaranteed to have a value by earlier checks.");
13798         -
                let bucket_arn = context
13799         -
                    .bucket_arn
13800         -
                    .as_ref()
13801         -
                    .map(|s| s.clone())
13802         -
                    .expect("Guaranteed to have a value by earlier checks.");
       11362  +
                        55 => {
       11363  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11364  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
13803  11365   
                            let effective_arn_region = context
13804  11366   
                                .effective_arn_region
13805  11367   
                                .as_ref()
13806         -
                    .map(|s| s.clone())
13807  11368   
                                .expect("Guaranteed to have a value by earlier checks.");
13808  11369   
                            let access_point_name_ssa_1 = context
13809  11370   
                                .access_point_name_ssa_1
13810  11371   
                                .as_ref()
13811         -
                    .map(|s| s.clone())
13812  11372   
                                .expect("Guaranteed to have a value by earlier checks.");
13813  11373   
                            ::std::result::Result::Ok(
13814  11374   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
13815  11375   
                                    .url({
13816  11376   
                                        let mut out = String::new();
13817  11377   
                                        #[allow(clippy::needless_borrow)]
13818  11378   
                                        out.push_str(&url.scheme());
13819  11379   
                                        out.push_str("://");
13820  11380   
                                        #[allow(clippy::needless_borrow)]
13821  11381   
                                        out.push_str(&access_point_name_ssa_1.as_ref());
13822  11382   
                                        out.push('-');
13823  11383   
                                        #[allow(clippy::needless_borrow)]
13824  11384   
                                        out.push_str(&bucket_arn.account_id());
13825  11385   
                                        out.push('.');
13826  11386   
                                        #[allow(clippy::needless_borrow)]
13827  11387   
                                        out.push_str(&url.authority());
13828  11388   
                                        #[allow(clippy::needless_borrow)]
13829  11389   
                                        out.push_str(&url.path());
13830  11390   
                                        out
13831  11391   
                                    })
13832         -
                        .property(
13833         -
                            "authSchemes",
13834         -
                            vec![::aws_smithy_types::Document::from({
13835         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13836         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13837         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13838         -
                                out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
13839         -
                                out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
13840         -
                                out
13841         -
                            })],
       11392  +
                                    .auth_scheme(
       11393  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11394  +
                                            .put("disableDoubleEncoding", true)
       11395  +
                                            .put("signingName", "s3")
       11396  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
13842  11397   
                                    )
13843  11398   
                                    .build(),
13844  11399   
                            )
13845  11400   
                        }
13846         -
            Self::Result41 => {
13847         -
                let bucket_arn = context
13848         -
                    .bucket_arn
13849         -
                    .as_ref()
13850         -
                    .map(|s| s.clone())
13851         -
                    .expect("Guaranteed to have a value by earlier checks.");
       11401  +
                        56 => {
       11402  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
13852  11403   
                            let effective_arn_region = context
13853  11404   
                                .effective_arn_region
13854  11405   
                                .as_ref()
13855         -
                    .map(|s| s.clone())
13856  11406   
                                .expect("Guaranteed to have a value by earlier checks.");
13857  11407   
                            let access_point_name_ssa_1 = context
13858  11408   
                                .access_point_name_ssa_1
13859  11409   
                                .as_ref()
13860         -
                    .map(|s| s.clone())
13861         -
                    .expect("Guaranteed to have a value by earlier checks.");
13862         -
                let bucket_partition = context
13863         -
                    .bucket_partition
13864         -
                    .as_ref()
13865         -
                    .map(|s| s.clone())
13866  11410   
                                .expect("Guaranteed to have a value by earlier checks.");
       11411  +
                            let bucket_partition = context.bucket_partition.as_ref().expect("Guaranteed to have a value by earlier checks.");
13867  11412   
                            ::std::result::Result::Ok(
13868  11413   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
13869  11414   
                                    .url({
13870  11415   
                                        let mut out = String::new();
13871  11416   
                                        out.push_str("https://");
13872  11417   
                                        #[allow(clippy::needless_borrow)]
13873  11418   
                                        out.push_str(&access_point_name_ssa_1.as_ref());
13874  11419   
                                        out.push('-');
13875  11420   
                                        #[allow(clippy::needless_borrow)]
13876  11421   
                                        out.push_str(&bucket_arn.account_id());
13877         -
                            out.push_str(".s3-object-lambda-fips.");
       11422  +
                                        out.push_str(".s3-accesspoint.");
13878  11423   
                                        #[allow(clippy::needless_borrow)]
13879  11424   
                                        out.push_str(&effective_arn_region.as_ref());
13880  11425   
                                        out.push('.');
13881  11426   
                                        #[allow(clippy::needless_borrow)]
13882  11427   
                                        out.push_str(&bucket_partition.dns_suffix());
13883  11428   
                                        out
13884  11429   
                                    })
13885         -
                        .property(
13886         -
                            "authSchemes",
13887         -
                            vec![::aws_smithy_types::Document::from({
13888         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13889         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13890         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13891         -
                                out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
13892         -
                                out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
13893         -
                                out
13894         -
                            })],
       11430  +
                                    .auth_scheme(
       11431  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11432  +
                                            .put("disableDoubleEncoding", true)
       11433  +
                                            .put("signingName", "s3")
       11434  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
13895  11435   
                                    )
13896  11436   
                                    .build(),
13897  11437   
                            )
13898  11438   
                        }
13899         -
            Self::Result42 => {
13900         -
                let bucket_arn = context
13901         -
                    .bucket_arn
13902         -
                    .as_ref()
13903         -
                    .map(|s| s.clone())
13904         -
                    .expect("Guaranteed to have a value by earlier checks.");
13905         -
                let effective_arn_region = context
13906         -
                    .effective_arn_region
13907         -
                    .as_ref()
13908         -
                    .map(|s| s.clone())
13909         -
                    .expect("Guaranteed to have a value by earlier checks.");
       11439  +
                        57 => {
       11440  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11441  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11442  +
                                let mut out = String::new();
       11443  +
                                out.push_str("Invalid ARN: The ARN was not for the S3 service, found: ");
       11444  +
                                #[allow(clippy::needless_borrow)]
       11445  +
                                out.push_str(&bucket_arn.service());
       11446  +
                                out
       11447  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11448  +
                        }
       11449  +
                        58 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11450  +
                            "S3 MRAP does not support dual-stack".to_string(),
       11451  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11452  +
                        59 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11453  +
                            "S3 MRAP does not support FIPS".to_string(),
       11454  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11455  +
                        60 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11456  +
                            "S3 MRAP does not support S3 Accelerate".to_string(),
       11457  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11458  +
                        61 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11459  +
                            "Invalid configuration: Multi-Region Access Point ARNs are disabled.".to_string(),
       11460  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11461  +
                        62 => {
       11462  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
13910  11463   
                            let access_point_name_ssa_1 = context
13911  11464   
                                .access_point_name_ssa_1
13912  11465   
                                .as_ref()
13913         -
                    .map(|s| s.clone())
13914         -
                    .expect("Guaranteed to have a value by earlier checks.");
13915         -
                let bucket_partition = context
13916         -
                    .bucket_partition
13917         -
                    .as_ref()
13918         -
                    .map(|s| s.clone())
13919  11466   
                                .expect("Guaranteed to have a value by earlier checks.");
13920  11467   
                            ::std::result::Result::Ok(
13921  11468   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
13922  11469   
                                    .url({
13923  11470   
                                        let mut out = String::new();
13924  11471   
                                        out.push_str("https://");
13925  11472   
                                        #[allow(clippy::needless_borrow)]
13926  11473   
                                        out.push_str(&access_point_name_ssa_1.as_ref());
13927         -
                            out.push('-');
13928         -
                            #[allow(clippy::needless_borrow)]
13929         -
                            out.push_str(&bucket_arn.account_id());
13930         -
                            out.push_str(".s3-object-lambda.");
13931         -
                            #[allow(clippy::needless_borrow)]
13932         -
                            out.push_str(&effective_arn_region.as_ref());
13933         -
                            out.push('.');
       11474  +
                                        out.push_str(".accesspoint.s3-global.");
13934  11475   
                                        #[allow(clippy::needless_borrow)]
13935         -
                            out.push_str(&bucket_partition.dns_suffix());
       11476  +
                                        out.push_str(&partition_result.dns_suffix());
13936  11477   
                                        out
13937  11478   
                                    })
13938         -
                        .property(
13939         -
                            "authSchemes",
13940         -
                            vec![::aws_smithy_types::Document::from({
13941         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
13942         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
13943         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
13944         -
                                out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
13945         -
                                out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
13946         -
                                out
13947         -
                            })],
       11479  +
                                    .auth_scheme(
       11480  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a".to_string(), 3)
       11481  +
                                            .put("disableDoubleEncoding", true)
       11482  +
                                            .put("signingName", "s3")
       11483  +
                                            .put("signingRegionSet", vec![::aws_smithy_types::Document::from("*".to_string())]),
13948  11484   
                                    )
13949  11485   
                                    .build(),
13950  11486   
                            )
13951  11487   
                        }
13952         -
            Self::Result43 => {
13953         -
                let access_point_name_ssa_1 = context
13954         -
                    .access_point_name_ssa_1
13955         -
                    .as_ref()
13956         -
                    .map(|s| s.clone())
13957         -
                    .expect("Guaranteed to have a value by earlier checks.");
13958         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11488  +
                        63 => {
       11489  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11490  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11491  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
13959  11492   
                                let mut out = String::new();
13960         -
                    out.push_str("Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `");
       11493  +
                                out.push_str("Client was configured for partition `");
13961  11494   
                                #[allow(clippy::needless_borrow)]
13962         -
                    out.push_str(&access_point_name_ssa_1.as_ref());
       11495  +
                                out.push_str(&partition_result.name());
       11496  +
                                out.push_str("` but bucket referred to partition `");
       11497  +
                                #[allow(clippy::needless_borrow)]
       11498  +
                                out.push_str(&bucket_arn.partition());
13963  11499   
                                out.push('`');
13964  11500   
                                out
13965         -
                }))
       11501  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
13966  11502   
                        }
13967         -
            Self::Result44 => {
13968         -
                let bucket_arn = context
13969         -
                    .bucket_arn
       11503  +
                        64 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11504  +
                            "Invalid Access Point Name".to_string(),
       11505  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11506  +
                        65 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11507  +
                            "S3 Outposts does not support Dual-stack".to_string(),
       11508  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11509  +
                        66 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11510  +
                            "S3 Outposts does not support FIPS".to_string(),
       11511  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11512  +
                        67 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11513  +
                            "S3 Outposts does not support S3 Accelerate".to_string(),
       11514  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11515  +
                        68 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11516  +
                            "Invalid Arn: Outpost Access Point ARN contains sub resources".to_string(),
       11517  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11518  +
                        69 => {
       11519  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11520  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11521  +
                            let effective_arn_region = context
       11522  +
                                .effective_arn_region
13970  11523   
                                .as_ref()
13971         -
                    .map(|s| s.clone())
13972  11524   
                                .expect("Guaranteed to have a value by earlier checks.");
13973         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
13974         -
                    let mut out = String::new();
13975         -
                    out.push_str("Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `");
13976         -
                    #[allow(clippy::needless_borrow)]
13977         -
                    out.push_str(&bucket_arn.account_id());
13978         -
                    out.push('`');
13979         -
                    out
13980         -
                }))
13981         -
            }
13982         -
            Self::Result45 => {
13983         -
                let bucket_arn = context
13984         -
                    .bucket_arn
       11525  +
                            let outpost_id_ssa_1 = context.outpost_id_ssa_1.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11526  +
                            let access_point_name_ssa_2 = context
       11527  +
                                .access_point_name_ssa_2
13985  11528   
                                .as_ref()
13986         -
                    .map(|s| s.clone())
13987  11529   
                                .expect("Guaranteed to have a value by earlier checks.");
13988         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
13989         -
                    let mut out = String::new();
13990         -
                    out.push_str("Invalid region in ARN: `");
13991         -
                    #[allow(clippy::needless_borrow)]
13992         -
                    out.push_str(&bucket_arn.region());
13993         -
                    out.push_str("` (invalid DNS name)");
13994         -
                    out
13995         -
                }))
13996         -
            }
13997         -
            Self::Result46 => {
13998         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
13999         -
                let partition_result = context
14000         -
                    .partition_result
14001         -
                    .as_ref()
14002         -
                    .map(|s| s.clone())
14003         -
                    .expect("Guaranteed to have a value by earlier checks.");
14004         -
                let bucket_partition = context
14005         -
                    .bucket_partition
14006         -
                    .as_ref()
14007         -
                    .map(|s| s.clone())
14008         -
                    .expect("Guaranteed to have a value by earlier checks.");
14009         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11530  +
                            ::std::result::Result::Ok(
       11531  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11532  +
                                    .url({
14010  11533   
                                        let mut out = String::new();
14011         -
                    out.push_str("Client was configured for partition `");
       11534  +
                                        out.push_str("https://");
14012  11535   
                                        #[allow(clippy::needless_borrow)]
14013         -
                    out.push_str(&partition_result.name());
14014         -
                    out.push_str("` but ARN (`");
       11536  +
                                        out.push_str(&access_point_name_ssa_2.as_ref());
       11537  +
                                        out.push('-');
14015  11538   
                                        #[allow(clippy::needless_borrow)]
14016         -
                    out.push_str(&bucket.as_ref());
14017         -
                    out.push_str("`) has `");
       11539  +
                                        out.push_str(&bucket_arn.account_id());
       11540  +
                                        out.push('.');
14018  11541   
                                        #[allow(clippy::needless_borrow)]
14019         -
                    out.push_str(&bucket_partition.name());
14020         -
                    out.push('`');
14021         -
                    out
14022         -
                }))
14023         -
            }
14024         -
            Self::Result47 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14025         -
                "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.".to_string(),
14026         -
            )),
14027         -
            Self::Result48 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14028         -
                "Invalid ARN: bucket ARN is missing a region".to_string(),
14029         -
            )),
14030         -
            Self::Result49 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14031         -
                "Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided".to_string(),
14032         -
            )),
14033         -
            Self::Result50 => {
14034         -
                let arn_type = context
14035         -
                    .arn_type
14036         -
                    .as_ref()
14037         -
                    .map(|s| s.clone())
14038         -
                    .expect("Guaranteed to have a value by earlier checks.");
14039         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
14040         -
                    let mut out = String::new();
14041         -
                    out.push_str("Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `");
       11542  +
                                        out.push_str(&outpost_id_ssa_1.as_ref());
       11543  +
                                        out.push('.');
14042  11544   
                                        #[allow(clippy::needless_borrow)]
14043         -
                    out.push_str(&arn_type.as_ref());
14044         -
                    out.push('`');
       11545  +
                                        out.push_str(&url.authority());
14045  11546   
                                        out
14046         -
                }))
       11547  +
                                    })
       11548  +
                                    .auth_scheme(
       11549  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a".to_string(), 3)
       11550  +
                                            .put("disableDoubleEncoding", true)
       11551  +
                                            .put("signingName", "s3-outposts")
       11552  +
                                            .put("signingRegionSet", vec![::aws_smithy_types::Document::from("*".to_string())]),
       11553  +
                                    )
       11554  +
                                    .auth_scheme(
       11555  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11556  +
                                            .put("disableDoubleEncoding", true)
       11557  +
                                            .put("signingName", "s3-outposts")
       11558  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
       11559  +
                                    )
       11560  +
                                    .build(),
       11561  +
                            )
14047  11562   
                        }
14048         -
            Self::Result51 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14049         -
                "Access Points do not support S3 Accelerate".to_string(),
14050         -
            )),
14051         -
            Self::Result52 => {
14052         -
                let bucket_arn = context
14053         -
                    .bucket_arn
14054         -
                    .as_ref()
14055         -
                    .map(|s| s.clone())
14056         -
                    .expect("Guaranteed to have a value by earlier checks.");
       11563  +
                        70 => {
       11564  +
                            let bucket_arn = context.bucket_arn.as_ref().expect("Guaranteed to have a value by earlier checks.");
14057  11565   
                            let effective_arn_region = context
14058  11566   
                                .effective_arn_region
14059  11567   
                                .as_ref()
14060         -
                    .map(|s| s.clone())
14061         -
                    .expect("Guaranteed to have a value by earlier checks.");
14062         -
                let access_point_name_ssa_1 = context
14063         -
                    .access_point_name_ssa_1
14064         -
                    .as_ref()
14065         -
                    .map(|s| s.clone())
14066  11568   
                                .expect("Guaranteed to have a value by earlier checks.");
14067         -
                let bucket_partition = context
14068         -
                    .bucket_partition
       11569  +
                            let bucket_partition = context.bucket_partition.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11570  +
                            let outpost_id_ssa_1 = context.outpost_id_ssa_1.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11571  +
                            let access_point_name_ssa_2 = context
       11572  +
                                .access_point_name_ssa_2
14069  11573   
                                .as_ref()
14070         -
                    .map(|s| s.clone())
14071  11574   
                                .expect("Guaranteed to have a value by earlier checks.");
14072  11575   
                            ::std::result::Result::Ok(
14073  11576   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
14074  11577   
                                    .url({
14075  11578   
                                        let mut out = String::new();
14076  11579   
                                        out.push_str("https://");
14077  11580   
                                        #[allow(clippy::needless_borrow)]
14078         -
                            out.push_str(&access_point_name_ssa_1.as_ref());
       11581  +
                                        out.push_str(&access_point_name_ssa_2.as_ref());
14079  11582   
                                        out.push('-');
14080  11583   
                                        #[allow(clippy::needless_borrow)]
14081  11584   
                                        out.push_str(&bucket_arn.account_id());
14082         -
                            out.push_str(".s3-accesspoint-fips.dualstack.");
       11585  +
                                        out.push('.');
       11586  +
                                        #[allow(clippy::needless_borrow)]
       11587  +
                                        out.push_str(&outpost_id_ssa_1.as_ref());
       11588  +
                                        out.push_str(".s3-outposts.");
14083  11589   
                                        #[allow(clippy::needless_borrow)]
14084  11590   
                                        out.push_str(&effective_arn_region.as_ref());
14085  11591   
                                        out.push('.');
14086  11592   
                                        #[allow(clippy::needless_borrow)]
14087  11593   
                                        out.push_str(&bucket_partition.dns_suffix());
14088  11594   
                                        out
14089  11595   
                                    })
14090         -
                        .property(
14091         -
                            "authSchemes",
14092         -
                            vec![::aws_smithy_types::Document::from({
14093         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14094         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14095         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14096         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14097         -
                                out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
14098         -
                                out
14099         -
                            })],
       11596  +
                                    .auth_scheme(
       11597  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4a".to_string(), 3)
       11598  +
                                            .put("disableDoubleEncoding", true)
       11599  +
                                            .put("signingName", "s3-outposts")
       11600  +
                                            .put("signingRegionSet", vec![::aws_smithy_types::Document::from("*".to_string())]),
       11601  +
                                    )
       11602  +
                                    .auth_scheme(
       11603  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11604  +
                                            .put("disableDoubleEncoding", true)
       11605  +
                                            .put("signingName", "s3-outposts")
       11606  +
                                            .put("signingRegion", effective_arn_region.as_ref()),
14100  11607   
                                    )
14101  11608   
                                    .build(),
14102  11609   
                            )
14103  11610   
                        }
14104         -
            Self::Result53 => {
14105         -
                let bucket_arn = context
14106         -
                    .bucket_arn
14107         -
                    .as_ref()
14108         -
                    .map(|s| s.clone())
14109         -
                    .expect("Guaranteed to have a value by earlier checks.");
14110         -
                let effective_arn_region = context
14111         -
                    .effective_arn_region
14112         -
                    .as_ref()
14113         -
                    .map(|s| s.clone())
14114         -
                    .expect("Guaranteed to have a value by earlier checks.");
14115         -
                let access_point_name_ssa_1 = context
14116         -
                    .access_point_name_ssa_1
       11611  +
                        71 => {
       11612  +
                            let outpost_type = context.outpost_type.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11613  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11614  +
                                let mut out = String::new();
       11615  +
                                out.push_str("Expected an outpost type `accesspoint`, found ");
       11616  +
                                #[allow(clippy::needless_borrow)]
       11617  +
                                out.push_str(&outpost_type.as_ref());
       11618  +
                                out
       11619  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11620  +
                        }
       11621  +
                        72 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11622  +
                            "Invalid ARN: expected an access point name".to_string(),
       11623  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11624  +
                        73 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11625  +
                            "Invalid ARN: Expected a 4-component resource".to_string(),
       11626  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11627  +
                        74 => {
       11628  +
                            let outpost_id_ssa_1 = context.outpost_id_ssa_1.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11629  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11630  +
                                let mut out = String::new();
       11631  +
                                out.push_str("Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `");
       11632  +
                                #[allow(clippy::needless_borrow)]
       11633  +
                                out.push_str(&outpost_id_ssa_1.as_ref());
       11634  +
                                out.push('`');
       11635  +
                                out
       11636  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11637  +
                        }
       11638  +
                        75 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11639  +
                            "Invalid ARN: The Outpost Id was not set".to_string(),
       11640  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11641  +
                        76 => {
       11642  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       11643  +
                            let arn_type = context.arn_type.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11644  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11645  +
                                let mut out = String::new();
       11646  +
                                out.push_str("Invalid ARN: Unrecognized format: ");
       11647  +
                                #[allow(clippy::needless_borrow)]
       11648  +
                                out.push_str(&bucket.as_ref());
       11649  +
                                out.push_str(" (type: ");
       11650  +
                                #[allow(clippy::needless_borrow)]
       11651  +
                                out.push_str(&arn_type.as_ref());
       11652  +
                                out.push(')');
       11653  +
                                out
       11654  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11655  +
                        }
       11656  +
                        77 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11657  +
                            "Invalid ARN: No ARN type specified".to_string(),
       11658  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11659  +
                        78 => {
       11660  +
                            let bucket = params.bucket.as_deref().unwrap_or_default();
       11661  +
                            ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11662  +
                                let mut out = String::new();
       11663  +
                                out.push_str("Invalid ARN: `");
       11664  +
                                #[allow(clippy::needless_borrow)]
       11665  +
                                out.push_str(&bucket.as_ref());
       11666  +
                                out.push_str("` was not a valid ARN");
       11667  +
                                out
       11668  +
                            })) as ::aws_smithy_runtime_api::box_error::BoxError)
       11669  +
                        }
       11670  +
                        79 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11671  +
                            "Path-style addressing cannot be used with ARN buckets".to_string(),
       11672  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11673  +
                        80 => {
       11674  +
                            let effective_std_region = context
       11675  +
                                .effective_std_region
14117  11676   
                                .as_ref()
14118         -
                    .map(|s| s.clone())
14119  11677   
                                .expect("Guaranteed to have a value by earlier checks.");
14120         -
                let bucket_partition = context
14121         -
                    .bucket_partition
       11678  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11679  +
                            let uri_encoded_bucket = context
       11680  +
                                .uri_encoded_bucket
14122  11681   
                                .as_ref()
14123         -
                    .map(|s| s.clone())
14124  11682   
                                .expect("Guaranteed to have a value by earlier checks.");
14125  11683   
                            ::std::result::Result::Ok(
14126  11684   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
14127  11685   
                                    .url({
14128  11686   
                                        let mut out = String::new();
14129         -
                            out.push_str("https://");
14130         -
                            #[allow(clippy::needless_borrow)]
14131         -
                            out.push_str(&access_point_name_ssa_1.as_ref());
14132         -
                            out.push('-');
14133         -
                            #[allow(clippy::needless_borrow)]
14134         -
                            out.push_str(&bucket_arn.account_id());
14135         -
                            out.push_str(".s3-accesspoint-fips.");
       11687  +
                                        out.push_str("https://s3-fips.dualstack.");
14136  11688   
                                        #[allow(clippy::needless_borrow)]
14137         -
                            out.push_str(&effective_arn_region.as_ref());
       11689  +
                                        out.push_str(&effective_std_region.as_ref());
14138  11690   
                                        out.push('.');
14139  11691   
                                        #[allow(clippy::needless_borrow)]
14140         -
                            out.push_str(&bucket_partition.dns_suffix());
       11692  +
                                        out.push_str(&partition_result.dns_suffix());
       11693  +
                                        out.push('/');
       11694  +
                                        #[allow(clippy::needless_borrow)]
       11695  +
                                        out.push_str(&uri_encoded_bucket.as_ref());
14141  11696   
                                        out
14142  11697   
                                    })
14143         -
                        .property(
14144         -
                            "authSchemes",
14145         -
                            vec![::aws_smithy_types::Document::from({
14146         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14147         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14148         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14149         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14150         -
                                out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
14151         -
                                out
14152         -
                            })],
       11698  +
                                    .auth_scheme(
       11699  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11700  +
                                            .put("disableDoubleEncoding", true)
       11701  +
                                            .put("signingName", "s3")
       11702  +
                                            .put("signingRegion", effective_std_region.as_ref()),
14153  11703   
                                    )
14154  11704   
                                    .build(),
14155  11705   
                            )
14156  11706   
                        }
14157         -
            Self::Result54 => {
14158         -
                let bucket_arn = context
14159         -
                    .bucket_arn
14160         -
                    .as_ref()
14161         -
                    .map(|s| s.clone())
14162         -
                    .expect("Guaranteed to have a value by earlier checks.");
14163         -
                let effective_arn_region = context
14164         -
                    .effective_arn_region
14165         -
                    .as_ref()
14166         -
                    .map(|s| s.clone())
14167         -
                    .expect("Guaranteed to have a value by earlier checks.");
14168         -
                let access_point_name_ssa_1 = context
14169         -
                    .access_point_name_ssa_1
       11707  +
                        81 => {
       11708  +
                            let effective_std_region = context
       11709  +
                                .effective_std_region
14170  11710   
                                .as_ref()
14171         -
                    .map(|s| s.clone())
14172  11711   
                                .expect("Guaranteed to have a value by earlier checks.");
14173         -
                let bucket_partition = context
14174         -
                    .bucket_partition
       11712  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11713  +
                            let uri_encoded_bucket = context
       11714  +
                                .uri_encoded_bucket
14175  11715   
                                .as_ref()
14176         -
                    .map(|s| s.clone())
14177  11716   
                                .expect("Guaranteed to have a value by earlier checks.");
14178  11717   
                            ::std::result::Result::Ok(
14179  11718   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
14180  11719   
                                    .url({
14181  11720   
                                        let mut out = String::new();
14182         -
                            out.push_str("https://");
14183         -
                            #[allow(clippy::needless_borrow)]
14184         -
                            out.push_str(&access_point_name_ssa_1.as_ref());
14185         -
                            out.push('-');
14186         -
                            #[allow(clippy::needless_borrow)]
14187         -
                            out.push_str(&bucket_arn.account_id());
14188         -
                            out.push_str(".s3-accesspoint.dualstack.");
       11721  +
                                        out.push_str("https://s3-fips.");
14189  11722   
                                        #[allow(clippy::needless_borrow)]
14190         -
                            out.push_str(&effective_arn_region.as_ref());
       11723  +
                                        out.push_str(&effective_std_region.as_ref());
14191  11724   
                                        out.push('.');
14192  11725   
                                        #[allow(clippy::needless_borrow)]
14193         -
                            out.push_str(&bucket_partition.dns_suffix());
       11726  +
                                        out.push_str(&partition_result.dns_suffix());
       11727  +
                                        out.push('/');
       11728  +
                                        #[allow(clippy::needless_borrow)]
       11729  +
                                        out.push_str(&uri_encoded_bucket.as_ref());
14194  11730   
                                        out
14195  11731   
                                    })
14196         -
                        .property(
14197         -
                            "authSchemes",
14198         -
                            vec![::aws_smithy_types::Document::from({
14199         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14200         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14201         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14202         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14203         -
                                out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
14204         -
                                out
14205         -
                            })],
       11732  +
                                    .auth_scheme(
       11733  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11734  +
                                            .put("disableDoubleEncoding", true)
       11735  +
                                            .put("signingName", "s3")
       11736  +
                                            .put("signingRegion", effective_std_region.as_ref()),
14206  11737   
                                    )
14207  11738   
                                    .build(),
14208  11739   
                            )
14209  11740   
                        }
14210         -
            Self::Result55 => {
14211         -
                let url = context
14212         -
                    .url
14213         -
                    .as_ref()
14214         -
                    .map(|s| s.clone())
14215         -
                    .expect("Guaranteed to have a value by earlier checks.");
14216         -
                let bucket_arn = context
14217         -
                    .bucket_arn
14218         -
                    .as_ref()
14219         -
                    .map(|s| s.clone())
14220         -
                    .expect("Guaranteed to have a value by earlier checks.");
14221         -
                let effective_arn_region = context
14222         -
                    .effective_arn_region
       11741  +
                        82 => {
       11742  +
                            let effective_std_region = context
       11743  +
                                .effective_std_region
14223  11744   
                                .as_ref()
14224         -
                    .map(|s| s.clone())
14225  11745   
                                .expect("Guaranteed to have a value by earlier checks.");
14226         -
                let access_point_name_ssa_1 = context
14227         -
                    .access_point_name_ssa_1
       11746  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11747  +
                            let uri_encoded_bucket = context
       11748  +
                                .uri_encoded_bucket
14228  11749   
                                .as_ref()
14229         -
                    .map(|s| s.clone())
14230  11750   
                                .expect("Guaranteed to have a value by earlier checks.");
14231  11751   
                            ::std::result::Result::Ok(
14232  11752   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
14233  11753   
                                    .url({
14234  11754   
                                        let mut out = String::new();
       11755  +
                                        out.push_str("https://s3.dualstack.");
14235  11756   
                                        #[allow(clippy::needless_borrow)]
14236         -
                            out.push_str(&url.scheme());
14237         -
                            out.push_str("://");
14238         -
                            #[allow(clippy::needless_borrow)]
14239         -
                            out.push_str(&access_point_name_ssa_1.as_ref());
14240         -
                            out.push('-');
14241         -
                            #[allow(clippy::needless_borrow)]
14242         -
                            out.push_str(&bucket_arn.account_id());
       11757  +
                                        out.push_str(&effective_std_region.as_ref());
14243  11758   
                                        out.push('.');
14244  11759   
                                        #[allow(clippy::needless_borrow)]
14245         -
                            out.push_str(&url.authority());
       11760  +
                                        out.push_str(&partition_result.dns_suffix());
       11761  +
                                        out.push('/');
14246  11762   
                                        #[allow(clippy::needless_borrow)]
14247         -
                            out.push_str(&url.path());
       11763  +
                                        out.push_str(&uri_encoded_bucket.as_ref());
14248  11764   
                                        out
14249  11765   
                                    })
14250         -
                        .property(
14251         -
                            "authSchemes",
14252         -
                            vec![::aws_smithy_types::Document::from({
14253         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14254         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14255         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14256         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14257         -
                                out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
14258         -
                                out
14259         -
                            })],
       11766  +
                                    .auth_scheme(
       11767  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11768  +
                                            .put("disableDoubleEncoding", true)
       11769  +
                                            .put("signingName", "s3")
       11770  +
                                            .put("signingRegion", effective_std_region.as_ref()),
14260  11771   
                                    )
14261  11772   
                                    .build(),
14262  11773   
                            )
14263  11774   
                        }
14264         -
            Self::Result56 => {
14265         -
                let bucket_arn = context
14266         -
                    .bucket_arn
14267         -
                    .as_ref()
14268         -
                    .map(|s| s.clone())
14269         -
                    .expect("Guaranteed to have a value by earlier checks.");
14270         -
                let effective_arn_region = context
14271         -
                    .effective_arn_region
14272         -
                    .as_ref()
14273         -
                    .map(|s| s.clone())
14274         -
                    .expect("Guaranteed to have a value by earlier checks.");
14275         -
                let access_point_name_ssa_1 = context
14276         -
                    .access_point_name_ssa_1
       11775  +
                        83 => {
       11776  +
                            let effective_std_region = context
       11777  +
                                .effective_std_region
14277  11778   
                                .as_ref()
14278         -
                    .map(|s| s.clone())
14279  11779   
                                .expect("Guaranteed to have a value by earlier checks.");
14280         -
                let bucket_partition = context
14281         -
                    .bucket_partition
       11780  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11781  +
                            let uri_encoded_bucket = context
       11782  +
                                .uri_encoded_bucket
14282  11783   
                                .as_ref()
14283         -
                    .map(|s| s.clone())
14284  11784   
                                .expect("Guaranteed to have a value by earlier checks.");
14285  11785   
                            ::std::result::Result::Ok(
14286  11786   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
14287  11787   
                                    .url({
14288  11788   
                                        let mut out = String::new();
14289         -
                            out.push_str("https://");
14290  11789   
                                        #[allow(clippy::needless_borrow)]
14291         -
                            out.push_str(&access_point_name_ssa_1.as_ref());
14292         -
                            out.push('-');
       11790  +
                                        out.push_str(&url.scheme());
       11791  +
                                        out.push_str("://");
14293  11792   
                                        #[allow(clippy::needless_borrow)]
14294         -
                            out.push_str(&bucket_arn.account_id());
14295         -
                            out.push_str(".s3-accesspoint.");
       11793  +
                                        out.push_str(&url.authority());
14296  11794   
                                        #[allow(clippy::needless_borrow)]
14297         -
                            out.push_str(&effective_arn_region.as_ref());
14298         -
                            out.push('.');
       11795  +
                                        out.push_str(&url.normalized_path());
14299  11796   
                                        #[allow(clippy::needless_borrow)]
14300         -
                            out.push_str(&bucket_partition.dns_suffix());
       11797  +
                                        out.push_str(&uri_encoded_bucket.as_ref());
14301  11798   
                                        out
14302  11799   
                                    })
14303         -
                        .property(
14304         -
                            "authSchemes",
14305         -
                            vec![::aws_smithy_types::Document::from({
14306         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14307         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14308         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14309         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14310         -
                                out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
14311         -
                                out
14312         -
                            })],
       11800  +
                                    .auth_scheme(
       11801  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11802  +
                                            .put("disableDoubleEncoding", true)
       11803  +
                                            .put("signingName", "s3")
       11804  +
                                            .put("signingRegion", effective_std_region.as_ref()),
14313  11805   
                                    )
14314  11806   
                                    .build(),
14315  11807   
                            )
14316  11808   
                        }
14317         -
            Self::Result57 => {
14318         -
                let bucket_arn = context
14319         -
                    .bucket_arn
       11809  +
                        84 => {
       11810  +
                            let effective_std_region = context
       11811  +
                                .effective_std_region
       11812  +
                                .as_ref()
       11813  +
                                .expect("Guaranteed to have a value by earlier checks.");
       11814  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11815  +
                            let uri_encoded_bucket = context
       11816  +
                                .uri_encoded_bucket
14320  11817   
                                .as_ref()
14321         -
                    .map(|s| s.clone())
14322  11818   
                                .expect("Guaranteed to have a value by earlier checks.");
14323         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11819  +
                            ::std::result::Result::Ok(
       11820  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11821  +
                                    .url({
14324  11822   
                                        let mut out = String::new();
14325         -
                    out.push_str("Invalid ARN: The ARN was not for the S3 service, found: ");
       11823  +
                                        out.push_str("https://s3.");
14326  11824   
                                        #[allow(clippy::needless_borrow)]
14327         -
                    out.push_str(&bucket_arn.service());
       11825  +
                                        out.push_str(&partition_result.dns_suffix());
       11826  +
                                        out.push('/');
       11827  +
                                        #[allow(clippy::needless_borrow)]
       11828  +
                                        out.push_str(&uri_encoded_bucket.as_ref());
14328  11829   
                                        out
14329         -
                }))
       11830  +
                                    })
       11831  +
                                    .auth_scheme(
       11832  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11833  +
                                            .put("disableDoubleEncoding", true)
       11834  +
                                            .put("signingName", "s3")
       11835  +
                                            .put("signingRegion", effective_std_region.as_ref()),
       11836  +
                                    )
       11837  +
                                    .build(),
       11838  +
                            )
14330  11839   
                        }
14331         -
            Self::Result58 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14332         -
                "S3 MRAP does not support dual-stack".to_string(),
14333         -
            )),
14334         -
            Self::Result59 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14335         -
                "S3 MRAP does not support FIPS".to_string(),
14336         -
            )),
14337         -
            Self::Result60 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14338         -
                "S3 MRAP does not support S3 Accelerate".to_string(),
14339         -
            )),
14340         -
            Self::Result61 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14341         -
                "Invalid configuration: Multi-Region Access Point ARNs are disabled.".to_string(),
14342         -
            )),
14343         -
            Self::Result62 => {
14344         -
                let partition_result = context
14345         -
                    .partition_result
       11840  +
                        85 => {
       11841  +
                            let effective_std_region = context
       11842  +
                                .effective_std_region
14346  11843   
                                .as_ref()
14347         -
                    .map(|s| s.clone())
14348  11844   
                                .expect("Guaranteed to have a value by earlier checks.");
14349         -
                let access_point_name_ssa_1 = context
14350         -
                    .access_point_name_ssa_1
       11845  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11846  +
                            let uri_encoded_bucket = context
       11847  +
                                .uri_encoded_bucket
14351  11848   
                                .as_ref()
14352         -
                    .map(|s| s.clone())
14353  11849   
                                .expect("Guaranteed to have a value by earlier checks.");
14354  11850   
                            ::std::result::Result::Ok(
14355  11851   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
14356  11852   
                                    .url({
14357  11853   
                                        let mut out = String::new();
14358         -
                            out.push_str("https://");
       11854  +
                                        out.push_str("https://s3.");
14359  11855   
                                        #[allow(clippy::needless_borrow)]
14360         -
                            out.push_str(&access_point_name_ssa_1.as_ref());
14361         -
                            out.push_str(".accesspoint.s3-global.");
       11856  +
                                        out.push_str(&effective_std_region.as_ref());
       11857  +
                                        out.push('.');
14362  11858   
                                        #[allow(clippy::needless_borrow)]
14363  11859   
                                        out.push_str(&partition_result.dns_suffix());
       11860  +
                                        out.push('/');
       11861  +
                                        #[allow(clippy::needless_borrow)]
       11862  +
                                        out.push_str(&uri_encoded_bucket.as_ref());
14364  11863   
                                        out
14365  11864   
                                    })
14366         -
                        .property(
14367         -
                            "authSchemes",
14368         -
                            vec![::aws_smithy_types::Document::from({
14369         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14370         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14371         -
                                out.insert("name".to_string(), "sigv4a".to_string().into());
14372         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14373         -
                                out.insert(
14374         -
                                    "signingRegionSet".to_string(),
14375         -
                                    vec![::aws_smithy_types::Document::from("*".to_string())].into(),
14376         -
                                );
14377         -
                                out
14378         -
                            })],
       11865  +
                                    .auth_scheme(
       11866  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11867  +
                                            .put("disableDoubleEncoding", true)
       11868  +
                                            .put("signingName", "s3")
       11869  +
                                            .put("signingRegion", effective_std_region.as_ref()),
14379  11870   
                                    )
14380  11871   
                                    .build(),
14381  11872   
                            )
14382  11873   
                        }
14383         -
            Self::Result63 => {
14384         -
                let partition_result = context
14385         -
                    .partition_result
14386         -
                    .as_ref()
14387         -
                    .map(|s| s.clone())
14388         -
                    .expect("Guaranteed to have a value by earlier checks.");
14389         -
                let bucket_arn = context
14390         -
                    .bucket_arn
       11874  +
                        86 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       11875  +
                            "Path-style addressing cannot be used with S3 Accelerate".to_string(),
       11876  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       11877  +
                        87 => {
       11878  +
                            let effective_std_region = context
       11879  +
                                .effective_std_region
14391  11880   
                                .as_ref()
14392         -
                    .map(|s| s.clone())
14393  11881   
                                .expect("Guaranteed to have a value by earlier checks.");
14394         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
       11882  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
       11883  +
                            ::std::result::Result::Ok(
       11884  +
                                ::aws_smithy_types::endpoint::Endpoint::builder()
       11885  +
                                    .url({
14395  11886   
                                        let mut out = String::new();
14396         -
                    out.push_str("Client was configured for partition `");
14397  11887   
                                        #[allow(clippy::needless_borrow)]
14398         -
                    out.push_str(&partition_result.name());
14399         -
                    out.push_str("` but bucket referred to partition `");
14400         -
                    #[allow(clippy::needless_borrow)]
14401         -
                    out.push_str(&bucket_arn.partition());
14402         -
                    out.push('`');
14403         -
                    out
14404         -
                }))
14405         -
            }
14406         -
            Self::Result64 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14407         -
                "Invalid Access Point Name".to_string(),
14408         -
            )),
14409         -
            Self::Result65 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14410         -
                "S3 Outposts does not support Dual-stack".to_string(),
14411         -
            )),
14412         -
            Self::Result66 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14413         -
                "S3 Outposts does not support FIPS".to_string(),
14414         -
            )),
14415         -
            Self::Result67 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14416         -
                "S3 Outposts does not support S3 Accelerate".to_string(),
14417         -
            )),
14418         -
            Self::Result68 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14419         -
                "Invalid Arn: Outpost Access Point ARN contains sub resources".to_string(),
14420         -
            )),
14421         -
            Self::Result69 => {
14422         -
                let url = context
14423         -
                    .url
14424         -
                    .as_ref()
14425         -
                    .map(|s| s.clone())
14426         -
                    .expect("Guaranteed to have a value by earlier checks.");
14427         -
                let bucket_arn = context
14428         -
                    .bucket_arn
14429         -
                    .as_ref()
14430         -
                    .map(|s| s.clone())
14431         -
                    .expect("Guaranteed to have a value by earlier checks.");
14432         -
                let effective_arn_region = context
14433         -
                    .effective_arn_region
14434         -
                    .as_ref()
14435         -
                    .map(|s| s.clone())
14436         -
                    .expect("Guaranteed to have a value by earlier checks.");
14437         -
                let outpost_id_ssa_1 = context
14438         -
                    .outpost_id_ssa_1
14439         -
                    .as_ref()
14440         -
                    .map(|s| s.clone())
14441         -
                    .expect("Guaranteed to have a value by earlier checks.");
14442         -
                let access_point_name_ssa_2 = context
14443         -
                    .access_point_name_ssa_2
14444         -
                    .as_ref()
14445         -
                    .map(|s| s.clone())
14446         -
                    .expect("Guaranteed to have a value by earlier checks.");
14447         -
                ::std::result::Result::Ok(
14448         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14449         -
                        .url({
14450         -
                            let mut out = String::new();
14451         -
                            out.push_str("https://");
14452         -
                            #[allow(clippy::needless_borrow)]
14453         -
                            out.push_str(&access_point_name_ssa_2.as_ref());
14454         -
                            out.push('-');
14455         -
                            #[allow(clippy::needless_borrow)]
14456         -
                            out.push_str(&bucket_arn.account_id());
14457         -
                            out.push('.');
14458         -
                            #[allow(clippy::needless_borrow)]
14459         -
                            out.push_str(&outpost_id_ssa_1.as_ref());
14460         -
                            out.push('.');
       11888  +
                                        out.push_str(&url.scheme());
       11889  +
                                        out.push_str("://");
14461  11890   
                                        #[allow(clippy::needless_borrow)]
14462  11891   
                                        out.push_str(&url.authority());
14463         -
                            out
14464         -
                        })
14465         -
                        .property(
14466         -
                            "authSchemes",
14467         -
                            vec![
14468         -
                                ::aws_smithy_types::Document::from({
14469         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14470         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
14471         -
                                    out.insert("name".to_string(), "sigv4a".to_string().into());
14472         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
14473         -
                                    out.insert(
14474         -
                                        "signingRegionSet".to_string(),
14475         -
                                        vec![::aws_smithy_types::Document::from("*".to_string())].into(),
14476         -
                                    );
14477         -
                                    out
14478         -
                                }),
14479         -
                                ::aws_smithy_types::Document::from({
14480         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14481         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
14482         -
                                    out.insert("name".to_string(), "sigv4".to_string().into());
14483         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
14484         -
                                    out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
14485         -
                                    out
14486         -
                                }),
14487         -
                            ],
14488         -
                        )
14489         -
                        .build(),
14490         -
                )
14491         -
            }
14492         -
            Self::Result70 => {
14493         -
                let bucket_arn = context
14494         -
                    .bucket_arn
14495         -
                    .as_ref()
14496         -
                    .map(|s| s.clone())
14497         -
                    .expect("Guaranteed to have a value by earlier checks.");
14498         -
                let effective_arn_region = context
14499         -
                    .effective_arn_region
14500         -
                    .as_ref()
14501         -
                    .map(|s| s.clone())
14502         -
                    .expect("Guaranteed to have a value by earlier checks.");
14503         -
                let bucket_partition = context
14504         -
                    .bucket_partition
14505         -
                    .as_ref()
14506         -
                    .map(|s| s.clone())
14507         -
                    .expect("Guaranteed to have a value by earlier checks.");
14508         -
                let outpost_id_ssa_1 = context
14509         -
                    .outpost_id_ssa_1
14510         -
                    .as_ref()
14511         -
                    .map(|s| s.clone())
14512         -
                    .expect("Guaranteed to have a value by earlier checks.");
14513         -
                let access_point_name_ssa_2 = context
14514         -
                    .access_point_name_ssa_2
14515         -
                    .as_ref()
14516         -
                    .map(|s| s.clone())
14517         -
                    .expect("Guaranteed to have a value by earlier checks.");
14518         -
                ::std::result::Result::Ok(
14519         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14520         -
                        .url({
14521         -
                            let mut out = String::new();
14522         -
                            out.push_str("https://");
14523         -
                            #[allow(clippy::needless_borrow)]
14524         -
                            out.push_str(&access_point_name_ssa_2.as_ref());
14525         -
                            out.push('-');
14526         -
                            #[allow(clippy::needless_borrow)]
14527         -
                            out.push_str(&bucket_arn.account_id());
14528         -
                            out.push('.');
14529         -
                            #[allow(clippy::needless_borrow)]
14530         -
                            out.push_str(&outpost_id_ssa_1.as_ref());
14531         -
                            out.push_str(".s3-outposts.");
14532         -
                            #[allow(clippy::needless_borrow)]
14533         -
                            out.push_str(&effective_arn_region.as_ref());
14534         -
                            out.push('.');
14535  11892   
                                        #[allow(clippy::needless_borrow)]
14536         -
                            out.push_str(&bucket_partition.dns_suffix());
       11893  +
                                        out.push_str(&url.path());
14537  11894   
                                        out
14538  11895   
                                    })
14539         -
                        .property(
14540         -
                            "authSchemes",
14541         -
                            vec![
14542         -
                                ::aws_smithy_types::Document::from({
14543         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14544         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
14545         -
                                    out.insert("name".to_string(), "sigv4a".to_string().into());
14546         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
14547         -
                                    out.insert(
14548         -
                                        "signingRegionSet".to_string(),
14549         -
                                        vec![::aws_smithy_types::Document::from("*".to_string())].into(),
14550         -
                                    );
14551         -
                                    out
14552         -
                                }),
14553         -
                                ::aws_smithy_types::Document::from({
14554         -
                                    let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14555         -
                                    out.insert("disableDoubleEncoding".to_string(), true.into());
14556         -
                                    out.insert("name".to_string(), "sigv4".to_string().into());
14557         -
                                    out.insert("signingName".to_string(), "s3-outposts".to_string().into());
14558         -
                                    out.insert("signingRegion".to_string(), effective_arn_region.to_owned().into());
14559         -
                                    out
14560         -
                                }),
14561         -
                            ],
       11896  +
                                    .auth_scheme(
       11897  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11898  +
                                            .put("disableDoubleEncoding", true)
       11899  +
                                            .put("signingName", "s3-object-lambda")
       11900  +
                                            .put("signingRegion", effective_std_region.as_ref()),
14562  11901   
                                    )
14563  11902   
                                    .build(),
14564  11903   
                            )
14565  11904   
                        }
14566         -
            Self::Result71 => {
14567         -
                let outpost_type = context
14568         -
                    .outpost_type
14569         -
                    .as_ref()
14570         -
                    .map(|s| s.clone())
14571         -
                    .expect("Guaranteed to have a value by earlier checks.");
14572         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
14573         -
                    let mut out = String::new();
14574         -
                    out.push_str("Expected an outpost type `accesspoint`, found ");
14575         -
                    #[allow(clippy::needless_borrow)]
14576         -
                    out.push_str(&outpost_type.as_ref());
14577         -
                    out
14578         -
                }))
14579         -
            }
14580         -
            Self::Result72 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14581         -
                "Invalid ARN: expected an access point name".to_string(),
14582         -
            )),
14583         -
            Self::Result73 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14584         -
                "Invalid ARN: Expected a 4-component resource".to_string(),
14585         -
            )),
14586         -
            Self::Result74 => {
14587         -
                let outpost_id_ssa_1 = context
14588         -
                    .outpost_id_ssa_1
14589         -
                    .as_ref()
14590         -
                    .map(|s| s.clone())
14591         -
                    .expect("Guaranteed to have a value by earlier checks.");
14592         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
14593         -
                    let mut out = String::new();
14594         -
                    out.push_str("Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `");
14595         -
                    #[allow(clippy::needless_borrow)]
14596         -
                    out.push_str(&outpost_id_ssa_1.as_ref());
14597         -
                    out.push('`');
14598         -
                    out
14599         -
                }))
14600         -
            }
14601         -
            Self::Result75 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14602         -
                "Invalid ARN: The Outpost Id was not set".to_string(),
14603         -
            )),
14604         -
            Self::Result76 => {
14605         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
14606         -
                let arn_type = context
14607         -
                    .arn_type
14608         -
                    .as_ref()
14609         -
                    .map(|s| s.clone())
14610         -
                    .expect("Guaranteed to have a value by earlier checks.");
14611         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
14612         -
                    let mut out = String::new();
14613         -
                    out.push_str("Invalid ARN: Unrecognized format: ");
14614         -
                    #[allow(clippy::needless_borrow)]
14615         -
                    out.push_str(&bucket.as_ref());
14616         -
                    out.push_str(" (type: ");
14617         -
                    #[allow(clippy::needless_borrow)]
14618         -
                    out.push_str(&arn_type.as_ref());
14619         -
                    out.push(')');
14620         -
                    out
14621         -
                }))
14622         -
            }
14623         -
            Self::Result77 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14624         -
                "Invalid ARN: No ARN type specified".to_string(),
14625         -
            )),
14626         -
            Self::Result78 => {
14627         -
                let bucket = params.bucket.as_ref().map(|s| s.clone()).unwrap_or_default();
14628         -
                ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message({
14629         -
                    let mut out = String::new();
14630         -
                    out.push_str("Invalid ARN: `");
14631         -
                    #[allow(clippy::needless_borrow)]
14632         -
                    out.push_str(&bucket.as_ref());
14633         -
                    out.push_str("` was not a valid ARN");
14634         -
                    out
14635         -
                }))
14636         -
            }
14637         -
            Self::Result79 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14638         -
                "Path-style addressing cannot be used with ARN buckets".to_string(),
14639         -
            )),
14640         -
            Self::Result80 => {
       11905  +
                        88 => {
14641  11906   
                            let effective_std_region = context
14642  11907   
                                .effective_std_region
14643  11908   
                                .as_ref()
14644         -
                    .map(|s| s.clone())
14645         -
                    .expect("Guaranteed to have a value by earlier checks.");
14646         -
                let partition_result = context
14647         -
                    .partition_result
14648         -
                    .as_ref()
14649         -
                    .map(|s| s.clone())
14650         -
                    .expect("Guaranteed to have a value by earlier checks.");
14651         -
                let uri_encoded_bucket = context
14652         -
                    .uri_encoded_bucket
14653         -
                    .as_ref()
14654         -
                    .map(|s| s.clone())
14655  11909   
                                .expect("Guaranteed to have a value by earlier checks.");
       11910  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
14656  11911   
                            ::std::result::Result::Ok(
14657  11912   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
14658  11913   
                                    .url({
14659  11914   
                                        let mut out = String::new();
14660         -
                            out.push_str("https://s3-fips.dualstack.");
       11915  +
                                        out.push_str("https://s3-object-lambda-fips.");
14661  11916   
                                        #[allow(clippy::needless_borrow)]
14662  11917   
                                        out.push_str(&effective_std_region.as_ref());
14663  11918   
                                        out.push('.');
14664  11919   
                                        #[allow(clippy::needless_borrow)]
14665  11920   
                                        out.push_str(&partition_result.dns_suffix());
14666         -
                            out.push('/');
14667         -
                            #[allow(clippy::needless_borrow)]
14668         -
                            out.push_str(&uri_encoded_bucket.as_ref());
14669  11921   
                                        out
14670  11922   
                                    })
14671         -
                        .property(
14672         -
                            "authSchemes",
14673         -
                            vec![::aws_smithy_types::Document::from({
14674         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14675         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14676         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14677         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14678         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
14679         -
                                out
14680         -
                            })],
       11923  +
                                    .auth_scheme(
       11924  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11925  +
                                            .put("disableDoubleEncoding", true)
       11926  +
                                            .put("signingName", "s3-object-lambda")
       11927  +
                                            .put("signingRegion", effective_std_region.as_ref()),
14681  11928   
                                    )
14682  11929   
                                    .build(),
14683  11930   
                            )
14684  11931   
                        }
14685         -
            Self::Result81 => {
       11932  +
                        89 => {
14686  11933   
                            let effective_std_region = context
14687  11934   
                                .effective_std_region
14688  11935   
                                .as_ref()
14689         -
                    .map(|s| s.clone())
14690         -
                    .expect("Guaranteed to have a value by earlier checks.");
14691         -
                let partition_result = context
14692         -
                    .partition_result
14693         -
                    .as_ref()
14694         -
                    .map(|s| s.clone())
14695         -
                    .expect("Guaranteed to have a value by earlier checks.");
14696         -
                let uri_encoded_bucket = context
14697         -
                    .uri_encoded_bucket
14698         -
                    .as_ref()
14699         -
                    .map(|s| s.clone())
14700  11936   
                                .expect("Guaranteed to have a value by earlier checks.");
       11937  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
14701  11938   
                            ::std::result::Result::Ok(
14702  11939   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
14703  11940   
                                    .url({
14704  11941   
                                        let mut out = String::new();
14705         -
                            out.push_str("https://s3-fips.");
       11942  +
                                        out.push_str("https://s3-object-lambda.");
14706  11943   
                                        #[allow(clippy::needless_borrow)]
14707  11944   
                                        out.push_str(&effective_std_region.as_ref());
14708  11945   
                                        out.push('.');
14709  11946   
                                        #[allow(clippy::needless_borrow)]
14710  11947   
                                        out.push_str(&partition_result.dns_suffix());
14711         -
                            out.push('/');
14712         -
                            #[allow(clippy::needless_borrow)]
14713         -
                            out.push_str(&uri_encoded_bucket.as_ref());
14714  11948   
                                        out
14715  11949   
                                    })
14716         -
                        .property(
14717         -
                            "authSchemes",
14718         -
                            vec![::aws_smithy_types::Document::from({
14719         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14720         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14721         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14722         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14723         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
14724         -
                                out
14725         -
                            })],
       11950  +
                                    .auth_scheme(
       11951  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11952  +
                                            .put("disableDoubleEncoding", true)
       11953  +
                                            .put("signingName", "s3-object-lambda")
       11954  +
                                            .put("signingRegion", effective_std_region.as_ref()),
14726  11955   
                                    )
14727  11956   
                                    .build(),
14728  11957   
                            )
14729  11958   
                        }
14730         -
            Self::Result82 => {
       11959  +
                        90 => {
14731  11960   
                            let effective_std_region = context
14732  11961   
                                .effective_std_region
14733  11962   
                                .as_ref()
14734         -
                    .map(|s| s.clone())
14735         -
                    .expect("Guaranteed to have a value by earlier checks.");
14736         -
                let partition_result = context
14737         -
                    .partition_result
14738         -
                    .as_ref()
14739         -
                    .map(|s| s.clone())
14740         -
                    .expect("Guaranteed to have a value by earlier checks.");
14741         -
                let uri_encoded_bucket = context
14742         -
                    .uri_encoded_bucket
14743         -
                    .as_ref()
14744         -
                    .map(|s| s.clone())
14745  11963   
                                .expect("Guaranteed to have a value by earlier checks.");
       11964  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
14746  11965   
                            ::std::result::Result::Ok(
14747  11966   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
14748  11967   
                                    .url({
14749  11968   
                                        let mut out = String::new();
14750         -
                            out.push_str("https://s3.dualstack.");
       11969  +
                                        out.push_str("https://s3-fips.dualstack.");
14751  11970   
                                        #[allow(clippy::needless_borrow)]
14752  11971   
                                        out.push_str(&effective_std_region.as_ref());
14753  11972   
                                        out.push('.');
14754  11973   
                                        #[allow(clippy::needless_borrow)]
14755  11974   
                                        out.push_str(&partition_result.dns_suffix());
14756         -
                            out.push('/');
14757         -
                            #[allow(clippy::needless_borrow)]
14758         -
                            out.push_str(&uri_encoded_bucket.as_ref());
14759  11975   
                                        out
14760  11976   
                                    })
14761         -
                        .property(
14762         -
                            "authSchemes",
14763         -
                            vec![::aws_smithy_types::Document::from({
14764         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14765         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14766         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14767         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14768         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
14769         -
                                out
14770         -
                            })],
       11977  +
                                    .auth_scheme(
       11978  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       11979  +
                                            .put("disableDoubleEncoding", true)
       11980  +
                                            .put("signingName", "s3")
       11981  +
                                            .put("signingRegion", effective_std_region.as_ref()),
14771  11982   
                                    )
14772  11983   
                                    .build(),
14773  11984   
                            )
14774  11985   
                        }
14775         -
            Self::Result83 => {
       11986  +
                        91 => {
14776  11987   
                            let effective_std_region = context
14777  11988   
                                .effective_std_region
14778  11989   
                                .as_ref()
14779         -
                    .map(|s| s.clone())
14780         -
                    .expect("Guaranteed to have a value by earlier checks.");
14781         -
                let url = context
14782         -
                    .url
14783         -
                    .as_ref()
14784         -
                    .map(|s| s.clone())
14785         -
                    .expect("Guaranteed to have a value by earlier checks.");
14786         -
                let uri_encoded_bucket = context
14787         -
                    .uri_encoded_bucket
14788         -
                    .as_ref()
14789         -
                    .map(|s| s.clone())
14790  11990   
                                .expect("Guaranteed to have a value by earlier checks.");
       11991  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
14791  11992   
                            ::std::result::Result::Ok(
14792  11993   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
14793  11994   
                                    .url({
14794  11995   
                                        let mut out = String::new();
       11996  +
                                        out.push_str("https://s3-fips.");
14795  11997   
                                        #[allow(clippy::needless_borrow)]
14796         -
                            out.push_str(&url.scheme());
14797         -
                            out.push_str("://");
14798         -
                            #[allow(clippy::needless_borrow)]
14799         -
                            out.push_str(&url.authority());
14800         -
                            #[allow(clippy::needless_borrow)]
14801         -
                            out.push_str(&url.normalized_path());
14802         -
                            #[allow(clippy::needless_borrow)]
14803         -
                            out.push_str(&uri_encoded_bucket.as_ref());
14804         -
                            out
14805         -
                        })
14806         -
                        .property(
14807         -
                            "authSchemes",
14808         -
                            vec![::aws_smithy_types::Document::from({
14809         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14810         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14811         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14812         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14813         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
14814         -
                                out
14815         -
                            })],
14816         -
                        )
14817         -
                        .build(),
14818         -
                )
14819         -
            }
14820         -
            Self::Result84 => {
14821         -
                let effective_std_region = context
14822         -
                    .effective_std_region
14823         -
                    .as_ref()
14824         -
                    .map(|s| s.clone())
14825         -
                    .expect("Guaranteed to have a value by earlier checks.");
14826         -
                let partition_result = context
14827         -
                    .partition_result
14828         -
                    .as_ref()
14829         -
                    .map(|s| s.clone())
14830         -
                    .expect("Guaranteed to have a value by earlier checks.");
14831         -
                let uri_encoded_bucket = context
14832         -
                    .uri_encoded_bucket
14833         -
                    .as_ref()
14834         -
                    .map(|s| s.clone())
14835         -
                    .expect("Guaranteed to have a value by earlier checks.");
14836         -
                ::std::result::Result::Ok(
14837         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
14838         -
                        .url({
14839         -
                            let mut out = String::new();
14840         -
                            out.push_str("https://s3.");
       11998  +
                                        out.push_str(&effective_std_region.as_ref());
       11999  +
                                        out.push('.');
14841  12000   
                                        #[allow(clippy::needless_borrow)]
14842  12001   
                                        out.push_str(&partition_result.dns_suffix());
14843         -
                            out.push('/');
14844         -
                            #[allow(clippy::needless_borrow)]
14845         -
                            out.push_str(&uri_encoded_bucket.as_ref());
14846  12002   
                                        out
14847  12003   
                                    })
14848         -
                        .property(
14849         -
                            "authSchemes",
14850         -
                            vec![::aws_smithy_types::Document::from({
14851         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14852         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14853         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14854         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14855         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
14856         -
                                out
14857         -
                            })],
       12004  +
                                    .auth_scheme(
       12005  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       12006  +
                                            .put("disableDoubleEncoding", true)
       12007  +
                                            .put("signingName", "s3")
       12008  +
                                            .put("signingRegion", effective_std_region.as_ref()),
14858  12009   
                                    )
14859  12010   
                                    .build(),
14860  12011   
                            )
14861  12012   
                        }
14862         -
            Self::Result85 => {
       12013  +
                        92 => {
14863  12014   
                            let effective_std_region = context
14864  12015   
                                .effective_std_region
14865  12016   
                                .as_ref()
14866         -
                    .map(|s| s.clone())
14867         -
                    .expect("Guaranteed to have a value by earlier checks.");
14868         -
                let partition_result = context
14869         -
                    .partition_result
14870         -
                    .as_ref()
14871         -
                    .map(|s| s.clone())
14872         -
                    .expect("Guaranteed to have a value by earlier checks.");
14873         -
                let uri_encoded_bucket = context
14874         -
                    .uri_encoded_bucket
14875         -
                    .as_ref()
14876         -
                    .map(|s| s.clone())
14877  12017   
                                .expect("Guaranteed to have a value by earlier checks.");
       12018  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
14878  12019   
                            ::std::result::Result::Ok(
14879  12020   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
14880  12021   
                                    .url({
14881  12022   
                                        let mut out = String::new();
14882         -
                            out.push_str("https://s3.");
       12023  +
                                        out.push_str("https://s3.dualstack.");
14883  12024   
                                        #[allow(clippy::needless_borrow)]
14884  12025   
                                        out.push_str(&effective_std_region.as_ref());
14885  12026   
                                        out.push('.');
14886  12027   
                                        #[allow(clippy::needless_borrow)]
14887  12028   
                                        out.push_str(&partition_result.dns_suffix());
14888         -
                            out.push('/');
14889         -
                            #[allow(clippy::needless_borrow)]
14890         -
                            out.push_str(&uri_encoded_bucket.as_ref());
14891  12029   
                                        out
14892  12030   
                                    })
14893         -
                        .property(
14894         -
                            "authSchemes",
14895         -
                            vec![::aws_smithy_types::Document::from({
14896         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14897         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14898         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14899         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
14900         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
14901         -
                                out
14902         -
                            })],
       12031  +
                                    .auth_scheme(
       12032  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       12033  +
                                            .put("disableDoubleEncoding", true)
       12034  +
                                            .put("signingName", "s3")
       12035  +
                                            .put("signingRegion", effective_std_region.as_ref()),
14903  12036   
                                    )
14904  12037   
                                    .build(),
14905  12038   
                            )
14906  12039   
                        }
14907         -
            Self::Result86 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
14908         -
                "Path-style addressing cannot be used with S3 Accelerate".to_string(),
14909         -
            )),
14910         -
            Self::Result87 => {
       12040  +
                        93 => {
14911  12041   
                            let effective_std_region = context
14912  12042   
                                .effective_std_region
14913  12043   
                                .as_ref()
14914         -
                    .map(|s| s.clone())
14915         -
                    .expect("Guaranteed to have a value by earlier checks.");
14916         -
                let url = context
14917         -
                    .url
14918         -
                    .as_ref()
14919         -
                    .map(|s| s.clone())
14920  12044   
                                .expect("Guaranteed to have a value by earlier checks.");
       12045  +
                            let url = context.url.as_ref().expect("Guaranteed to have a value by earlier checks.");
14921  12046   
                            ::std::result::Result::Ok(
14922  12047   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
14923  12048   
                                    .url({
14924  12049   
                                        let mut out = String::new();
14925  12050   
                                        #[allow(clippy::needless_borrow)]
14926  12051   
                                        out.push_str(&url.scheme());
14927  12052   
                                        out.push_str("://");
14928  12053   
                                        #[allow(clippy::needless_borrow)]
14929  12054   
                                        out.push_str(&url.authority());
14930  12055   
                                        #[allow(clippy::needless_borrow)]
14931  12056   
                                        out.push_str(&url.path());
14932  12057   
                                        out
14933  12058   
                                    })
14934         -
                        .property(
14935         -
                            "authSchemes",
14936         -
                            vec![::aws_smithy_types::Document::from({
14937         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14938         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14939         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14940         -
                                out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
14941         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
14942         -
                                out
14943         -
                            })],
       12059  +
                                    .auth_scheme(
       12060  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       12061  +
                                            .put("disableDoubleEncoding", true)
       12062  +
                                            .put("signingName", "s3")
       12063  +
                                            .put("signingRegion", effective_std_region.as_ref()),
14944  12064   
                                    )
14945  12065   
                                    .build(),
14946  12066   
                            )
14947  12067   
                        }
14948         -
            Self::Result88 => {
       12068  +
                        94 => {
14949  12069   
                            let effective_std_region = context
14950  12070   
                                .effective_std_region
14951  12071   
                                .as_ref()
14952         -
                    .map(|s| s.clone())
14953         -
                    .expect("Guaranteed to have a value by earlier checks.");
14954         -
                let partition_result = context
14955         -
                    .partition_result
14956         -
                    .as_ref()
14957         -
                    .map(|s| s.clone())
14958  12072   
                                .expect("Guaranteed to have a value by earlier checks.");
       12073  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
14959  12074   
                            ::std::result::Result::Ok(
14960  12075   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
14961  12076   
                                    .url({
14962  12077   
                                        let mut out = String::new();
14963         -
                            out.push_str("https://s3-object-lambda-fips.");
14964         -
                            #[allow(clippy::needless_borrow)]
14965         -
                            out.push_str(&effective_std_region.as_ref());
14966         -
                            out.push('.');
       12078  +
                                        out.push_str("https://s3.");
14967  12079   
                                        #[allow(clippy::needless_borrow)]
14968  12080   
                                        out.push_str(&partition_result.dns_suffix());
14969  12081   
                                        out
14970  12082   
                                    })
14971         -
                        .property(
14972         -
                            "authSchemes",
14973         -
                            vec![::aws_smithy_types::Document::from({
14974         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
14975         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
14976         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
14977         -
                                out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
14978         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
14979         -
                                out
14980         -
                            })],
       12083  +
                                    .auth_scheme(
       12084  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       12085  +
                                            .put("disableDoubleEncoding", true)
       12086  +
                                            .put("signingName", "s3")
       12087  +
                                            .put("signingRegion", effective_std_region.as_ref()),
14981  12088   
                                    )
14982  12089   
                                    .build(),
14983  12090   
                            )
14984  12091   
                        }
14985         -
            Self::Result89 => {
       12092  +
                        95 => {
14986  12093   
                            let effective_std_region = context
14987  12094   
                                .effective_std_region
14988  12095   
                                .as_ref()
14989         -
                    .map(|s| s.clone())
14990         -
                    .expect("Guaranteed to have a value by earlier checks.");
14991         -
                let partition_result = context
14992         -
                    .partition_result
14993         -
                    .as_ref()
14994         -
                    .map(|s| s.clone())
14995  12096   
                                .expect("Guaranteed to have a value by earlier checks.");
       12097  +
                            let partition_result = context.partition_result.as_ref().expect("Guaranteed to have a value by earlier checks.");
14996  12098   
                            ::std::result::Result::Ok(
14997  12099   
                                ::aws_smithy_types::endpoint::Endpoint::builder()
14998  12100   
                                    .url({
14999  12101   
                                        let mut out = String::new();
15000         -
                            out.push_str("https://s3-object-lambda.");
       12102  +
                                        out.push_str("https://s3.");
15001  12103   
                                        #[allow(clippy::needless_borrow)]
15002  12104   
                                        out.push_str(&effective_std_region.as_ref());
15003  12105   
                                        out.push('.');
15004  12106   
                                        #[allow(clippy::needless_borrow)]
15005  12107   
                                        out.push_str(&partition_result.dns_suffix());
15006  12108   
                                        out
15007  12109   
                                    })
15008         -
                        .property(
15009         -
                            "authSchemes",
15010         -
                            vec![::aws_smithy_types::Document::from({
15011         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
15012         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
15013         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
15014         -
                                out.insert("signingName".to_string(), "s3-object-lambda".to_string().into());
15015         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
15016         -
                                out
15017         -
                            })],
       12110  +
                                    .auth_scheme(
       12111  +
                                        ::aws_smithy_types::endpoint::EndpointAuthScheme::with_capacity("sigv4".to_string(), 3)
       12112  +
                                            .put("disableDoubleEncoding", true)
       12113  +
                                            .put("signingName", "s3")
       12114  +
                                            .put("signingRegion", effective_std_region.as_ref()),
15018  12115   
                                    )
15019  12116   
                                    .build(),
15020  12117   
                            )
15021  12118   
                        }
15022         -
            Self::Result90 => {
15023         -
                let effective_std_region = context
15024         -
                    .effective_std_region
15025         -
                    .as_ref()
15026         -
                    .map(|s| s.clone())
15027         -
                    .expect("Guaranteed to have a value by earlier checks.");
15028         -
                let partition_result = context
15029         -
                    .partition_result
15030         -
                    .as_ref()
15031         -
                    .map(|s| s.clone())
15032         -
                    .expect("Guaranteed to have a value by earlier checks.");
15033         -
                ::std::result::Result::Ok(
15034         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
15035         -
                        .url({
15036         -
                            let mut out = String::new();
15037         -
                            out.push_str("https://s3-fips.dualstack.");
15038         -
                            #[allow(clippy::needless_borrow)]
15039         -
                            out.push_str(&effective_std_region.as_ref());
15040         -
                            out.push('.');
15041         -
                            #[allow(clippy::needless_borrow)]
15042         -
                            out.push_str(&partition_result.dns_suffix());
15043         -
                            out
15044         -
                        })
15045         -
                        .property(
15046         -
                            "authSchemes",
15047         -
                            vec![::aws_smithy_types::Document::from({
15048         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
15049         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
15050         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
15051         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
15052         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
15053         -
                                out
15054         -
                            })],
15055         -
                        )
15056         -
                        .build(),
       12119  +
                        96 => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       12120  +
                            "A region must be set when sending requests to S3.".to_string(),
       12121  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       12122  +
                        _ => ::std::result::Result::Err(Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message(
       12123  +
                            "No endpoint rule matched",
       12124  +
                        )) as ::aws_smithy_runtime_api::box_error::BoxError),
       12125  +
                    };
       12126  +
                }
       12127  +
                1 | -1 => {
       12128  +
                    return ::std::result::Result::Err(
       12129  +
                        Box::new(::aws_smithy_http::endpoint::ResolveEndpointError::message("No endpoint rule matched"))
       12130  +
                            as ::aws_smithy_runtime_api::box_error::BoxError,
       12131  +
                    )
       12132  +
                }
       12133  +
                ref_val => {
       12134  +
                    let is_complement = ref_val < 0;
       12135  +
                    let node = &NODES[(ref_val.unsigned_abs() as usize) - 1];
       12136  +
                    let condition_result = match node.condition_index {
       12137  +
                        0 => region.is_some(),
       12138  +
                        1 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12139  +
                            let effective_std_region = &mut context.effective_std_region;
       12140  +
                            let partition_result = &mut context.partition_result;
       12141  +
                            let url = &mut context.url;
       12142  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12143  +
                            let region_prefix = &mut context.region_prefix;
       12144  +
                            let hardware_type = &mut context.hardware_type;
       12145  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12146  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12147  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12148  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12149  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12150  +
                            let bucket_arn = &mut context.bucket_arn;
       12151  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12152  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12153  +
                            let arn_type = &mut context.arn_type;
       12154  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12155  +
                            let bucket_partition = &mut context.bucket_partition;
       12156  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12157  +
                            let outpost_type = &mut context.outpost_type;
       12158  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12159  +
                            let partition_resolver = &self.partition_resolver;
       12160  +
                            {
       12161  +
                                *effective_std_region = Some(
       12162  +
                                    crate::endpoint_lib::ite::ite!(
       12163  +
                                        (region) == &mut Some(("aws-global".into())),
       12164  +
                                        "us-east-1".to_string(),
       12165  +
                                        region.clone().expect("Reference already confirmed Some")
       12166  +
                                    )
       12167  +
                                    .into(),
       12168  +
                                );
       12169  +
                                true
       12170  +
                            }
       12171  +
                        })(&mut _diagnostic_collector),
       12172  +
                        2 => (accelerate) == (&true),
       12173  +
                        3 => (use_fips) == (&true),
       12174  +
                        4 => endpoint.is_some(),
       12175  +
                        5 => (use_dual_stack) == (&true),
       12176  +
                        6 => bucket.is_some(),
       12177  +
                        7 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12178  +
                            let effective_std_region = &mut context.effective_std_region;
       12179  +
                            let partition_result = &mut context.partition_result;
       12180  +
                            let url = &mut context.url;
       12181  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12182  +
                            let region_prefix = &mut context.region_prefix;
       12183  +
                            let hardware_type = &mut context.hardware_type;
       12184  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12185  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12186  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12187  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12188  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12189  +
                            let bucket_arn = &mut context.bucket_arn;
       12190  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12191  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12192  +
                            let arn_type = &mut context.arn_type;
       12193  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12194  +
                            let bucket_partition = &mut context.bucket_partition;
       12195  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12196  +
                            let outpost_type = &mut context.outpost_type;
       12197  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12198  +
                            let partition_resolver = &self.partition_resolver;
       12199  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       12200  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       12201  +
                                    if let Some(param) = bucket { param } else { return false },
       12202  +
                                    0,
       12203  +
                                    6,
       12204  +
                                    true,
       12205  +
                                    _diagnostic_collector
       12206  +
                                ) {
       12207  +
                                    inner
       12208  +
                                } else {
       12209  +
                                    return false;
       12210  +
                                },
       12211  +
                                ""
       12212  +
                            )) == ("--x-s3")
       12213  +
                        })(&mut _diagnostic_collector),
       12214  +
                        8 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12215  +
                            let effective_std_region = &mut context.effective_std_region;
       12216  +
                            let partition_result = &mut context.partition_result;
       12217  +
                            let url = &mut context.url;
       12218  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12219  +
                            let region_prefix = &mut context.region_prefix;
       12220  +
                            let hardware_type = &mut context.hardware_type;
       12221  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12222  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12223  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12224  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12225  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12226  +
                            let bucket_arn = &mut context.bucket_arn;
       12227  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12228  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12229  +
                            let arn_type = &mut context.arn_type;
       12230  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12231  +
                            let bucket_partition = &mut context.bucket_partition;
       12232  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12233  +
                            let outpost_type = &mut context.outpost_type;
       12234  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12235  +
                            let partition_resolver = &self.partition_resolver;
       12236  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       12237  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       12238  +
                                    if let Some(param) = bucket { param } else { return false },
       12239  +
                                    0,
       12240  +
                                    7,
       12241  +
                                    true,
       12242  +
                                    _diagnostic_collector
       12243  +
                                ) {
       12244  +
                                    inner
       12245  +
                                } else {
       12246  +
                                    return false;
       12247  +
                                },
       12248  +
                                ""
       12249  +
                            )) == ("--xa-s3")
       12250  +
                        })(&mut _diagnostic_collector),
       12251  +
                        9 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12252  +
                            let effective_std_region = &mut context.effective_std_region;
       12253  +
                            let partition_result = &mut context.partition_result;
       12254  +
                            let url = &mut context.url;
       12255  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12256  +
                            let region_prefix = &mut context.region_prefix;
       12257  +
                            let hardware_type = &mut context.hardware_type;
       12258  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12259  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12260  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12261  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12262  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12263  +
                            let bucket_arn = &mut context.bucket_arn;
       12264  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12265  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12266  +
                            let arn_type = &mut context.arn_type;
       12267  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12268  +
                            let bucket_partition = &mut context.bucket_partition;
       12269  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12270  +
                            let outpost_type = &mut context.outpost_type;
       12271  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12272  +
                            let partition_resolver = &self.partition_resolver;
       12273  +
                            {
       12274  +
                                *partition_result = partition_resolver
       12275  +
                                    .resolve_partition(if let Some(param) = region { param } else { return false }, _diagnostic_collector)
       12276  +
                                    .map(|inner| inner.into());
       12277  +
                                partition_result.is_some()
       12278  +
                            }
       12279  +
                        })(&mut _diagnostic_collector),
       12280  +
                        10 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12281  +
                            let effective_std_region = &mut context.effective_std_region;
       12282  +
                            let partition_result = &mut context.partition_result;
       12283  +
                            let url = &mut context.url;
       12284  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12285  +
                            let region_prefix = &mut context.region_prefix;
       12286  +
                            let hardware_type = &mut context.hardware_type;
       12287  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12288  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12289  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12290  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12291  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12292  +
                            let bucket_arn = &mut context.bucket_arn;
       12293  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12294  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12295  +
                            let arn_type = &mut context.arn_type;
       12296  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12297  +
                            let bucket_partition = &mut context.bucket_partition;
       12298  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12299  +
                            let outpost_type = &mut context.outpost_type;
       12300  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12301  +
                            let partition_resolver = &self.partition_resolver;
       12302  +
                            {
       12303  +
                                *url = crate::endpoint_lib::parse_url::parse_url(
       12304  +
                                    if let Some(param) = endpoint { param } else { return false },
       12305  +
                                    _diagnostic_collector,
       12306  +
                                )
       12307  +
                                .map(|inner| inner.into());
       12308  +
                                url.is_some()
       12309  +
                            }
       12310  +
                        })(&mut _diagnostic_collector),
       12311  +
                        11 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12312  +
                            let effective_std_region = &mut context.effective_std_region;
       12313  +
                            let partition_result = &mut context.partition_result;
       12314  +
                            let url = &mut context.url;
       12315  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12316  +
                            let region_prefix = &mut context.region_prefix;
       12317  +
                            let hardware_type = &mut context.hardware_type;
       12318  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12319  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12320  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12321  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12322  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12323  +
                            let bucket_arn = &mut context.bucket_arn;
       12324  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12325  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12326  +
                            let arn_type = &mut context.arn_type;
       12327  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12328  +
                            let bucket_partition = &mut context.bucket_partition;
       12329  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12330  +
                            let outpost_type = &mut context.outpost_type;
       12331  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12332  +
                            let partition_resolver = &self.partition_resolver;
       12333  +
                            {
       12334  +
                                *access_point_suffix = crate::endpoint_lib::substring::substring(
       12335  +
                                    if let Some(param) = bucket { param } else { return false },
       12336  +
                                    0,
       12337  +
                                    7,
       12338  +
                                    true,
       12339  +
                                    _diagnostic_collector,
       12340  +
                                )
       12341  +
                                .map(|inner| inner.into());
       12342  +
                                access_point_suffix.is_some()
       12343  +
                            }
       12344  +
                        })(&mut _diagnostic_collector),
       12345  +
                        12 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12346  +
                            let effective_std_region = &mut context.effective_std_region;
       12347  +
                            let partition_result = &mut context.partition_result;
       12348  +
                            let url = &mut context.url;
       12349  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12350  +
                            let region_prefix = &mut context.region_prefix;
       12351  +
                            let hardware_type = &mut context.hardware_type;
       12352  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12353  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12354  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12355  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12356  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12357  +
                            let bucket_arn = &mut context.bucket_arn;
       12358  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12359  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12360  +
                            let arn_type = &mut context.arn_type;
       12361  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12362  +
                            let bucket_partition = &mut context.bucket_partition;
       12363  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12364  +
                            let outpost_type = &mut context.outpost_type;
       12365  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12366  +
                            let partition_resolver = &self.partition_resolver;
       12367  +
                            (access_point_suffix) == &mut Some(("--op-s3".into()))
       12368  +
                        })(&mut _diagnostic_collector),
       12369  +
                        13 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12370  +
                            let effective_std_region = &mut context.effective_std_region;
       12371  +
                            let partition_result = &mut context.partition_result;
       12372  +
                            let url = &mut context.url;
       12373  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12374  +
                            let region_prefix = &mut context.region_prefix;
       12375  +
                            let hardware_type = &mut context.hardware_type;
       12376  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12377  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12378  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12379  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12380  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12381  +
                            let bucket_arn = &mut context.bucket_arn;
       12382  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12383  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12384  +
                            let arn_type = &mut context.arn_type;
       12385  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12386  +
                            let bucket_partition = &mut context.bucket_partition;
       12387  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12388  +
                            let outpost_type = &mut context.outpost_type;
       12389  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12390  +
                            let partition_resolver = &self.partition_resolver;
       12391  +
                            {
       12392  +
                                *region_prefix = crate::endpoint_lib::substring::substring(
       12393  +
                                    if let Some(param) = bucket { param } else { return false },
       12394  +
                                    8,
       12395  +
                                    12,
       12396  +
                                    true,
       12397  +
                                    _diagnostic_collector,
       12398  +
                                )
       12399  +
                                .map(|inner| inner.into());
       12400  +
                                region_prefix.is_some()
       12401  +
                            }
       12402  +
                        })(&mut _diagnostic_collector),
       12403  +
                        14 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12404  +
                            let effective_std_region = &mut context.effective_std_region;
       12405  +
                            let partition_result = &mut context.partition_result;
       12406  +
                            let url = &mut context.url;
       12407  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12408  +
                            let region_prefix = &mut context.region_prefix;
       12409  +
                            let hardware_type = &mut context.hardware_type;
       12410  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12411  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12412  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12413  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12414  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12415  +
                            let bucket_arn = &mut context.bucket_arn;
       12416  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12417  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12418  +
                            let arn_type = &mut context.arn_type;
       12419  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12420  +
                            let bucket_partition = &mut context.bucket_partition;
       12421  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12422  +
                            let outpost_type = &mut context.outpost_type;
       12423  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12424  +
                            let partition_resolver = &self.partition_resolver;
       12425  +
                            {
       12426  +
                                *hardware_type = crate::endpoint_lib::substring::substring(
       12427  +
                                    if let Some(param) = bucket { param } else { return false },
       12428  +
                                    49,
       12429  +
                                    50,
       12430  +
                                    true,
       12431  +
                                    _diagnostic_collector,
       12432  +
                                )
       12433  +
                                .map(|inner| inner.into());
       12434  +
                                hardware_type.is_some()
       12435  +
                            }
       12436  +
                        })(&mut _diagnostic_collector),
       12437  +
                        15 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12438  +
                            let effective_std_region = &mut context.effective_std_region;
       12439  +
                            let partition_result = &mut context.partition_result;
       12440  +
                            let url = &mut context.url;
       12441  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12442  +
                            let region_prefix = &mut context.region_prefix;
       12443  +
                            let hardware_type = &mut context.hardware_type;
       12444  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12445  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12446  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12447  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12448  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12449  +
                            let bucket_arn = &mut context.bucket_arn;
       12450  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12451  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12452  +
                            let arn_type = &mut context.arn_type;
       12453  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12454  +
                            let bucket_partition = &mut context.bucket_partition;
       12455  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12456  +
                            let outpost_type = &mut context.outpost_type;
       12457  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12458  +
                            let partition_resolver = &self.partition_resolver;
       12459  +
                            {
       12460  +
                                *outpost_id_ssa_2 = crate::endpoint_lib::substring::substring(
       12461  +
                                    if let Some(param) = bucket { param } else { return false },
       12462  +
                                    32,
       12463  +
                                    49,
       12464  +
                                    true,
       12465  +
                                    _diagnostic_collector,
       12466  +
                                )
       12467  +
                                .map(|inner| inner.into());
       12468  +
                                outpost_id_ssa_2.is_some()
       12469  +
                            }
       12470  +
                        })(&mut _diagnostic_collector),
       12471  +
                        16 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12472  +
                            let effective_std_region = &mut context.effective_std_region;
       12473  +
                            let partition_result = &mut context.partition_result;
       12474  +
                            let url = &mut context.url;
       12475  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12476  +
                            let region_prefix = &mut context.region_prefix;
       12477  +
                            let hardware_type = &mut context.hardware_type;
       12478  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12479  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12480  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12481  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12482  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12483  +
                            let bucket_arn = &mut context.bucket_arn;
       12484  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12485  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12486  +
                            let arn_type = &mut context.arn_type;
       12487  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12488  +
                            let bucket_partition = &mut context.bucket_partition;
       12489  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12490  +
                            let outpost_type = &mut context.outpost_type;
       12491  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12492  +
                            let partition_resolver = &self.partition_resolver;
       12493  +
                            (if let Some(inner) = partition_result {
       12494  +
                                inner.name()
       12495  +
                            } else {
       12496  +
                                return false;
       12497  +
                            }) == ("aws-cn")
       12498  +
                        })(&mut _diagnostic_collector),
       12499  +
                        17 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12500  +
                            let effective_std_region = &mut context.effective_std_region;
       12501  +
                            let partition_result = &mut context.partition_result;
       12502  +
                            let url = &mut context.url;
       12503  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12504  +
                            let region_prefix = &mut context.region_prefix;
       12505  +
                            let hardware_type = &mut context.hardware_type;
       12506  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12507  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12508  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12509  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12510  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12511  +
                            let bucket_arn = &mut context.bucket_arn;
       12512  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12513  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12514  +
                            let arn_type = &mut context.arn_type;
       12515  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12516  +
                            let bucket_partition = &mut context.bucket_partition;
       12517  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12518  +
                            let outpost_type = &mut context.outpost_type;
       12519  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12520  +
                            let partition_resolver = &self.partition_resolver;
       12521  +
                            {
       12522  +
                                *s3_e_ds = Some(crate::endpoint_lib::ite::ite!(use_dual_stack, ".dualstack".to_string(), "".to_string()).into());
       12523  +
                                true
       12524  +
                            }
       12525  +
                        })(&mut _diagnostic_collector),
       12526  +
                        18 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12527  +
                            let effective_std_region = &mut context.effective_std_region;
       12528  +
                            let partition_result = &mut context.partition_result;
       12529  +
                            let url = &mut context.url;
       12530  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12531  +
                            let region_prefix = &mut context.region_prefix;
       12532  +
                            let hardware_type = &mut context.hardware_type;
       12533  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12534  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12535  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12536  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12537  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12538  +
                            let bucket_arn = &mut context.bucket_arn;
       12539  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12540  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12541  +
                            let arn_type = &mut context.arn_type;
       12542  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12543  +
                            let bucket_partition = &mut context.bucket_partition;
       12544  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12545  +
                            let outpost_type = &mut context.outpost_type;
       12546  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12547  +
                            let partition_resolver = &self.partition_resolver;
       12548  +
                            {
       12549  +
                                *s3_e_fips = Some(crate::endpoint_lib::ite::ite!(use_fips, "-fips".to_string(), "".to_string()).into());
       12550  +
                                true
       12551  +
                            }
       12552  +
                        })(&mut _diagnostic_collector),
       12553  +
                        19 => (force_path_style) == (&true),
       12554  +
                        20 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12555  +
                            let effective_std_region = &mut context.effective_std_region;
       12556  +
                            let partition_result = &mut context.partition_result;
       12557  +
                            let url = &mut context.url;
       12558  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12559  +
                            let region_prefix = &mut context.region_prefix;
       12560  +
                            let hardware_type = &mut context.hardware_type;
       12561  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12562  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12563  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12564  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12565  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12566  +
                            let bucket_arn = &mut context.bucket_arn;
       12567  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12568  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12569  +
                            let arn_type = &mut context.arn_type;
       12570  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12571  +
                            let bucket_partition = &mut context.bucket_partition;
       12572  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12573  +
                            let outpost_type = &mut context.outpost_type;
       12574  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12575  +
                            let partition_resolver = &self.partition_resolver;
       12576  +
                            {
       12577  +
                                *s3_e_auth = Some(
       12578  +
                                    crate::endpoint_lib::ite::ite!(
       12579  +
                                        crate::endpoint_lib::coalesce::coalesce!(*disable_s3_express_session_auth, false),
       12580  +
                                        "sigv4".to_string(),
       12581  +
                                        "sigv4-s3express".to_string()
       12582  +
                                    )
       12583  +
                                    .into(),
       12584  +
                                );
       12585  +
                                true
       12586  +
                            }
       12587  +
                        })(&mut _diagnostic_collector),
       12588  +
                        21 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12589  +
                            let effective_std_region = &mut context.effective_std_region;
       12590  +
                            let partition_result = &mut context.partition_result;
       12591  +
                            let url = &mut context.url;
       12592  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12593  +
                            let region_prefix = &mut context.region_prefix;
       12594  +
                            let hardware_type = &mut context.hardware_type;
       12595  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12596  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12597  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12598  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12599  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12600  +
                            let bucket_arn = &mut context.bucket_arn;
       12601  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12602  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12603  +
                            let arn_type = &mut context.arn_type;
       12604  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12605  +
                            let bucket_partition = &mut context.bucket_partition;
       12606  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12607  +
                            let outpost_type = &mut context.outpost_type;
       12608  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12609  +
                            let partition_resolver = &self.partition_resolver;
       12610  +
                            crate::endpoint_lib::s3::is_virtual_hostable_s3_bucket(
       12611  +
                                if let Some(param) = bucket { param } else { return false },
       12612  +
                                false,
       12613  +
                                _diagnostic_collector,
       12614  +
                            )
       12615  +
                        })(&mut _diagnostic_collector),
       12616  +
                        22 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12617  +
                            let effective_std_region = &mut context.effective_std_region;
       12618  +
                            let partition_result = &mut context.partition_result;
       12619  +
                            let url = &mut context.url;
       12620  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12621  +
                            let region_prefix = &mut context.region_prefix;
       12622  +
                            let hardware_type = &mut context.hardware_type;
       12623  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12624  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12625  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12626  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12627  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12628  +
                            let bucket_arn = &mut context.bucket_arn;
       12629  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12630  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12631  +
                            let arn_type = &mut context.arn_type;
       12632  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12633  +
                            let bucket_partition = &mut context.bucket_partition;
       12634  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12635  +
                            let outpost_type = &mut context.outpost_type;
       12636  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12637  +
                            let partition_resolver = &self.partition_resolver;
       12638  +
                            {
       12639  +
                                *s3express_availability_zone_id = crate::endpoint_lib::split::split(
       12640  +
                                    if let Some(param) = bucket { param } else { return false },
       12641  +
                                    "--",
       12642  +
                                    0,
       12643  +
                                    _diagnostic_collector,
       12644  +
                                )
       12645  +
                                .get(1)
       12646  +
                                .cloned()
       12647  +
                                .map(|inner| inner.into());
       12648  +
                                s3express_availability_zone_id.is_some()
       12649  +
                            }
       12650  +
                        })(&mut _diagnostic_collector),
       12651  +
                        23 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12652  +
                            let effective_std_region = &mut context.effective_std_region;
       12653  +
                            let partition_result = &mut context.partition_result;
       12654  +
                            let url = &mut context.url;
       12655  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12656  +
                            let region_prefix = &mut context.region_prefix;
       12657  +
                            let hardware_type = &mut context.hardware_type;
       12658  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12659  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12660  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12661  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12662  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12663  +
                            let bucket_arn = &mut context.bucket_arn;
       12664  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12665  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12666  +
                            let arn_type = &mut context.arn_type;
       12667  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12668  +
                            let bucket_partition = &mut context.bucket_partition;
       12669  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12670  +
                            let outpost_type = &mut context.outpost_type;
       12671  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12672  +
                            let partition_resolver = &self.partition_resolver;
       12673  +
                            crate::endpoint_lib::host::is_valid_host_label(
       12674  +
                                if let Some(param) = outpost_id_ssa_2 { param } else { return false },
       12675  +
                                false,
       12676  +
                                _diagnostic_collector,
       12677  +
                            )
       12678  +
                        })(&mut _diagnostic_collector),
       12679  +
                        24 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12680  +
                            let effective_std_region = &mut context.effective_std_region;
       12681  +
                            let partition_result = &mut context.partition_result;
       12682  +
                            let url = &mut context.url;
       12683  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12684  +
                            let region_prefix = &mut context.region_prefix;
       12685  +
                            let hardware_type = &mut context.hardware_type;
       12686  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12687  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12688  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12689  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12690  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12691  +
                            let bucket_arn = &mut context.bucket_arn;
       12692  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12693  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12694  +
                            let arn_type = &mut context.arn_type;
       12695  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12696  +
                            let bucket_partition = &mut context.bucket_partition;
       12697  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12698  +
                            let outpost_type = &mut context.outpost_type;
       12699  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12700  +
                            let partition_resolver = &self.partition_resolver;
       12701  +
                            (crate::endpoint_lib::coalesce::coalesce!(*use_s3_express_control_endpoint, false)) == (true)
       12702  +
                        })(&mut _diagnostic_collector),
       12703  +
                        25 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12704  +
                            let effective_std_region = &mut context.effective_std_region;
       12705  +
                            let partition_result = &mut context.partition_result;
       12706  +
                            let url = &mut context.url;
       12707  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12708  +
                            let region_prefix = &mut context.region_prefix;
       12709  +
                            let hardware_type = &mut context.hardware_type;
       12710  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12711  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12712  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12713  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12714  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12715  +
                            let bucket_arn = &mut context.bucket_arn;
       12716  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12717  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12718  +
                            let arn_type = &mut context.arn_type;
       12719  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12720  +
                            let bucket_partition = &mut context.bucket_partition;
       12721  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12722  +
                            let outpost_type = &mut context.outpost_type;
       12723  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12724  +
                            let partition_resolver = &self.partition_resolver;
       12725  +
                            (region_prefix) == &mut Some(("beta".into()))
       12726  +
                        })(&mut _diagnostic_collector),
       12727  +
                        26 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12728  +
                            let effective_std_region = &mut context.effective_std_region;
       12729  +
                            let partition_result = &mut context.partition_result;
       12730  +
                            let url = &mut context.url;
       12731  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12732  +
                            let region_prefix = &mut context.region_prefix;
       12733  +
                            let hardware_type = &mut context.hardware_type;
       12734  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12735  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12736  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12737  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12738  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12739  +
                            let bucket_arn = &mut context.bucket_arn;
       12740  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12741  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12742  +
                            let arn_type = &mut context.arn_type;
       12743  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12744  +
                            let bucket_partition = &mut context.bucket_partition;
       12745  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12746  +
                            let outpost_type = &mut context.outpost_type;
       12747  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12748  +
                            let partition_resolver = &self.partition_resolver;
       12749  +
                            crate::endpoint_lib::s3::is_virtual_hostable_s3_bucket(
       12750  +
                                if let Some(param) = bucket { param } else { return false },
       12751  +
                                true,
       12752  +
                                _diagnostic_collector,
       12753  +
                            )
       12754  +
                        })(&mut _diagnostic_collector),
       12755  +
                        27 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12756  +
                            let effective_std_region = &mut context.effective_std_region;
       12757  +
                            let partition_result = &mut context.partition_result;
       12758  +
                            let url = &mut context.url;
       12759  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12760  +
                            let region_prefix = &mut context.region_prefix;
       12761  +
                            let hardware_type = &mut context.hardware_type;
       12762  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12763  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12764  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12765  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12766  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12767  +
                            let bucket_arn = &mut context.bucket_arn;
       12768  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12769  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12770  +
                            let arn_type = &mut context.arn_type;
       12771  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12772  +
                            let bucket_partition = &mut context.bucket_partition;
       12773  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12774  +
                            let outpost_type = &mut context.outpost_type;
       12775  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12776  +
                            let partition_resolver = &self.partition_resolver;
       12777  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       12778  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       12779  +
                                    if let Some(param) = bucket { param } else { return false },
       12780  +
                                    16,
       12781  +
                                    18,
       12782  +
                                    true,
       12783  +
                                    _diagnostic_collector
       12784  +
                                ) {
       12785  +
                                    inner
       12786  +
                                } else {
       12787  +
                                    return false;
       12788  +
                                },
       12789  +
                                ""
       12790  +
                            )) == ("--")
       12791  +
                        })(&mut _diagnostic_collector),
       12792  +
                        28 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12793  +
                            let effective_std_region = &mut context.effective_std_region;
       12794  +
                            let partition_result = &mut context.partition_result;
       12795  +
                            let url = &mut context.url;
       12796  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12797  +
                            let region_prefix = &mut context.region_prefix;
       12798  +
                            let hardware_type = &mut context.hardware_type;
       12799  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12800  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12801  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12802  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12803  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12804  +
                            let bucket_arn = &mut context.bucket_arn;
       12805  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12806  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12807  +
                            let arn_type = &mut context.arn_type;
       12808  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12809  +
                            let bucket_partition = &mut context.bucket_partition;
       12810  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12811  +
                            let outpost_type = &mut context.outpost_type;
       12812  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12813  +
                            let partition_resolver = &self.partition_resolver;
       12814  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       12815  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       12816  +
                                    if let Some(param) = bucket { param } else { return false },
       12817  +
                                    21,
       12818  +
                                    23,
       12819  +
                                    true,
       12820  +
                                    _diagnostic_collector
       12821  +
                                ) {
       12822  +
                                    inner
       12823  +
                                } else {
       12824  +
                                    return false;
       12825  +
                                },
       12826  +
                                ""
       12827  +
                            )) == ("--")
       12828  +
                        })(&mut _diagnostic_collector),
       12829  +
                        29 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12830  +
                            let effective_std_region = &mut context.effective_std_region;
       12831  +
                            let partition_result = &mut context.partition_result;
       12832  +
                            let url = &mut context.url;
       12833  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12834  +
                            let region_prefix = &mut context.region_prefix;
       12835  +
                            let hardware_type = &mut context.hardware_type;
       12836  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12837  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12838  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12839  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12840  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12841  +
                            let bucket_arn = &mut context.bucket_arn;
       12842  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12843  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12844  +
                            let arn_type = &mut context.arn_type;
       12845  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12846  +
                            let bucket_partition = &mut context.bucket_partition;
       12847  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12848  +
                            let outpost_type = &mut context.outpost_type;
       12849  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12850  +
                            let partition_resolver = &self.partition_resolver;
       12851  +
                            (if let Some(inner) = url { inner.scheme() } else { return false }) == ("http")
       12852  +
                        })(&mut _diagnostic_collector),
       12853  +
                        30 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12854  +
                            let effective_std_region = &mut context.effective_std_region;
       12855  +
                            let partition_result = &mut context.partition_result;
       12856  +
                            let url = &mut context.url;
       12857  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12858  +
                            let region_prefix = &mut context.region_prefix;
       12859  +
                            let hardware_type = &mut context.hardware_type;
       12860  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12861  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12862  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12863  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12864  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12865  +
                            let bucket_arn = &mut context.bucket_arn;
       12866  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12867  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12868  +
                            let arn_type = &mut context.arn_type;
       12869  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12870  +
                            let bucket_partition = &mut context.bucket_partition;
       12871  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12872  +
                            let outpost_type = &mut context.outpost_type;
       12873  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12874  +
                            let partition_resolver = &self.partition_resolver;
       12875  +
                            crate::endpoint_lib::host::is_valid_host_label(
       12876  +
                                if let Some(param) = region { param } else { return false },
       12877  +
                                false,
       12878  +
                                _diagnostic_collector,
       12879  +
                            )
       12880  +
                        })(&mut _diagnostic_collector),
       12881  +
                        31 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12882  +
                            let effective_std_region = &mut context.effective_std_region;
       12883  +
                            let partition_result = &mut context.partition_result;
       12884  +
                            let url = &mut context.url;
       12885  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12886  +
                            let region_prefix = &mut context.region_prefix;
       12887  +
                            let hardware_type = &mut context.hardware_type;
       12888  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12889  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12890  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12891  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12892  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12893  +
                            let bucket_arn = &mut context.bucket_arn;
       12894  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12895  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12896  +
                            let arn_type = &mut context.arn_type;
       12897  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12898  +
                            let bucket_partition = &mut context.bucket_partition;
       12899  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12900  +
                            let outpost_type = &mut context.outpost_type;
       12901  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12902  +
                            let partition_resolver = &self.partition_resolver;
       12903  +
                            {
       12904  +
                                *bucket_arn = crate::endpoint_lib::arn::parse_arn(
       12905  +
                                    if let Some(param) = bucket { param } else { return false },
       12906  +
                                    _diagnostic_collector,
       12907  +
                                )
       12908  +
                                .map(|inner| inner.into());
       12909  +
                                bucket_arn.is_some()
       12910  +
                            }
       12911  +
                        })(&mut _diagnostic_collector),
       12912  +
                        32 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12913  +
                            let effective_std_region = &mut context.effective_std_region;
       12914  +
                            let partition_result = &mut context.partition_result;
       12915  +
                            let url = &mut context.url;
       12916  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12917  +
                            let region_prefix = &mut context.region_prefix;
       12918  +
                            let hardware_type = &mut context.hardware_type;
       12919  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12920  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12921  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12922  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12923  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12924  +
                            let bucket_arn = &mut context.bucket_arn;
       12925  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12926  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12927  +
                            let arn_type = &mut context.arn_type;
       12928  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12929  +
                            let bucket_partition = &mut context.bucket_partition;
       12930  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12931  +
                            let outpost_type = &mut context.outpost_type;
       12932  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12933  +
                            let partition_resolver = &self.partition_resolver;
       12934  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       12935  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       12936  +
                                    if let Some(param) = bucket { param } else { return false },
       12937  +
                                    27,
       12938  +
                                    29,
       12939  +
                                    true,
       12940  +
                                    _diagnostic_collector
       12941  +
                                ) {
       12942  +
                                    inner
       12943  +
                                } else {
       12944  +
                                    return false;
       12945  +
                                },
       12946  +
                                ""
       12947  +
                            )) == ("--")
       12948  +
                        })(&mut _diagnostic_collector),
       12949  +
                        33 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12950  +
                            let effective_std_region = &mut context.effective_std_region;
       12951  +
                            let partition_result = &mut context.partition_result;
       12952  +
                            let url = &mut context.url;
       12953  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12954  +
                            let region_prefix = &mut context.region_prefix;
       12955  +
                            let hardware_type = &mut context.hardware_type;
       12956  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12957  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12958  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12959  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12960  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12961  +
                            let bucket_arn = &mut context.bucket_arn;
       12962  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12963  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12964  +
                            let arn_type = &mut context.arn_type;
       12965  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       12966  +
                            let bucket_partition = &mut context.bucket_partition;
       12967  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       12968  +
                            let outpost_type = &mut context.outpost_type;
       12969  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       12970  +
                            let partition_resolver = &self.partition_resolver;
       12971  +
                            {
       12972  +
                                *effective_arn_region = Some(
       12973  +
                                    crate::endpoint_lib::ite::ite!(
       12974  +
                                        crate::endpoint_lib::coalesce::coalesce!(*use_arn_region, true),
       12975  +
                                        if let Some(inner) = bucket_arn { inner.region() } else { return false }.to_string(),
       12976  +
                                        region.clone().expect("Reference already confirmed Some")
       12977  +
                                    )
       12978  +
                                    .into(),
       12979  +
                                );
       12980  +
                                true
       12981  +
                            }
       12982  +
                        })(&mut _diagnostic_collector),
       12983  +
                        34 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       12984  +
                            let effective_std_region = &mut context.effective_std_region;
       12985  +
                            let partition_result = &mut context.partition_result;
       12986  +
                            let url = &mut context.url;
       12987  +
                            let access_point_suffix = &mut context.access_point_suffix;
       12988  +
                            let region_prefix = &mut context.region_prefix;
       12989  +
                            let hardware_type = &mut context.hardware_type;
       12990  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       12991  +
                            let s3_e_ds = &mut context.s3_e_ds;
       12992  +
                            let s3_e_fips = &mut context.s3_e_fips;
       12993  +
                            let s3_e_auth = &mut context.s3_e_auth;
       12994  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       12995  +
                            let bucket_arn = &mut context.bucket_arn;
       12996  +
                            let effective_arn_region = &mut context.effective_arn_region;
       12997  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       12998  +
                            let arn_type = &mut context.arn_type;
       12999  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13000  +
                            let bucket_partition = &mut context.bucket_partition;
       13001  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13002  +
                            let outpost_type = &mut context.outpost_type;
       13003  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13004  +
                            let partition_resolver = &self.partition_resolver;
       13005  +
                            (if let Some(inner) = url { inner.is_ip() } else { return false }) == (true)
       13006  +
                        })(&mut _diagnostic_collector),
       13007  +
                        35 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13008  +
                            let effective_std_region = &mut context.effective_std_region;
       13009  +
                            let partition_result = &mut context.partition_result;
       13010  +
                            let url = &mut context.url;
       13011  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13012  +
                            let region_prefix = &mut context.region_prefix;
       13013  +
                            let hardware_type = &mut context.hardware_type;
       13014  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13015  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13016  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13017  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13018  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13019  +
                            let bucket_arn = &mut context.bucket_arn;
       13020  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13021  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13022  +
                            let arn_type = &mut context.arn_type;
       13023  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13024  +
                            let bucket_partition = &mut context.bucket_partition;
       13025  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13026  +
                            let outpost_type = &mut context.outpost_type;
       13027  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13028  +
                            let partition_resolver = &self.partition_resolver;
       13029  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       13030  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       13031  +
                                    if let Some(param) = bucket { param } else { return false },
       13032  +
                                    0,
       13033  +
                                    4,
       13034  +
                                    false,
       13035  +
                                    _diagnostic_collector
       13036  +
                                ) {
       13037  +
                                    inner
       13038  +
                                } else {
       13039  +
                                    return false;
       13040  +
                                },
       13041  +
                                ""
       13042  +
                            )) == ("arn:")
       13043  +
                        })(&mut _diagnostic_collector),
       13044  +
                        36 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13045  +
                            let effective_std_region = &mut context.effective_std_region;
       13046  +
                            let partition_result = &mut context.partition_result;
       13047  +
                            let url = &mut context.url;
       13048  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13049  +
                            let region_prefix = &mut context.region_prefix;
       13050  +
                            let hardware_type = &mut context.hardware_type;
       13051  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13052  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13053  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13054  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13055  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13056  +
                            let bucket_arn = &mut context.bucket_arn;
       13057  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13058  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13059  +
                            let arn_type = &mut context.arn_type;
       13060  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13061  +
                            let bucket_partition = &mut context.bucket_partition;
       13062  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13063  +
                            let outpost_type = &mut context.outpost_type;
       13064  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13065  +
                            let partition_resolver = &self.partition_resolver;
       13066  +
                            {
       13067  +
                                *uri_encoded_bucket = Some(
       13068  +
                                    crate::endpoint_lib::uri_encode::uri_encode(
       13069  +
                                        if let Some(param) = bucket { param } else { return false },
       13070  +
                                        _diagnostic_collector,
       13071  +
                                    )
       13072  +
                                    .into(),
       13073  +
                                );
       13074  +
                                true
       13075  +
                            }
       13076  +
                        })(&mut _diagnostic_collector),
       13077  +
                        37 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13078  +
                            let effective_std_region = &mut context.effective_std_region;
       13079  +
                            let partition_result = &mut context.partition_result;
       13080  +
                            let url = &mut context.url;
       13081  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13082  +
                            let region_prefix = &mut context.region_prefix;
       13083  +
                            let hardware_type = &mut context.hardware_type;
       13084  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13085  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13086  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13087  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13088  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13089  +
                            let bucket_arn = &mut context.bucket_arn;
       13090  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13091  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13092  +
                            let arn_type = &mut context.arn_type;
       13093  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13094  +
                            let bucket_partition = &mut context.bucket_partition;
       13095  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13096  +
                            let outpost_type = &mut context.outpost_type;
       13097  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13098  +
                            let partition_resolver = &self.partition_resolver;
       13099  +
                            (crate::endpoint_lib::coalesce::coalesce!(*use_object_lambda_endpoint, false)) == (true)
       13100  +
                        })(&mut _diagnostic_collector),
       13101  +
                        38 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13102  +
                            let effective_std_region = &mut context.effective_std_region;
       13103  +
                            let partition_result = &mut context.partition_result;
       13104  +
                            let url = &mut context.url;
       13105  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13106  +
                            let region_prefix = &mut context.region_prefix;
       13107  +
                            let hardware_type = &mut context.hardware_type;
       13108  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13109  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13110  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13111  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13112  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13113  +
                            let bucket_arn = &mut context.bucket_arn;
       13114  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13115  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13116  +
                            let arn_type = &mut context.arn_type;
       13117  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13118  +
                            let bucket_partition = &mut context.bucket_partition;
       13119  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13120  +
                            let outpost_type = &mut context.outpost_type;
       13121  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13122  +
                            let partition_resolver = &self.partition_resolver;
       13123  +
                            {
       13124  +
                                *arn_type = if let Some(inner) = bucket_arn {
       13125  +
                                    inner.resource_id().first().cloned()
       13126  +
                                } else {
       13127  +
                                    return false;
       13128  +
                                }
       13129  +
                                .map(|inner| inner.into());
       13130  +
                                arn_type.is_some()
       13131  +
                            }
       13132  +
                        })(&mut _diagnostic_collector),
       13133  +
                        39 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13134  +
                            let effective_std_region = &mut context.effective_std_region;
       13135  +
                            let partition_result = &mut context.partition_result;
       13136  +
                            let url = &mut context.url;
       13137  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13138  +
                            let region_prefix = &mut context.region_prefix;
       13139  +
                            let hardware_type = &mut context.hardware_type;
       13140  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13141  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13142  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13143  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13144  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13145  +
                            let bucket_arn = &mut context.bucket_arn;
       13146  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13147  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13148  +
                            let arn_type = &mut context.arn_type;
       13149  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13150  +
                            let bucket_partition = &mut context.bucket_partition;
       13151  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13152  +
                            let outpost_type = &mut context.outpost_type;
       13153  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13154  +
                            let partition_resolver = &self.partition_resolver;
       13155  +
                            (arn_type) == &mut Some(("".into()))
       13156  +
                        })(&mut _diagnostic_collector),
       13157  +
                        40 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13158  +
                            let effective_std_region = &mut context.effective_std_region;
       13159  +
                            let partition_result = &mut context.partition_result;
       13160  +
                            let url = &mut context.url;
       13161  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13162  +
                            let region_prefix = &mut context.region_prefix;
       13163  +
                            let hardware_type = &mut context.hardware_type;
       13164  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13165  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13166  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13167  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13168  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13169  +
                            let bucket_arn = &mut context.bucket_arn;
       13170  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13171  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13172  +
                            let arn_type = &mut context.arn_type;
       13173  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13174  +
                            let bucket_partition = &mut context.bucket_partition;
       13175  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13176  +
                            let outpost_type = &mut context.outpost_type;
       13177  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13178  +
                            let partition_resolver = &self.partition_resolver;
       13179  +
                            (arn_type) == &mut Some(("accesspoint".into()))
       13180  +
                        })(&mut _diagnostic_collector),
       13181  +
                        41 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13182  +
                            let effective_std_region = &mut context.effective_std_region;
       13183  +
                            let partition_result = &mut context.partition_result;
       13184  +
                            let url = &mut context.url;
       13185  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13186  +
                            let region_prefix = &mut context.region_prefix;
       13187  +
                            let hardware_type = &mut context.hardware_type;
       13188  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13189  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13190  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13191  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13192  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13193  +
                            let bucket_arn = &mut context.bucket_arn;
       13194  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13195  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13196  +
                            let arn_type = &mut context.arn_type;
       13197  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13198  +
                            let bucket_partition = &mut context.bucket_partition;
       13199  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13200  +
                            let outpost_type = &mut context.outpost_type;
       13201  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13202  +
                            let partition_resolver = &self.partition_resolver;
       13203  +
                            {
       13204  +
                                *access_point_name_ssa_1 = if let Some(inner) = bucket_arn {
       13205  +
                                    inner.resource_id().get(1).cloned()
       13206  +
                                } else {
       13207  +
                                    return false;
       13208  +
                                }
       13209  +
                                .map(|inner| inner.into());
       13210  +
                                access_point_name_ssa_1.is_some()
       13211  +
                            }
       13212  +
                        })(&mut _diagnostic_collector),
       13213  +
                        42 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13214  +
                            let effective_std_region = &mut context.effective_std_region;
       13215  +
                            let partition_result = &mut context.partition_result;
       13216  +
                            let url = &mut context.url;
       13217  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13218  +
                            let region_prefix = &mut context.region_prefix;
       13219  +
                            let hardware_type = &mut context.hardware_type;
       13220  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13221  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13222  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13223  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13224  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13225  +
                            let bucket_arn = &mut context.bucket_arn;
       13226  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13227  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13228  +
                            let arn_type = &mut context.arn_type;
       13229  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13230  +
                            let bucket_partition = &mut context.bucket_partition;
       13231  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13232  +
                            let outpost_type = &mut context.outpost_type;
       13233  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13234  +
                            let partition_resolver = &self.partition_resolver;
       13235  +
                            (access_point_name_ssa_1) == &mut Some(("".into()))
       13236  +
                        })(&mut _diagnostic_collector),
       13237  +
                        43 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13238  +
                            let effective_std_region = &mut context.effective_std_region;
       13239  +
                            let partition_result = &mut context.partition_result;
       13240  +
                            let url = &mut context.url;
       13241  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13242  +
                            let region_prefix = &mut context.region_prefix;
       13243  +
                            let hardware_type = &mut context.hardware_type;
       13244  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13245  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13246  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13247  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13248  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13249  +
                            let bucket_arn = &mut context.bucket_arn;
       13250  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13251  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13252  +
                            let arn_type = &mut context.arn_type;
       13253  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13254  +
                            let bucket_partition = &mut context.bucket_partition;
       13255  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13256  +
                            let outpost_type = &mut context.outpost_type;
       13257  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13258  +
                            let partition_resolver = &self.partition_resolver;
       13259  +
                            (if let Some(inner) = bucket_arn { inner.service() } else { return false }) == ("s3-object-lambda")
       13260  +
                        })(&mut _diagnostic_collector),
       13261  +
                        44 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13262  +
                            let effective_std_region = &mut context.effective_std_region;
       13263  +
                            let partition_result = &mut context.partition_result;
       13264  +
                            let url = &mut context.url;
       13265  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13266  +
                            let region_prefix = &mut context.region_prefix;
       13267  +
                            let hardware_type = &mut context.hardware_type;
       13268  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13269  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13270  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13271  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13272  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13273  +
                            let bucket_arn = &mut context.bucket_arn;
       13274  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13275  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13276  +
                            let arn_type = &mut context.arn_type;
       13277  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13278  +
                            let bucket_partition = &mut context.bucket_partition;
       13279  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13280  +
                            let outpost_type = &mut context.outpost_type;
       13281  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13282  +
                            let partition_resolver = &self.partition_resolver;
       13283  +
                            crate::endpoint_lib::host::is_valid_host_label(
       13284  +
                                if let Some(param) = region { param } else { return false },
       13285  +
                                true,
       13286  +
                                _diagnostic_collector,
       13287  +
                            )
       13288  +
                        })(&mut _diagnostic_collector),
       13289  +
                        45 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13290  +
                            let effective_std_region = &mut context.effective_std_region;
       13291  +
                            let partition_result = &mut context.partition_result;
       13292  +
                            let url = &mut context.url;
       13293  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13294  +
                            let region_prefix = &mut context.region_prefix;
       13295  +
                            let hardware_type = &mut context.hardware_type;
       13296  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13297  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13298  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13299  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13300  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13301  +
                            let bucket_arn = &mut context.bucket_arn;
       13302  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13303  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13304  +
                            let arn_type = &mut context.arn_type;
       13305  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13306  +
                            let bucket_partition = &mut context.bucket_partition;
       13307  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13308  +
                            let outpost_type = &mut context.outpost_type;
       13309  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13310  +
                            let partition_resolver = &self.partition_resolver;
       13311  +
                            (if let Some(inner) = bucket_arn { inner.region() } else { return false }) == ("")
       13312  +
                        })(&mut _diagnostic_collector),
       13313  +
                        46 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13314  +
                            let effective_std_region = &mut context.effective_std_region;
       13315  +
                            let partition_result = &mut context.partition_result;
       13316  +
                            let url = &mut context.url;
       13317  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13318  +
                            let region_prefix = &mut context.region_prefix;
       13319  +
                            let hardware_type = &mut context.hardware_type;
       13320  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13321  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13322  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13323  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13324  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13325  +
                            let bucket_arn = &mut context.bucket_arn;
       13326  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13327  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13328  +
                            let arn_type = &mut context.arn_type;
       13329  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13330  +
                            let bucket_partition = &mut context.bucket_partition;
       13331  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13332  +
                            let outpost_type = &mut context.outpost_type;
       13333  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13334  +
                            let partition_resolver = &self.partition_resolver;
       13335  +
                            (hardware_type) == &mut Some(("e".into()))
       13336  +
                        })(&mut _diagnostic_collector),
       13337  +
                        47 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13338  +
                            let effective_std_region = &mut context.effective_std_region;
       13339  +
                            let partition_result = &mut context.partition_result;
       13340  +
                            let url = &mut context.url;
       13341  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13342  +
                            let region_prefix = &mut context.region_prefix;
       13343  +
                            let hardware_type = &mut context.hardware_type;
       13344  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13345  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13346  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13347  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13348  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13349  +
                            let bucket_arn = &mut context.bucket_arn;
       13350  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13351  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13352  +
                            let arn_type = &mut context.arn_type;
       13353  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13354  +
                            let bucket_partition = &mut context.bucket_partition;
       13355  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13356  +
                            let outpost_type = &mut context.outpost_type;
       13357  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13358  +
                            let partition_resolver = &self.partition_resolver;
       13359  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       13360  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       13361  +
                                    if let Some(param) = bucket { param } else { return false },
       13362  +
                                    26,
       13363  +
                                    28,
       13364  +
                                    true,
       13365  +
                                    _diagnostic_collector
       13366  +
                                ) {
       13367  +
                                    inner
       13368  +
                                } else {
       13369  +
                                    return false;
       13370  +
                                },
       13371  +
                                ""
       13372  +
                            )) == ("--")
       13373  +
                        })(&mut _diagnostic_collector),
       13374  +
                        48 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13375  +
                            let effective_std_region = &mut context.effective_std_region;
       13376  +
                            let partition_result = &mut context.partition_result;
       13377  +
                            let url = &mut context.url;
       13378  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13379  +
                            let region_prefix = &mut context.region_prefix;
       13380  +
                            let hardware_type = &mut context.hardware_type;
       13381  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13382  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13383  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13384  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13385  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13386  +
                            let bucket_arn = &mut context.bucket_arn;
       13387  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13388  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13389  +
                            let arn_type = &mut context.arn_type;
       13390  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13391  +
                            let bucket_partition = &mut context.bucket_partition;
       13392  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13393  +
                            let outpost_type = &mut context.outpost_type;
       13394  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13395  +
                            let partition_resolver = &self.partition_resolver;
       13396  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       13397  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       13398  +
                                    if let Some(param) = bucket { param } else { return false },
       13399  +
                                    19,
       13400  +
                                    21,
       13401  +
                                    true,
       13402  +
                                    _diagnostic_collector
       13403  +
                                ) {
       13404  +
                                    inner
       13405  +
                                } else {
       13406  +
                                    return false;
       13407  +
                                },
       13408  +
                                ""
       13409  +
                            )) == ("--")
       13410  +
                        })(&mut _diagnostic_collector),
       13411  +
                        49 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13412  +
                            let effective_std_region = &mut context.effective_std_region;
       13413  +
                            let partition_result = &mut context.partition_result;
       13414  +
                            let url = &mut context.url;
       13415  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13416  +
                            let region_prefix = &mut context.region_prefix;
       13417  +
                            let hardware_type = &mut context.hardware_type;
       13418  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13419  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13420  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13421  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13422  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13423  +
                            let bucket_arn = &mut context.bucket_arn;
       13424  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13425  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13426  +
                            let arn_type = &mut context.arn_type;
       13427  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13428  +
                            let bucket_partition = &mut context.bucket_partition;
       13429  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13430  +
                            let outpost_type = &mut context.outpost_type;
       13431  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13432  +
                            let partition_resolver = &self.partition_resolver;
       13433  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       13434  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       13435  +
                                    if let Some(param) = bucket { param } else { return false },
       13436  +
                                    14,
       13437  +
                                    16,
       13438  +
                                    true,
       13439  +
                                    _diagnostic_collector
       13440  +
                                ) {
       13441  +
                                    inner
       13442  +
                                } else {
       13443  +
                                    return false;
       13444  +
                                },
       13445  +
                                ""
       13446  +
                            )) == ("--")
       13447  +
                        })(&mut _diagnostic_collector),
       13448  +
                        50 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13449  +
                            let effective_std_region = &mut context.effective_std_region;
       13450  +
                            let partition_result = &mut context.partition_result;
       13451  +
                            let url = &mut context.url;
       13452  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13453  +
                            let region_prefix = &mut context.region_prefix;
       13454  +
                            let hardware_type = &mut context.hardware_type;
       13455  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13456  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13457  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13458  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13459  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13460  +
                            let bucket_arn = &mut context.bucket_arn;
       13461  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13462  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13463  +
                            let arn_type = &mut context.arn_type;
       13464  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13465  +
                            let bucket_partition = &mut context.bucket_partition;
       13466  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13467  +
                            let outpost_type = &mut context.outpost_type;
       13468  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13469  +
                            let partition_resolver = &self.partition_resolver;
       13470  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       13471  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       13472  +
                                    if let Some(param) = bucket { param } else { return false },
       13473  +
                                    20,
       13474  +
                                    22,
       13475  +
                                    true,
       13476  +
                                    _diagnostic_collector
       13477  +
                                ) {
       13478  +
                                    inner
       13479  +
                                } else {
       13480  +
                                    return false;
       13481  +
                                },
       13482  +
                                ""
       13483  +
                            )) == ("--")
       13484  +
                        })(&mut _diagnostic_collector),
       13485  +
                        51 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13486  +
                            let effective_std_region = &mut context.effective_std_region;
       13487  +
                            let partition_result = &mut context.partition_result;
       13488  +
                            let url = &mut context.url;
       13489  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13490  +
                            let region_prefix = &mut context.region_prefix;
       13491  +
                            let hardware_type = &mut context.hardware_type;
       13492  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13493  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13494  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13495  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13496  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13497  +
                            let bucket_arn = &mut context.bucket_arn;
       13498  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13499  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13500  +
                            let arn_type = &mut context.arn_type;
       13501  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13502  +
                            let bucket_partition = &mut context.bucket_partition;
       13503  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13504  +
                            let outpost_type = &mut context.outpost_type;
       13505  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13506  +
                            let partition_resolver = &self.partition_resolver;
       13507  +
                            (crate::endpoint_lib::coalesce::coalesce!(
       13508  +
                                if let Some(inner) = crate::endpoint_lib::substring::substring(
       13509  +
                                    if let Some(param) = bucket { param } else { return false },
       13510  +
                                    15,
       13511  +
                                    17,
       13512  +
                                    true,
       13513  +
                                    _diagnostic_collector
       13514  +
                                ) {
       13515  +
                                    inner
       13516  +
                                } else {
       13517  +
                                    return false;
       13518  +
                                },
       13519  +
                                ""
       13520  +
                            )) == ("--")
       13521  +
                        })(&mut _diagnostic_collector),
       13522  +
                        52 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13523  +
                            let effective_std_region = &mut context.effective_std_region;
       13524  +
                            let partition_result = &mut context.partition_result;
       13525  +
                            let url = &mut context.url;
       13526  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13527  +
                            let region_prefix = &mut context.region_prefix;
       13528  +
                            let hardware_type = &mut context.hardware_type;
       13529  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13530  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13531  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13532  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13533  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13534  +
                            let bucket_arn = &mut context.bucket_arn;
       13535  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13536  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13537  +
                            let arn_type = &mut context.arn_type;
       13538  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13539  +
                            let bucket_partition = &mut context.bucket_partition;
       13540  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13541  +
                            let outpost_type = &mut context.outpost_type;
       13542  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13543  +
                            let partition_resolver = &self.partition_resolver;
       13544  +
                            (if let Some(inner) = bucket_arn { inner.service() } else { return false }) == ("s3-outposts")
       13545  +
                        })(&mut _diagnostic_collector),
       13546  +
                        53 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13547  +
                            let effective_std_region = &mut context.effective_std_region;
       13548  +
                            let partition_result = &mut context.partition_result;
       13549  +
                            let url = &mut context.url;
       13550  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13551  +
                            let region_prefix = &mut context.region_prefix;
       13552  +
                            let hardware_type = &mut context.hardware_type;
       13553  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13554  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13555  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13556  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13557  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13558  +
                            let bucket_arn = &mut context.bucket_arn;
       13559  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13560  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13561  +
                            let arn_type = &mut context.arn_type;
       13562  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13563  +
                            let bucket_partition = &mut context.bucket_partition;
       13564  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13565  +
                            let outpost_type = &mut context.outpost_type;
       13566  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13567  +
                            let partition_resolver = &self.partition_resolver;
       13568  +
                            (crate::endpoint_lib::coalesce::coalesce!(*disable_access_points, false)) == (true)
       13569  +
                        })(&mut _diagnostic_collector),
       13570  +
                        54 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13571  +
                            let effective_std_region = &mut context.effective_std_region;
       13572  +
                            let partition_result = &mut context.partition_result;
       13573  +
                            let url = &mut context.url;
       13574  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13575  +
                            let region_prefix = &mut context.region_prefix;
       13576  +
                            let hardware_type = &mut context.hardware_type;
       13577  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13578  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13579  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13580  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13581  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13582  +
                            let bucket_arn = &mut context.bucket_arn;
       13583  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13584  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13585  +
                            let arn_type = &mut context.arn_type;
       13586  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13587  +
                            let bucket_partition = &mut context.bucket_partition;
       13588  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13589  +
                            let outpost_type = &mut context.outpost_type;
       13590  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13591  +
                            let partition_resolver = &self.partition_resolver;
       13592  +
                            {
       13593  +
                                *bucket_partition = partition_resolver
       13594  +
                                    .resolve_partition(
       13595  +
                                        if let Some(param) = effective_arn_region { param } else { return false },
       13596  +
                                        _diagnostic_collector,
       13597  +
                                    )
       13598  +
                                    .map(|inner| inner.into());
       13599  +
                                bucket_partition.is_some()
       13600  +
                            }
       13601  +
                        })(&mut _diagnostic_collector),
       13602  +
                        55 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13603  +
                            let effective_std_region = &mut context.effective_std_region;
       13604  +
                            let partition_result = &mut context.partition_result;
       13605  +
                            let url = &mut context.url;
       13606  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13607  +
                            let region_prefix = &mut context.region_prefix;
       13608  +
                            let hardware_type = &mut context.hardware_type;
       13609  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13610  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13611  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13612  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13613  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13614  +
                            let bucket_arn = &mut context.bucket_arn;
       13615  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13616  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13617  +
                            let arn_type = &mut context.arn_type;
       13618  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13619  +
                            let bucket_partition = &mut context.bucket_partition;
       13620  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13621  +
                            let outpost_type = &mut context.outpost_type;
       13622  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13623  +
                            let partition_resolver = &self.partition_resolver;
       13624  +
                            (hardware_type) == &mut Some(("o".into()))
       13625  +
                        })(&mut _diagnostic_collector),
       13626  +
                        56 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13627  +
                            let effective_std_region = &mut context.effective_std_region;
       13628  +
                            let partition_result = &mut context.partition_result;
       13629  +
                            let url = &mut context.url;
       13630  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13631  +
                            let region_prefix = &mut context.region_prefix;
       13632  +
                            let hardware_type = &mut context.hardware_type;
       13633  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13634  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13635  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13636  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13637  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13638  +
                            let bucket_arn = &mut context.bucket_arn;
       13639  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13640  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13641  +
                            let arn_type = &mut context.arn_type;
       13642  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13643  +
                            let bucket_partition = &mut context.bucket_partition;
       13644  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13645  +
                            let outpost_type = &mut context.outpost_type;
       13646  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13647  +
                            let partition_resolver = &self.partition_resolver;
       13648  +
                            if let Some(inner) = bucket_arn {
       13649  +
                                inner.resource_id().get(4).cloned()
       13650  +
                            } else {
       13651  +
                                return false;
       13652  +
                            }
       13653  +
                            .is_some()
       13654  +
                        })(&mut _diagnostic_collector),
       13655  +
                        57 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13656  +
                            let effective_std_region = &mut context.effective_std_region;
       13657  +
                            let partition_result = &mut context.partition_result;
       13658  +
                            let url = &mut context.url;
       13659  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13660  +
                            let region_prefix = &mut context.region_prefix;
       13661  +
                            let hardware_type = &mut context.hardware_type;
       13662  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13663  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13664  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13665  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13666  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13667  +
                            let bucket_arn = &mut context.bucket_arn;
       13668  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13669  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13670  +
                            let arn_type = &mut context.arn_type;
       13671  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13672  +
                            let bucket_partition = &mut context.bucket_partition;
       13673  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13674  +
                            let outpost_type = &mut context.outpost_type;
       13675  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13676  +
                            let partition_resolver = &self.partition_resolver;
       13677  +
                            {
       13678  +
                                *outpost_id_ssa_1 = if let Some(inner) = bucket_arn {
       13679  +
                                    inner.resource_id().get(1).cloned()
       13680  +
                                } else {
       13681  +
                                    return false;
       13682  +
                                }
       13683  +
                                .map(|inner| inner.into());
       13684  +
                                outpost_id_ssa_1.is_some()
       13685  +
                            }
       13686  +
                        })(&mut _diagnostic_collector),
       13687  +
                        58 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13688  +
                            let effective_std_region = &mut context.effective_std_region;
       13689  +
                            let partition_result = &mut context.partition_result;
       13690  +
                            let url = &mut context.url;
       13691  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13692  +
                            let region_prefix = &mut context.region_prefix;
       13693  +
                            let hardware_type = &mut context.hardware_type;
       13694  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13695  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13696  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13697  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13698  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13699  +
                            let bucket_arn = &mut context.bucket_arn;
       13700  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13701  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13702  +
                            let arn_type = &mut context.arn_type;
       13703  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13704  +
                            let bucket_partition = &mut context.bucket_partition;
       13705  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13706  +
                            let outpost_type = &mut context.outpost_type;
       13707  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13708  +
                            let partition_resolver = &self.partition_resolver;
       13709  +
                            (crate::endpoint_lib::coalesce::coalesce!(*use_arn_region, true)) == (true)
       13710  +
                        })(&mut _diagnostic_collector),
       13711  +
                        59 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13712  +
                            let effective_std_region = &mut context.effective_std_region;
       13713  +
                            let partition_result = &mut context.partition_result;
       13714  +
                            let url = &mut context.url;
       13715  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13716  +
                            let region_prefix = &mut context.region_prefix;
       13717  +
                            let hardware_type = &mut context.hardware_type;
       13718  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13719  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13720  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13721  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13722  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13723  +
                            let bucket_arn = &mut context.bucket_arn;
       13724  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13725  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13726  +
                            let arn_type = &mut context.arn_type;
       13727  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13728  +
                            let bucket_partition = &mut context.bucket_partition;
       13729  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13730  +
                            let outpost_type = &mut context.outpost_type;
       13731  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13732  +
                            let partition_resolver = &self.partition_resolver;
       13733  +
                            (effective_arn_region) == &mut Some((if let Some(inner) = bucket_arn { inner.region() } else { return false }.into()))
       13734  +
                        })(&mut _diagnostic_collector),
       13735  +
                        60 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13736  +
                            let effective_std_region = &mut context.effective_std_region;
       13737  +
                            let partition_result = &mut context.partition_result;
       13738  +
                            let url = &mut context.url;
       13739  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13740  +
                            let region_prefix = &mut context.region_prefix;
       13741  +
                            let hardware_type = &mut context.hardware_type;
       13742  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13743  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13744  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13745  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13746  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13747  +
                            let bucket_arn = &mut context.bucket_arn;
       13748  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13749  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13750  +
                            let arn_type = &mut context.arn_type;
       13751  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13752  +
                            let bucket_partition = &mut context.bucket_partition;
       13753  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13754  +
                            let outpost_type = &mut context.outpost_type;
       13755  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13756  +
                            let partition_resolver = &self.partition_resolver;
       13757  +
                            (region) == &mut Some(("aws-global".into()))
       13758  +
                        })(&mut _diagnostic_collector),
       13759  +
                        61 => (use_global_endpoint) == (&true),
       13760  +
                        62 => (disable_multi_region_access_points) == (&true),
       13761  +
                        63 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13762  +
                            let effective_std_region = &mut context.effective_std_region;
       13763  +
                            let partition_result = &mut context.partition_result;
       13764  +
                            let url = &mut context.url;
       13765  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13766  +
                            let region_prefix = &mut context.region_prefix;
       13767  +
                            let hardware_type = &mut context.hardware_type;
       13768  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13769  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13770  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13771  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13772  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13773  +
                            let bucket_arn = &mut context.bucket_arn;
       13774  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13775  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13776  +
                            let arn_type = &mut context.arn_type;
       13777  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13778  +
                            let bucket_partition = &mut context.bucket_partition;
       13779  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13780  +
                            let outpost_type = &mut context.outpost_type;
       13781  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13782  +
                            let partition_resolver = &self.partition_resolver;
       13783  +
                            (region) == &mut Some(("us-east-1".into()))
       13784  +
                        })(&mut _diagnostic_collector),
       13785  +
                        64 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13786  +
                            let effective_std_region = &mut context.effective_std_region;
       13787  +
                            let partition_result = &mut context.partition_result;
       13788  +
                            let url = &mut context.url;
       13789  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13790  +
                            let region_prefix = &mut context.region_prefix;
       13791  +
                            let hardware_type = &mut context.hardware_type;
       13792  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13793  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13794  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13795  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13796  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13797  +
                            let bucket_arn = &mut context.bucket_arn;
       13798  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13799  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13800  +
                            let arn_type = &mut context.arn_type;
       13801  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13802  +
                            let bucket_partition = &mut context.bucket_partition;
       13803  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13804  +
                            let outpost_type = &mut context.outpost_type;
       13805  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13806  +
                            let partition_resolver = &self.partition_resolver;
       13807  +
                            crate::endpoint_lib::host::is_valid_host_label(
       13808  +
                                if let Some(param) = outpost_id_ssa_1 { param } else { return false },
       13809  +
                                false,
       13810  +
                                _diagnostic_collector,
15057  13811   
                            )
       13812  +
                        })(&mut _diagnostic_collector),
       13813  +
                        65 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13814  +
                            let effective_std_region = &mut context.effective_std_region;
       13815  +
                            let partition_result = &mut context.partition_result;
       13816  +
                            let url = &mut context.url;
       13817  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13818  +
                            let region_prefix = &mut context.region_prefix;
       13819  +
                            let hardware_type = &mut context.hardware_type;
       13820  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13821  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13822  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13823  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13824  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13825  +
                            let bucket_arn = &mut context.bucket_arn;
       13826  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13827  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13828  +
                            let arn_type = &mut context.arn_type;
       13829  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13830  +
                            let bucket_partition = &mut context.bucket_partition;
       13831  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13832  +
                            let outpost_type = &mut context.outpost_type;
       13833  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13834  +
                            let partition_resolver = &self.partition_resolver;
       13835  +
                            {
       13836  +
                                *outpost_type = if let Some(inner) = bucket_arn {
       13837  +
                                    inner.resource_id().get(2).cloned()
       13838  +
                                } else {
       13839  +
                                    return false;
15058  13840   
                                }
15059         -
            Self::Result91 => {
15060         -
                let effective_std_region = context
15061         -
                    .effective_std_region
15062         -
                    .as_ref()
15063         -
                    .map(|s| s.clone())
15064         -
                    .expect("Guaranteed to have a value by earlier checks.");
15065         -
                let partition_result = context
15066         -
                    .partition_result
15067         -
                    .as_ref()
15068         -
                    .map(|s| s.clone())
15069         -
                    .expect("Guaranteed to have a value by earlier checks.");
15070         -
                ::std::result::Result::Ok(
15071         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
15072         -
                        .url({
15073         -
                            let mut out = String::new();
15074         -
                            out.push_str("https://s3-fips.");
15075         -
                            #[allow(clippy::needless_borrow)]
15076         -
                            out.push_str(&effective_std_region.as_ref());
15077         -
                            out.push('.');
15078         -
                            #[allow(clippy::needless_borrow)]
15079         -
                            out.push_str(&partition_result.dns_suffix());
15080         -
                            out
       13841  +
                                .map(|inner| inner.into());
       13842  +
                                outpost_type.is_some()
       13843  +
                            }
       13844  +
                        })(&mut _diagnostic_collector),
       13845  +
                        66 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13846  +
                            let effective_std_region = &mut context.effective_std_region;
       13847  +
                            let partition_result = &mut context.partition_result;
       13848  +
                            let url = &mut context.url;
       13849  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13850  +
                            let region_prefix = &mut context.region_prefix;
       13851  +
                            let hardware_type = &mut context.hardware_type;
       13852  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13853  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13854  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13855  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13856  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13857  +
                            let bucket_arn = &mut context.bucket_arn;
       13858  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13859  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13860  +
                            let arn_type = &mut context.arn_type;
       13861  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13862  +
                            let bucket_partition = &mut context.bucket_partition;
       13863  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13864  +
                            let outpost_type = &mut context.outpost_type;
       13865  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13866  +
                            let partition_resolver = &self.partition_resolver;
       13867  +
                            (if let Some(inner) = bucket_partition {
       13868  +
                                inner.name()
       13869  +
                            } else {
       13870  +
                                return false;
       13871  +
                            }) == (if let Some(inner) = partition_result {
       13872  +
                                inner.name()
       13873  +
                            } else {
       13874  +
                                return false;
15081  13875   
                            })
15082         -
                        .property(
15083         -
                            "authSchemes",
15084         -
                            vec![::aws_smithy_types::Document::from({
15085         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
15086         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
15087         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
15088         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
15089         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
15090         -
                                out
15091         -
                            })],
       13876  +
                        })(&mut _diagnostic_collector),
       13877  +
                        67 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13878  +
                            let effective_std_region = &mut context.effective_std_region;
       13879  +
                            let partition_result = &mut context.partition_result;
       13880  +
                            let url = &mut context.url;
       13881  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13882  +
                            let region_prefix = &mut context.region_prefix;
       13883  +
                            let hardware_type = &mut context.hardware_type;
       13884  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13885  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13886  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13887  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13888  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13889  +
                            let bucket_arn = &mut context.bucket_arn;
       13890  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13891  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13892  +
                            let arn_type = &mut context.arn_type;
       13893  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13894  +
                            let bucket_partition = &mut context.bucket_partition;
       13895  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13896  +
                            let outpost_type = &mut context.outpost_type;
       13897  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13898  +
                            let partition_resolver = &self.partition_resolver;
       13899  +
                            crate::endpoint_lib::host::is_valid_host_label(
       13900  +
                                if let Some(param) = effective_arn_region { param } else { return false },
       13901  +
                                true,
       13902  +
                                _diagnostic_collector,
       13903  +
                            )
       13904  +
                        })(&mut _diagnostic_collector),
       13905  +
                        68 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13906  +
                            let effective_std_region = &mut context.effective_std_region;
       13907  +
                            let partition_result = &mut context.partition_result;
       13908  +
                            let url = &mut context.url;
       13909  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13910  +
                            let region_prefix = &mut context.region_prefix;
       13911  +
                            let hardware_type = &mut context.hardware_type;
       13912  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13913  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13914  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13915  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13916  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13917  +
                            let bucket_arn = &mut context.bucket_arn;
       13918  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13919  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13920  +
                            let arn_type = &mut context.arn_type;
       13921  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13922  +
                            let bucket_partition = &mut context.bucket_partition;
       13923  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13924  +
                            let outpost_type = &mut context.outpost_type;
       13925  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13926  +
                            let partition_resolver = &self.partition_resolver;
       13927  +
                            (if let Some(inner) = bucket_arn { inner.service() } else { return false }) == ("s3")
       13928  +
                        })(&mut _diagnostic_collector),
       13929  +
                        69 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13930  +
                            let effective_std_region = &mut context.effective_std_region;
       13931  +
                            let partition_result = &mut context.partition_result;
       13932  +
                            let url = &mut context.url;
       13933  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13934  +
                            let region_prefix = &mut context.region_prefix;
       13935  +
                            let hardware_type = &mut context.hardware_type;
       13936  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13937  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13938  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13939  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13940  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13941  +
                            let bucket_arn = &mut context.bucket_arn;
       13942  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13943  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13944  +
                            let arn_type = &mut context.arn_type;
       13945  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13946  +
                            let bucket_partition = &mut context.bucket_partition;
       13947  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13948  +
                            let outpost_type = &mut context.outpost_type;
       13949  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13950  +
                            let partition_resolver = &self.partition_resolver;
       13951  +
                            (if let Some(inner) = bucket_arn {
       13952  +
                                inner.account_id()
       13953  +
                            } else {
       13954  +
                                return false;
       13955  +
                            }) == ("")
       13956  +
                        })(&mut _diagnostic_collector),
       13957  +
                        70 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13958  +
                            let effective_std_region = &mut context.effective_std_region;
       13959  +
                            let partition_result = &mut context.partition_result;
       13960  +
                            let url = &mut context.url;
       13961  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13962  +
                            let region_prefix = &mut context.region_prefix;
       13963  +
                            let hardware_type = &mut context.hardware_type;
       13964  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13965  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13966  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13967  +
                            let s3_e_auth = &mut context.s3_e_auth;
       13968  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       13969  +
                            let bucket_arn = &mut context.bucket_arn;
       13970  +
                            let effective_arn_region = &mut context.effective_arn_region;
       13971  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       13972  +
                            let arn_type = &mut context.arn_type;
       13973  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       13974  +
                            let bucket_partition = &mut context.bucket_partition;
       13975  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       13976  +
                            let outpost_type = &mut context.outpost_type;
       13977  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       13978  +
                            let partition_resolver = &self.partition_resolver;
       13979  +
                            crate::endpoint_lib::host::is_valid_host_label(
       13980  +
                                if let Some(inner) = bucket_arn {
       13981  +
                                    inner.account_id()
       13982  +
                                } else {
       13983  +
                                    return false;
       13984  +
                                },
       13985  +
                                false,
       13986  +
                                _diagnostic_collector,
15092  13987   
                            )
15093         -
                        .build(),
       13988  +
                        })(&mut _diagnostic_collector),
       13989  +
                        71 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       13990  +
                            let effective_std_region = &mut context.effective_std_region;
       13991  +
                            let partition_result = &mut context.partition_result;
       13992  +
                            let url = &mut context.url;
       13993  +
                            let access_point_suffix = &mut context.access_point_suffix;
       13994  +
                            let region_prefix = &mut context.region_prefix;
       13995  +
                            let hardware_type = &mut context.hardware_type;
       13996  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       13997  +
                            let s3_e_ds = &mut context.s3_e_ds;
       13998  +
                            let s3_e_fips = &mut context.s3_e_fips;
       13999  +
                            let s3_e_auth = &mut context.s3_e_auth;
       14000  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       14001  +
                            let bucket_arn = &mut context.bucket_arn;
       14002  +
                            let effective_arn_region = &mut context.effective_arn_region;
       14003  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       14004  +
                            let arn_type = &mut context.arn_type;
       14005  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       14006  +
                            let bucket_partition = &mut context.bucket_partition;
       14007  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       14008  +
                            let outpost_type = &mut context.outpost_type;
       14009  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       14010  +
                            let partition_resolver = &self.partition_resolver;
       14011  +
                            crate::endpoint_lib::host::is_valid_host_label(
       14012  +
                                if let Some(param) = access_point_name_ssa_1 {
       14013  +
                                    param
       14014  +
                                } else {
       14015  +
                                    return false;
       14016  +
                                },
       14017  +
                                false,
       14018  +
                                _diagnostic_collector,
15094  14019   
                            )
       14020  +
                        })(&mut _diagnostic_collector),
       14021  +
                        72 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       14022  +
                            let effective_std_region = &mut context.effective_std_region;
       14023  +
                            let partition_result = &mut context.partition_result;
       14024  +
                            let url = &mut context.url;
       14025  +
                            let access_point_suffix = &mut context.access_point_suffix;
       14026  +
                            let region_prefix = &mut context.region_prefix;
       14027  +
                            let hardware_type = &mut context.hardware_type;
       14028  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       14029  +
                            let s3_e_ds = &mut context.s3_e_ds;
       14030  +
                            let s3_e_fips = &mut context.s3_e_fips;
       14031  +
                            let s3_e_auth = &mut context.s3_e_auth;
       14032  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       14033  +
                            let bucket_arn = &mut context.bucket_arn;
       14034  +
                            let effective_arn_region = &mut context.effective_arn_region;
       14035  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       14036  +
                            let arn_type = &mut context.arn_type;
       14037  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       14038  +
                            let bucket_partition = &mut context.bucket_partition;
       14039  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       14040  +
                            let outpost_type = &mut context.outpost_type;
       14041  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       14042  +
                            let partition_resolver = &self.partition_resolver;
       14043  +
                            {
       14044  +
                                *access_point_name_ssa_2 = if let Some(inner) = bucket_arn {
       14045  +
                                    inner.resource_id().get(3).cloned()
       14046  +
                                } else {
       14047  +
                                    return false;
15095  14048   
                                }
15096         -
            Self::Result92 => {
15097         -
                let effective_std_region = context
15098         -
                    .effective_std_region
15099         -
                    .as_ref()
15100         -
                    .map(|s| s.clone())
15101         -
                    .expect("Guaranteed to have a value by earlier checks.");
15102         -
                let partition_result = context
15103         -
                    .partition_result
15104         -
                    .as_ref()
15105         -
                    .map(|s| s.clone())
15106         -
                    .expect("Guaranteed to have a value by earlier checks.");
15107         -
                ::std::result::Result::Ok(
15108         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
15109         -
                        .url({
15110         -
                            let mut out = String::new();
15111         -
                            out.push_str("https://s3.dualstack.");
15112         -
                            #[allow(clippy::needless_borrow)]
15113         -
                            out.push_str(&effective_std_region.as_ref());
15114         -
                            out.push('.');
15115         -
                            #[allow(clippy::needless_borrow)]
15116         -
                            out.push_str(&partition_result.dns_suffix());
15117         -
                            out
15118         -
                        })
15119         -
                        .property(
15120         -
                            "authSchemes",
15121         -
                            vec![::aws_smithy_types::Document::from({
15122         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
15123         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
15124         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
15125         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
15126         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
15127         -
                                out
15128         -
                            })],
15129         -
                        )
15130         -
                        .build(),
15131         -
                )
       14049  +
                                .map(|inner| inner.into());
       14050  +
                                access_point_name_ssa_2.is_some()
15132  14051   
                            }
15133         -
            Self::Result93 => {
15134         -
                let effective_std_region = context
15135         -
                    .effective_std_region
15136         -
                    .as_ref()
15137         -
                    .map(|s| s.clone())
15138         -
                    .expect("Guaranteed to have a value by earlier checks.");
15139         -
                let url = context
15140         -
                    .url
15141         -
                    .as_ref()
15142         -
                    .map(|s| s.clone())
15143         -
                    .expect("Guaranteed to have a value by earlier checks.");
15144         -
                ::std::result::Result::Ok(
15145         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
15146         -
                        .url({
15147         -
                            let mut out = String::new();
15148         -
                            #[allow(clippy::needless_borrow)]
15149         -
                            out.push_str(&url.scheme());
15150         -
                            out.push_str("://");
15151         -
                            #[allow(clippy::needless_borrow)]
15152         -
                            out.push_str(&url.authority());
15153         -
                            #[allow(clippy::needless_borrow)]
15154         -
                            out.push_str(&url.path());
15155         -
                            out
15156         -
                        })
15157         -
                        .property(
15158         -
                            "authSchemes",
15159         -
                            vec![::aws_smithy_types::Document::from({
15160         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
15161         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
15162         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
15163         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
15164         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
15165         -
                                out
15166         -
                            })],
15167         -
                        )
15168         -
                        .build(),
       14052  +
                        })(&mut _diagnostic_collector),
       14053  +
                        73 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       14054  +
                            let effective_std_region = &mut context.effective_std_region;
       14055  +
                            let partition_result = &mut context.partition_result;
       14056  +
                            let url = &mut context.url;
       14057  +
                            let access_point_suffix = &mut context.access_point_suffix;
       14058  +
                            let region_prefix = &mut context.region_prefix;
       14059  +
                            let hardware_type = &mut context.hardware_type;
       14060  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       14061  +
                            let s3_e_ds = &mut context.s3_e_ds;
       14062  +
                            let s3_e_fips = &mut context.s3_e_fips;
       14063  +
                            let s3_e_auth = &mut context.s3_e_auth;
       14064  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       14065  +
                            let bucket_arn = &mut context.bucket_arn;
       14066  +
                            let effective_arn_region = &mut context.effective_arn_region;
       14067  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       14068  +
                            let arn_type = &mut context.arn_type;
       14069  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       14070  +
                            let bucket_partition = &mut context.bucket_partition;
       14071  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       14072  +
                            let outpost_type = &mut context.outpost_type;
       14073  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       14074  +
                            let partition_resolver = &self.partition_resolver;
       14075  +
                            crate::endpoint_lib::host::is_valid_host_label(
       14076  +
                                if let Some(param) = access_point_name_ssa_1 {
       14077  +
                                    param
       14078  +
                                } else {
       14079  +
                                    return false;
       14080  +
                                },
       14081  +
                                true,
       14082  +
                                _diagnostic_collector,
15169  14083   
                            )
15170         -
            }
15171         -
            Self::Result94 => {
15172         -
                let effective_std_region = context
15173         -
                    .effective_std_region
15174         -
                    .as_ref()
15175         -
                    .map(|s| s.clone())
15176         -
                    .expect("Guaranteed to have a value by earlier checks.");
15177         -
                let partition_result = context
15178         -
                    .partition_result
15179         -
                    .as_ref()
15180         -
                    .map(|s| s.clone())
15181         -
                    .expect("Guaranteed to have a value by earlier checks.");
15182         -
                ::std::result::Result::Ok(
15183         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
15184         -
                        .url({
15185         -
                            let mut out = String::new();
15186         -
                            out.push_str("https://s3.");
15187         -
                            #[allow(clippy::needless_borrow)]
15188         -
                            out.push_str(&partition_result.dns_suffix());
15189         -
                            out
       14084  +
                        })(&mut _diagnostic_collector),
       14085  +
                        74 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       14086  +
                            let effective_std_region = &mut context.effective_std_region;
       14087  +
                            let partition_result = &mut context.partition_result;
       14088  +
                            let url = &mut context.url;
       14089  +
                            let access_point_suffix = &mut context.access_point_suffix;
       14090  +
                            let region_prefix = &mut context.region_prefix;
       14091  +
                            let hardware_type = &mut context.hardware_type;
       14092  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       14093  +
                            let s3_e_ds = &mut context.s3_e_ds;
       14094  +
                            let s3_e_fips = &mut context.s3_e_fips;
       14095  +
                            let s3_e_auth = &mut context.s3_e_auth;
       14096  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       14097  +
                            let bucket_arn = &mut context.bucket_arn;
       14098  +
                            let effective_arn_region = &mut context.effective_arn_region;
       14099  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       14100  +
                            let arn_type = &mut context.arn_type;
       14101  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       14102  +
                            let bucket_partition = &mut context.bucket_partition;
       14103  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       14104  +
                            let outpost_type = &mut context.outpost_type;
       14105  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       14106  +
                            let partition_resolver = &self.partition_resolver;
       14107  +
                            (if let Some(inner) = bucket_arn { inner.partition() } else { return false })
       14108  +
                                == (if let Some(inner) = partition_result {
       14109  +
                                    inner.name()
       14110  +
                                } else {
       14111  +
                                    return false;
15190  14112   
                                })
15191         -
                        .property(
15192         -
                            "authSchemes",
15193         -
                            vec![::aws_smithy_types::Document::from({
15194         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
15195         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
15196         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
15197         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
15198         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
15199         -
                                out
15200         -
                            })],
15201         -
                        )
15202         -
                        .build(),
15203         -
                )
       14113  +
                        })(&mut _diagnostic_collector),
       14114  +
                        75 => (|_diagnostic_collector: &mut crate::endpoint_lib::diagnostic::DiagnosticCollector| -> bool {
       14115  +
                            let effective_std_region = &mut context.effective_std_region;
       14116  +
                            let partition_result = &mut context.partition_result;
       14117  +
                            let url = &mut context.url;
       14118  +
                            let access_point_suffix = &mut context.access_point_suffix;
       14119  +
                            let region_prefix = &mut context.region_prefix;
       14120  +
                            let hardware_type = &mut context.hardware_type;
       14121  +
                            let outpost_id_ssa_2 = &mut context.outpost_id_ssa_2;
       14122  +
                            let s3_e_ds = &mut context.s3_e_ds;
       14123  +
                            let s3_e_fips = &mut context.s3_e_fips;
       14124  +
                            let s3_e_auth = &mut context.s3_e_auth;
       14125  +
                            let s3express_availability_zone_id = &mut context.s3express_availability_zone_id;
       14126  +
                            let bucket_arn = &mut context.bucket_arn;
       14127  +
                            let effective_arn_region = &mut context.effective_arn_region;
       14128  +
                            let uri_encoded_bucket = &mut context.uri_encoded_bucket;
       14129  +
                            let arn_type = &mut context.arn_type;
       14130  +
                            let access_point_name_ssa_1 = &mut context.access_point_name_ssa_1;
       14131  +
                            let bucket_partition = &mut context.bucket_partition;
       14132  +
                            let outpost_id_ssa_1 = &mut context.outpost_id_ssa_1;
       14133  +
                            let outpost_type = &mut context.outpost_type;
       14134  +
                            let access_point_name_ssa_2 = &mut context.access_point_name_ssa_2;
       14135  +
                            let partition_resolver = &self.partition_resolver;
       14136  +
                            (outpost_type) == &mut Some(("accesspoint".into()))
       14137  +
                        })(&mut _diagnostic_collector),
       14138  +
                        _ => unreachable!("Invalid condition index"),
       14139  +
                    };
       14140  +
                    current_ref = if is_complement ^ condition_result { node.high_ref } else { node.low_ref };
15204  14141   
                }
15205         -
            Self::Result95 => {
15206         -
                let effective_std_region = context
15207         -
                    .effective_std_region
15208         -
                    .as_ref()
15209         -
                    .map(|s| s.clone())
15210         -
                    .expect("Guaranteed to have a value by earlier checks.");
15211         -
                let partition_result = context
15212         -
                    .partition_result
15213         -
                    .as_ref()
15214         -
                    .map(|s| s.clone())
15215         -
                    .expect("Guaranteed to have a value by earlier checks.");
15216         -
                ::std::result::Result::Ok(
15217         -
                    ::aws_smithy_types::endpoint::Endpoint::builder()
15218         -
                        .url({
15219         -
                            let mut out = String::new();
15220         -
                            out.push_str("https://s3.");
15221         -
                            #[allow(clippy::needless_borrow)]
15222         -
                            out.push_str(&effective_std_region.as_ref());
15223         -
                            out.push('.');
15224         -
                            #[allow(clippy::needless_borrow)]
15225         -
                            out.push_str(&partition_result.dns_suffix());
15226         -
                            out
15227         -
                        })
15228         -
                        .property(
15229         -
                            "authSchemes",
15230         -
                            vec![::aws_smithy_types::Document::from({
15231         -
                                let mut out = ::std::collections::HashMap::<String, ::aws_smithy_types::Document>::new();
15232         -
                                out.insert("disableDoubleEncoding".to_string(), true.into());
15233         -
                                out.insert("name".to_string(), "sigv4".to_string().into());
15234         -
                                out.insert("signingName".to_string(), "s3".to_string().into());
15235         -
                                out.insert("signingRegion".to_string(), effective_std_region.to_owned().into());
15236         -
                                out
15237         -
                            })],
15238         -
                        )
15239         -
                        .build(),
15240         -
                )
15241  14142   
            }
15242         -
            Self::Result96 => ::std::result::Result::Err(::aws_smithy_http::endpoint::ResolveEndpointError::message(
15243         -
                "A region must be set when sending requests to S3.".to_string(),
15244         -
            )),
15245  14143   
        }
15246  14144   
    }
15247  14145   
}
15248  14146   
15249         -
const RESULTS: [ResultEndpoint; 97] = [
15250         -
    ResultEndpoint::Result0,
15251         -
    ResultEndpoint::Result1,
15252         -
    ResultEndpoint::Result2,
15253         -
    ResultEndpoint::Result3,
15254         -
    ResultEndpoint::Result4,
15255         -
    ResultEndpoint::Result5,
15256         -
    ResultEndpoint::Result6,
15257         -
    ResultEndpoint::Result7,
15258         -
    ResultEndpoint::Result8,
15259         -
    ResultEndpoint::Result9,
15260         -
    ResultEndpoint::Result10,
15261         -
    ResultEndpoint::Result11,
15262         -
    ResultEndpoint::Result12,
15263         -
    ResultEndpoint::Result13,
15264         -
    ResultEndpoint::Result14,
15265         -
    ResultEndpoint::Result15,
15266         -
    ResultEndpoint::Result16,
15267         -
    ResultEndpoint::Result17,
15268         -
    ResultEndpoint::Result18,
15269         -
    ResultEndpoint::Result19,
15270         -
    ResultEndpoint::Result20,
15271         -
    ResultEndpoint::Result21,
15272         -
    ResultEndpoint::Result22,
15273         -
    ResultEndpoint::Result23,
15274         -
    ResultEndpoint::Result24,
15275         -
    ResultEndpoint::Result25,
15276         -
    ResultEndpoint::Result26,
15277         -
    ResultEndpoint::Result27,
15278         -
    ResultEndpoint::Result28,
15279         -
    ResultEndpoint::Result29,
15280         -
    ResultEndpoint::Result30,
15281         -
    ResultEndpoint::Result31,
15282         -
    ResultEndpoint::Result32,
15283         -
    ResultEndpoint::Result33,
15284         -
    ResultEndpoint::Result34,
15285         -
    ResultEndpoint::Result35,
15286         -
    ResultEndpoint::Result36,
15287         -
    ResultEndpoint::Result37,
15288         -
    ResultEndpoint::Result38,
15289         -
    ResultEndpoint::Result39,
15290         -
    ResultEndpoint::Result40,
15291         -
    ResultEndpoint::Result41,
15292         -
    ResultEndpoint::Result42,
15293         -
    ResultEndpoint::Result43,
15294         -
    ResultEndpoint::Result44,
15295         -
    ResultEndpoint::Result45,
15296         -
    ResultEndpoint::Result46,
15297         -
    ResultEndpoint::Result47,
15298         -
    ResultEndpoint::Result48,
15299         -
    ResultEndpoint::Result49,
15300         -
    ResultEndpoint::Result50,
15301         -
    ResultEndpoint::Result51,
15302         -
    ResultEndpoint::Result52,
15303         -
    ResultEndpoint::Result53,
15304         -
    ResultEndpoint::Result54,
15305         -
    ResultEndpoint::Result55,
15306         -
    ResultEndpoint::Result56,
15307         -
    ResultEndpoint::Result57,
15308         -
    ResultEndpoint::Result58,
15309         -
    ResultEndpoint::Result59,
15310         -
    ResultEndpoint::Result60,
15311         -
    ResultEndpoint::Result61,
15312         -
    ResultEndpoint::Result62,
15313         -
    ResultEndpoint::Result63,
15314         -
    ResultEndpoint::Result64,
15315         -
    ResultEndpoint::Result65,
15316         -
    ResultEndpoint::Result66,
15317         -
    ResultEndpoint::Result67,
15318         -
    ResultEndpoint::Result68,
15319         -
    ResultEndpoint::Result69,
15320         -
    ResultEndpoint::Result70,
15321         -
    ResultEndpoint::Result71,
15322         -
    ResultEndpoint::Result72,
15323         -
    ResultEndpoint::Result73,
15324         -
    ResultEndpoint::Result74,
15325         -
    ResultEndpoint::Result75,
15326         -
    ResultEndpoint::Result76,
15327         -
    ResultEndpoint::Result77,
15328         -
    ResultEndpoint::Result78,
15329         -
    ResultEndpoint::Result79,
15330         -
    ResultEndpoint::Result80,
15331         -
    ResultEndpoint::Result81,
15332         -
    ResultEndpoint::Result82,
15333         -
    ResultEndpoint::Result83,
15334         -
    ResultEndpoint::Result84,
15335         -
    ResultEndpoint::Result85,
15336         -
    ResultEndpoint::Result86,
15337         -
    ResultEndpoint::Result87,
15338         -
    ResultEndpoint::Result88,
15339         -
    ResultEndpoint::Result89,
15340         -
    ResultEndpoint::Result90,
15341         -
    ResultEndpoint::Result91,
15342         -
    ResultEndpoint::Result92,
15343         -
    ResultEndpoint::Result93,
15344         -
    ResultEndpoint::Result94,
15345         -
    ResultEndpoint::Result95,
15346         -
    ResultEndpoint::Result96,
15347         -
];
       14147  +
impl crate::config::endpoint::ResolveEndpoint for DefaultResolver {
       14148  +
    fn resolve_endpoint<'a>(&'a self, params: &'a crate::config::endpoint::Params) -> ::aws_smithy_runtime_api::client::endpoint::EndpointFuture<'a> {
       14149  +
        // Check single-entry cache
       14150  +
        if let Some((cached_params, cached_endpoint)) = &*self.endpoint_cache.lock().expect("endpoint cache lock poisoned") {
       14151  +
            if cached_params == params {
       14152  +
                return ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(::std::result::Result::Ok(cached_endpoint.clone()));
       14153  +
            }
       14154  +
        }
       14155  +
        let result = self.resolve_endpoint(params);
       14156  +
        if let ::std::result::Result::Ok(ref endpoint) = result {
       14157  +
            *self.endpoint_cache.lock().expect("endpoint cache lock poisoned") = Some((params.clone(), endpoint.clone()));
       14158  +
        }
       14159  +
        ::aws_smithy_runtime_api::client::endpoint::EndpointFuture::ready(result)
       14160  +
    }
       14161  +
}
15348  14162   
const NODES: [crate::endpoint_lib::bdd_interpreter::BddNode; 521] = [
15349  14163   
    crate::endpoint_lib::bdd_interpreter::BddNode {
15350  14164   
        condition_index: -1,
15351  14165   
        high_ref: 1,
15352  14166   
        low_ref: -1,
15353  14167   
    },
15354  14168   
    crate::endpoint_lib::bdd_interpreter::BddNode {
15355  14169   
        condition_index: 5,
15356  14170   
        high_ref: 100000002,
15357  14171   
        low_ref: 100000004,